具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本申请保护的范围。
由于本申请是在利用元数据的基础上,进行的数据上报、统计和展现,为了便于理解本申请的技术方案,首先对本申请提供的处理上报数据的方法中的元数据进行介绍。在数据仓库领域中,元数据被定义为:描述数据及其环境的数据。一般来说,元数据有两方面的用途:首先,元数据能提供基于用户的信息,如记录数据项的业务描述信息的元数据能帮助用户使用数据,例如:记录字段“user_id”业务描述信息的元数据为“用户号码”。其次,元数据能支持***对数据的管理和维护,如关于数据项存储方法的元数据能支持***以最有效的方式访问数据,例如:关于字段“get_score”(获得分数)的统计类型的元数据为“求和”。
下面通过具体实施例进一步详细介绍本申请提供的处理上报数据的方法。
实施例一
本申请实施例一提供一种处理上报数据的方法,如图2所示,包括以下步骤:
步骤201,服务器获得上报的数据及其统计类型;该上报的数据及其统计类型可以在同一个上报的数据包中获得,也可以先后获得。并且该数据的统计类型即可以是通过直接接收上报统计类型获得,也可以根据所述上报的数据的上报次序查找存储的上报次序与统计类型的对应关系间接获得,通过后一种方式可以省略统计类型的上报。
步骤202,服务器根据所述数据的统计类型自动统计所述上报的数据。
具体的,所述数据的统计类型通过接收上报获得时,所述步骤202中使用所述数据的统计类型自动统计所述上报的数据。所述数据的统计类型根据所述上报的数据的上报次序查找存储的上报次序与统计类型的对应关系获得时,所述步骤202中根据查找获得的所述上报的数据的统计类型自动统计所述上报的数据。
所述统计类型中可以包括用户号码,与所述用户号码对应的统计方式为统计用户号码的个数获得用户数量,统计用户号码出现的次数获得用户次数。
所述统计类型中还可以包括维度和指标,所述维度为数据分类参数,所述指标具体包括以下运算中的一种或多种:对上报的数据根据所述维度进行求和计算、求差计算、求积运算、求商运算或者将上述运算中的多种结合的运算。
本申请实施例一提供的方法如图3所示,在所述步骤202之后,还可以包括:
步骤203,服务器展示所述上报的数据的统计结果。
本申请实施例一提供的方法如图4所示,步骤202之后,还可以包括:
步骤204,服务器使用数据展示列表存储所述上报的数据、上报的所述数据的统计类型以及所述上报的数据的统计结果中的一种或多种。
需要说明的是,所述步骤204中对所述上报的数据、上报的数据的统计类型的存储可以在收到这些信息后任何时间内进行,如在所述步骤201之后、步骤202之后或者步骤203之后。所述步骤204中对所述上报的数据的统计结果的存储可以在完成相应的统计后进行,如在步骤202或步骤203之后。
实施例二
本申请实施例二提供一种处理上报数据的方法,以应用于抽奖类网络应用为例,如图5所示,该方法包括以下步骤:
步骤501,根据用户的抽奖行为产生抽奖数据。
在同一个企业中存在多个不同的业务***,用于处理各个方面的业务。本申请实施例中以一个电子商务网站中的用户管理***为例进行说明,其中业务数据为用户的中奖数据。
用户管理***中根据用户的抽奖行为产生抽奖数据,该抽奖数据中包括但不限于以下数据:买方用户ID、中奖等级和对应的所获得的分数。根据上述抽奖数据可得到如表3所示的一条数据记录:
表3、中奖数据记录
买方用户ID |
中奖等级 |
获得分数 |
10001 |
1 |
1000 |
步骤502,用户管理***根据中奖数据记录,按照本地设置的上报结构生成待上报的中奖数据。
本申请实施例中以用户管理***中设置的中奖数据上报结构如表4所示为例进行说明,其中包括字段名、字段类型、字段长度以及统计类别。
表4
序号 |
字段名 |
中文名 |
字段类型 |
字段长度 |
统计类型 |
1 |
user_id |
用户号码 |
Integer(整数) |
8 |
用户号码 |
2 |
lottery_level |
中奖等级 |
Integer |
8 |
维度 |
3 |
get_score |
获得分数 |
Integer |
8 |
求和 |
与表3中不同的是,表4中列出的向数据统计分析***上报的订单数据中还需要包括各字段分别对应的统计类型,即user_id对应的用户号码统计类型、中奖等级对应的维度统计类型以及获得分数对应的求和统计类型。以第三个字段“获得分数”为例进行说明,其中,字段名为“get_score”;字段业务含义为获得分数、字段类型为Integer(整型)(对于其它的数据,还可以为字符型、整数日期型和字符串日期型等等)、字段长度为8、字段统计方法为求和。
需要说明的是,上述统计类型和字段名是上报数据中必须的信息,其余的字段类型、字段长度为可选信息。本申请实施例中,可以作为可选信息的还包括且不限于:业务的开始时间、结束时间、联系人等等。
表4所示的上报结构仅为本申请实施例中一种优选的实施方式,具体上报结构的改变不应视为对本申请保护范围的限制。
需要说明的是,服务器在生成与中奖数据上报结构(例如表4所示)对应的上报数据时,可以获得上报结构中的所有字段名的数据,也可以只获得部分字段名的数据。
对于后一种情况,如图6所示,以下对这种情况下上报数据的生成进行进一步详细的阐述,包括:
步骤601、服务器获得中奖数据记录中的字段名,根据字段名查找数据上报结构,获得与字段名对应的上报结构。
例如,基于表4中的中奖数据记录上报结构,本申请实施例中以获得第二个字段为例进行说明,第二个字段为Lottery-level中奖等级。根据所获得的字段的字段名在如表4所示的上报结构表查找与所获得的字段名匹配的基于元数据的上报结构,当查找到匹配的字段名时,获得该字段名对应的基于元数据的上报结构。
本申请实施例中该基于元数据的上报结构如表5所示。
表5、基于元数据的上报结构
字段名 |
字段业务含义 |
字段类型 |
字段长度 |
字段统计方法 |
Lottery-level |
中奖等级 |
integer |
8 |
维度 |
步骤602、服务器将中奖记录数据中与字段名Lottery-level对应的字段内容填充到与字段名对应的上报结构中,得到与字段名对应的上报数据。
步骤603、服务器将获得的各字段名对应的上报数据集成得到中奖记录数据对应的上报数据。
具体的,本步骤中得到的上报数据可以包含如表4所示的所有上报数据内容,也可以仅包括其中一部分,如表6所示:
表6
序号 |
字段名 |
中文名 |
字段类型 |
字段长度 |
统计类型 |
1 |
user_id |
用户号码 |
Integer |
8 |
用户号码 |
2 |
lottery_level |
中奖等级 |
Integer |
8 |
维度 |
步骤604、判断该中奖数据记录中是否还存在未添加到对应的上报结构中的字段内容。
当判断结果为存在时,转到步骤601。
此处还需要说明的是,当服务器提供的业务不同时,其产生的业务数据可能不同,上报业务数据需要进行的统计以及统计时需要考虑的参数可能也会各不相同。考虑到这个原因,本申请实施例中针对不同的业务类别还可以设置不同的上报数据结构。
如图7所示,以下对这种情况下上报数据的生成进行进一步详细的阐述,包括:
步骤701、服务器获得中奖数据记录的业务类别标识。
步骤702、服务器查找存储的上报结构与业务类别的对应关系,获得与中奖数据记录对应的基于元数据的上报结构。
具体地,不同的上报业务数据需要进行的统计以及统计时需要考虑的参数可能各不相同。考虑到这个原因,本申请实施例中针对不同的业务类别设置不同的上报数据结构。
本申请实施例中,进行中奖数据记录的服务器可以仅执行这一项数据记录功能,但同时还可能会执行其它数据记录功能,因此,对于前一种情况,由于服务器可以直接得到存储的基于元数据的上报结构;对于后一种情况,服务器在获得数据记录后,还需要进一步查询存储的数据记录与基于元数据的上报结构的对应关系,例如本步骤中服务器需要查找与中奖数据记录对应的上报数据结构。
具体的,服务器根据所获得的中奖数据记录的业务类型在如表7所示的上报结构表查找与中奖数据类型匹配的基于元数据的上报结构。
表7
业务类型 |
上报数据结构 |
中奖数据记录 |
No1 |
订单数据记录 |
No2 |
、、、 |
、、、 |
表7中的No1代表如表4所示的数据上报结构,服务器通过查找表7得到与中奖数据记录对应的如表4所示的数据上报结构。
步骤703、将中奖数据记录中的数据添加到数据上报结构中对应的字段,生成待上报的数据。
步骤503,服务器登录数据统计分析***,将待上报的中奖数据上报到数据统计分析***。
步骤504,数据统计分析***存储服务器上报的数据,并根据对应上报的统计类型查找对应的统计方式,并根据该统计方式对上报的数据进行统计。
优选地,本申请实施例中,数据统计分析***存储服务器上报的数据时可以直接根据接收到的上报的数据结构进行存储,即仍然按照表6所示的结构进行数据存储。当然,数据分析***也可以根据需要使用其它形式进行数据存储。
数据统计分析***中预先存储统计类型与统计方式的对应关系。针对不同业务类型的业务数据,可能存在即使统计类型相同,对应的统计方式也会有不同的现象。因此,优选地,数据统计分析***中统计类型与统计方式的对应关系首先是以业务类型为区分,如表8所示:
表8
业务类型 |
统计类型 |
统计方式 |
中奖数据记录 |
用户号码 |
号码次数求和、号码数量求和 |
中奖数据记录 |
求和 |
求和 |
订单数据记录 |
用户号码 |
同一号码次数求和 |
、、、 |
、、、 |
、、、 |
需要说明的是,表8中不同业务类型对应不同统计方式的关系可以在同一表格中显示,也可以在不同表格中显示,还可以通过非表格形式记录,本申请文件中只是以表8的形式为例进行说明。
本步骤中,数据统计分析***根据接收到的上报数据的类型查找表8,进一步根据上表数据的统计类型查找对应的统计方式进行数据统计,得到相应的统计结果。
以表4中所示的上报数据结构为例,数据统计分析***查找表8得知统计类型用户号码对应的统计方式为求和用户号码个数作为用户人数、求和用户号码数量作为用户次数,根据对统计类型求和将同一等级的分数进行求和得到表8所示的获得分数。
需要说明的是,统计类型维度对应的上报数据可以为各种,即维度作为统计类型的作用在于不进行实际运算,而是区分不同种类的数据,例如中奖等级1与2作为维度的作用在于分别对两种中奖类别的数据进行统计。统计类型求和为统计类型指标中的一种,除求和外,还可以包括求差、求积、求商或者将上述运算方式结合的其它统计方式。本实施例中以求和作为具体例子进行介绍。
表9
步骤505,数据统计分析***展示统计结果。
具体的,本实施例中数据统计分析***的统计结果可以直接进行展示,而不需要进行其它处理。例如上述表9中的统计结果,由于已经基本满足了用户所需要了解的数据,因此可以作为展示数据直接展示,而不需要再进行展示前数据处理。
实施例三
本申请实施例三提供一种处理上报数据的方法,以该方法在购物类网络应用中的使用为例,如图8所示,包括以下步骤:
步骤801,根据买方用户的订购在订单管理***中产生订单数据。
需要说明的是,在同一个企业中存在多个不同的业务***,用于处理各个方面的业务。例如,如图9所示,一个电子商务网站可以包括***:用户管理***(包括卖方用户的管理***和买方用户的管理***)、商品管理***、订单管理***和支付管理***等。不同的业务***会产程不同的业务数据。本申请实施例一中以一个电子商务网站中的订单管理***为例进行说明,对于订单管理***中可能产生的多种业务数据,本申请实施例中以订单数据为例进行说明。
对于订单管理***中订单数据,假定为订单管理***根据用户的订购产生的订单,该订单中包括但不限于以下订单数据:买方用户ID、卖方用户ID、买方用户所订购的商品ID、单价和订购数量等等。例如表10所示的一条订单数据记录:
表10、订单数据记录
买方用户ID |
卖方用户ID |
订购商品ID |
商品单价(/元) |
订购数量 |
10001 |
123456 |
102 |
50.00 |
1 |
其中,买方用户ID、卖方用户ID以及商品ID仅为对用户和商品进行标识的一种优选实施方式,具体标识方式的不同不应视为对本申请保护范围的限制,例如:采用名称进行标识。
需要说明的是,表10所示的订单结构仅为本申请中的一种优选实施方式,凡是能够实现订单数据记录的方式均属于本申请的保护范围,例如:对表10所示的订单中的记录内容和记录形式的改变。此外,订单数据的承载并不限于订单和由此生成的订单数据记录,凡是能够实现订单数据承载的均属于本申请的保护范围,例如:以文本的形式实现对订单数据的记录。
步骤802、订单管理***根据订单数据记录,按照本地设置的上报结构生成待上报的订单数据。
各个***中上报的业务数据的结构不同,例如:在订单管理***中上报的订单数据包括:买方用户ID和卖方用户ID,买方用户所订购的商品ID、单价、数量以及支付状态等,而在用户管理***中上报的中奖数据包括:买方用户ID、中奖等级和对应的所获得的分数。由此可知,两个业务***所要上报的字段数目不同,且每个字段的字段长度也不同(例如:订单数据中的支付状态和中奖数据中的商品ID,其中支付状态可以“1”或“0”进行标识),因此需要根据自身上报业务数据的特点利用元数据设置不同的上报结构。
本申请实施例中,对于订单数据中的每一个字段,订单数据的上报结构包括但不限于:每一个字段的字段名、字段业务含义、字段类型、字段长度、字段统计方法、字段展现方法和上报基本信息。以下以第一个字段“买方用户ID为10001”为例进行说明,其中,字段名可以为user1_id;字段业务含义为买方用户标识、字段类型为integer(整形)(对于其它的数据,还可以为字符型、整数日期型和字符串日期型等等)、字段长度为8、字段统计方法为用户标识(此处,由于无需对用户标识进行统计,因此可以用字段业务含义替换,当然也可以将该字段置为空,只要业务***和数据库共知即可)。上报基本信息包括但不限于:业务的开始时间、结束时间、联系人等等。
需要说明的是,本申请实施例中服务器在生成与订单数据上报结构对应的上报数据时,与图6所示的生成方式相似,服务器可以获得上报结构中的所有字段名的数据,也可以只获得部分字段名的数据。如图9所示,包括:
步骤901,服务器获得订单数据记录中的字段名,根据字段名查找数据上报结构,获得与字段名对应的上报结构。
基于表10中的订单数据,本申请实施例中以获得第一个字段为例进行说明,第一个字段为买方用户ID,且该买方用户ID为10001。
根据所获得的字段的字段名获得与字段名对应的上报结构,如表11所示:
表11、基于元数据的上报结构
数据产生时间 |
字段名 |
字段业务含义 |
字段类型 |
字段长度 |
字段统计方法 |
2009-01-01 |
user1_id |
买方用户标识 |
integer |
8 |
买方用户标识 |
步骤902,服务器将订单数据中与字段名userl_id对应的字段内容填充到与字段名对应的上报结构中,得到与字段名对应的上报数据。
步骤903、服务器将获得的各字段名对应的上报数据集成得到中奖记录数据对应的上报数据。
具体的,得到的待上报数据如表12所示:
表12、待上报的订单数据
字段名 |
字段业务含义 |
字段类型 |
字段长度 |
字段统计方法 |
字段内容 |
user1_id |
买方用户标识 |
Integer |
8 |
买方用户标识 |
10001 |
User2_id |
卖方用户ID |
Integer |
8 |
卖方用户标识 |
123456 |
Product-id |
订购商品ID |
Integer |
8 |
维度 |
102 |
Price |
商品价格 |
Float |
16 |
求和 |
50.00 |
amount |
订购数量 |
Integer |
8 |
求和 |
1 |
步骤904、判断该订单数据记录中是否还存在未添加到对应的上报结构中的字段内容。当判断结果为存在时,转到步骤901。
同时,此处还需要说明,服务器提供的业务不同时,其产生的业务数据可能不同,上报业务数据需要进行的统计、统计时需要考虑的参数可能也会各不相同。考虑到这个原因,本申请实施例中针对不同的业务类别还可以而设置不同的上报数据结构。
因此,与图7所示相似,本申请实施例中在生成订单数据的待上报数据时,服务器执行图10所示步骤:
步骤1001,服务器获得订单数据的业务类别标识。
步骤1002、服务器查找存储的上报结构与业务类别的对应关系,获得与订单数据对应的基于元数据的上报结构。
具体地,不同的上报业务数据需要进行的统计、统计时需要考虑的参数可能各不相同。考虑到这个原因,本申请实施例中针对不同的业务类别设置不同的上报数据结构。
本申请实施例中,服务器可以仅执行订单数据这一项数据记录功能,但同时还可能会执行其它数据记录功能,因此,对于前一种情况,由于服务器可以直接得到存储的基于元数据的上报结构;对于后一种情况,服务器在获得数据记录后,还需要进一步查询存储的数据记录与基于元数据的上报结构的对应关系,例如本步骤中服务器需要查找与订单数据对应的上报数据结构。
具体的,服务器根据所获得的订单数据的业务类型在如表7所示的上报结构表查找与订单数据匹配的基于元数据的上报结构。
表7
业务类型 |
上报数据结构 |
中奖数据记录 |
No1 |
订单数据记录 |
No2 |
、、、 |
、、、 |
表7中的No2代表订单数据对应的数据上报结构,服务器通过查找表7得到与订单数据记录对应的数据上报结构。
步骤1003、将订单数据中的数据添加到数据上报结构中对应的字段,生成待上报的数据。
步骤803、服务器登录数据统计分析***,将待上报的订单数据上报到数据统计分析***。
步骤804、数据统计分析***存储服务器上报的数据,根据与数据一起上报的统计类型查找对应的统计方式进行数据统计。
具体的,本申请实施例中,优选地,数据统计分析***存储服务器上报的数据时可以直接根据接收到的上报的数据结构进行存储。当然,数据分析***也可以根据需要使用其它形式进行数据存储。
数据统计分析***中预先存储统计类型与统计方式的对应关系,由于不同业务类型的业务数据可能及时统计类型相同,对应的统计方式也会有不同,因此,优选地,数据统计分析***中统计类型与统计方式的对应关系首先是以业务类型为区分,如表8所示:
表8
业务类型 |
统计类型 |
统计方式 |
中奖数据记录 |
用户号码 |
号码次数求和、号码数量求和 |
中奖数据记录 |
求和 |
求和 |
订单数据记录 |
用户号码 |
同一号码次数求和 |
、、、 |
、、、 |
、、、 |
需要说明的是,表8中不同业务类型对应不同统计方式的关系可以在同一表格中显示,也可以在不同表格中显示,还可以通过非表格形式记录,本申请文件中只是以表8的形式为例进行说明。
本步骤中,数据统计分析***根据接收到的上报数据的类型查找表8,进一步根据上表数据的统计类型查找对应的统计方式进行数据统计,得到相应的统计结果。
步骤805、数据统计分析***展示统计结果。
具体的,本实施例中数据统计分析***的统计结果可以直接进行展示,而不需要进行其它处理。
实施例四
本申请实施例四还提供一种处理上报数据的方法,如图11所示,包括以下步骤:
步骤1101,用户管理***与数据统计分析***中配置数据上报的次序,数据统计分析***中还配置与数据上报次序对应的统计类型。
具体的,以该方法应用于抽奖类网络应用为例,在用户管理***与数据统计分析***中配置相同的数据上报次序,在数据统计分析***中还配置与数据上报次序对应的统计类型,例如上报数据的字段名依次为user_id、lottery_level和get_score,即首先上报user_id数据,然后上报lottery_level数据,最后上报get_score数据,然后重新按照user_id数据、lottery_level数据、get_score数据的顺序上报。在数据统计分析***中配置与数据上报次序对应的统计类型为用户号码、维度和求和,然后依次循环。
步骤1102,用户管理***根据用户的抽奖行为产生抽奖数据,根据配置的数据上报的次序向数据统计分析***上报数据。
步骤1103,数据统计分析***接收到用户管理***上报的数据,根据数据上报的次序查找对应的统计类型进行数据统计。
例如当上报的数据只有user_id、lottery_level和get_score3种时,且上报次序为user_id、lottery_level和get_score时,则第一个上报的数据为user_id数据,第二个上报的数据为lottery_level数据,第三个为get_score数据,第四个为user_id数据,数据统计分析***根据该次序获知第一个上报的数据的统计类型为用户号码,进行号码次数求和、号码数量求和统计;第二个上报的数据的统计类型为维度,仅作为维度存储;第三个上报的数据的统计类型为求和,对第三个上报的数据进行求和统计;后续根据该次序循环进行数据统计。
步骤1104、数据统计分析***展示统计结果。
需要说明的是,本申请实施例中展示统计结果时不再需要对统计数据进行处理,而是将统计结果直接展示,即本申请实施例中数据统计分析***存储统计结果所使用的列表与展示列表为同一列表,对数据的统计根据展示列表的需要可以进行统计规则调整。
实施例五
本申请实施例五提供一种服务器,其上配置有数据统计分析***,如图12所示,该服务器包括:
获得单元10,用于获得上报的数据及其统计类型;具体的,该获得单元10通过接收上报获得所述数据的统计类型,或者根据所述上报的数据的上报次序查找存储的上报次序与统计类型的对应关系获得所述数据的统计类型。
统计单元20,用于根据上报的所述数据的统计类型自动统计所述上报的数据。
如图13所示,所述统计单元20包括:
第一统计子单元21,用于使用上报的所述数据的统计类型自动统计所述上报的数据。
所述统计单元20还包括:
存储子单元22,用于存储上报次序与统计类型的对应关系;
查找子单元23,与所述存储子单元22连接,用于根据上报的所述数据的上报次序在所述存储子单元中查找对应的统计类型;
第二统计子单元24,与所述查找子单元23连接,用于根据所述查找子单元查找得到的统计类型自动统计所述上报的数据。
需要说明的是,统计单元20可以同时包括第一统计子单元21、存储子单元22、查找子单元23和第二统计子单元24;也可以仅包括第一统计子单元21;或者仅包括存储子单元22、查找子单元23和第二统计子单元24。
所述统计类型可包括用户号码;
与所述用户号码对应的统计方式为统计用户号码的个数获得用户数量,统计用户号码出现的次数获得用户次数。
所述统计类型可包括维度和指标,所述维度为数据分类参数,所述指标具体包括以下运算中的一种或多种:
对上报的数据根据所述维度进行求和计算、求差计算、求积运算、求商运算或者将上述运算中的多种结合的运算。
如图14所示,本申请实施例提供的服务器还包括:
展示单元30,用于展示所述上报的数据的统计结果。
如图15示,本申请实施例提供的服务器还包括:
存储单元40,用于使用数据展示列表存储所述上报的数据、所述数据的统计类型、以及所述上报的数据的统计结果中的一种或多种。具体的,展示单元30展示统计结果时使用存储单元40存储统计结果时使用的数据展示列表,对于展示列表中数据的存储排列不需要进行处理,直接展示该数据展示列表。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台服务器(可以是移动终端,个人计算机或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。