行为数据处理方法、装置及服务器
技术领域
本申请涉及互联网数据处理技术领域,尤其涉及一种行为数据处理方法、装置及服务器。
背景技术
用户行为数据中包含了用户的偏好、行为习惯等重要信息,现有的用户行为数据基本是按具体的业务场景散落在不同的异构数据表中,对于预测用户行为难以发挥更大的价值,例如,要想对用户进行关联场景分析很困难,例如:下午在电影院看完电影后,很多人会在附近商圈直接就餐,但是零散的数据无法对用户未来的行为进行预测,用户行为数据的利用率较低。
发明内容
有鉴于此,本申请提供一种新的技术方案,可以将散落在不同业务场景的异构数据表中的用户行为数据进行整合,提高用户行为数据的利用率。
为实现上述目的,本申请提供技术方案如下:
根据本申请的第一方面,提出了一种行为数据处理方法,包括:
获取待处理的行为数据表;
在信息指示表中查找与所述待处理的行为数据表对应的至少一个字段名以及所述至少一个字段名各自对应的处理函数名,所述信息指示表用于记录两个以上异构的行为数据表各自对应的字段名以及字段名对应的处理函数名;
基于所述至少一个字段名以及至少一个字段名各自对应的处理函数名,将所述待处理的行为数据表的数据内容记录在所述用户行为明细表中,所述用户行为明细表用于记录所述两个以上异构的行为数据表的数据内容。
根据本申请的第二方面,提出了一种行为数据处理装置,包括:
数据获取单元,用于获取待处理的行为数据表;
查找单元,用于在信息指示表中查找与所述数据获取单元获取到的所述待处理的行为数据表对应的至少一个字段名以及所述至少一个字段名各自对应的处理函数名,所述信息指示表用于记录两个以上异构的行为数据表各自对应的字段名以及字段名对应的处理函数名;
第一记录单元,用于基于所述查找单元查找到的所述至少一个字段名以及至少一个字段名各自对应的处理函数名,将所述待处理的行为数据表的数据内容记录在所述用户行为明细表中,所述用户行为明细表用于记录所述两个以上异构的行为数据表的数据内容。
根据本申请的第三方面,提出了一种服务器,所述服务器包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器,用于获取待处理的行为数据表;
在信息指示表中查找与所述待处理的行为数据表对应的至少一个字段名以及所述至少一个字段名各自对应的处理函数名,所述信息指示表用于记录两个以上异构的行为数据表各自对应的字段名以及字段名对应的处理函数名;
基于所述至少一个字段名以及至少一个字段名各自对应的处理函数名,将所述待处理的行为数据表的数据内容记录在所述用户行为明细表中,所述用户行为明细表用于记录所述两个以上异构的行为数据表的数据内容。
由以上技术方案可见,本申请在信息指示表中查找与待处理的行为数据表对应的至少一个字段名以及至少一个字段名各自对应的处理函数名,基于至少一个字段名以及至少一个字段名各自对应的处理函数名,将待处理的行为数据表的数据内容记录在用户行为明细表中,从而可以将将散落在不同业务场景的异构的数据表中的用户行为数据进行整合,得到结构规整的用户行为明细表,由于通过用户行为明细表对不同业务场景的异构数据表进行关联,因此提高了用户行为数据的利用率。
附图说明
图1示出了根据本发明的一示例性实施例的行为数据处理方法的流程示意图;
图2示出了根据本发明的另一示例性实施例的行为数据处理方法的流程示意图;
图3示出了根据本发明的再一示例性实施例的行为数据处理方法的流程示意图;
图4示出了根据本发明的又一示例性实施例的行为数据处理方法的流程示意图;
图5示出了根据本发明的还一示例性实施例的行为数据处理方法的流程示意图;
图6示出了根据本发明的一示例性实施例的行为数据处理装置的结构示意图;
图7示出了根据本发明的另一示例性实施例的行为数据处理装置的结构示意图;
图8示出了根据本发明的一示例性实施例的服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请中涉及到的基础概念:
异构数据表:在存在多个数据表的情形下,多个数据表的表结构(例如,字段的个数、顺序、名称等)不相同,或者存在较大的差异。
同构数据表:在存在多个数据表的情形下,多个数据表的表结构完全相同(例如,字段的个数、顺序、名称等),或者仅存在较小的差异。
用户行为明细表:将用户行为数据按行为发生时间排序得到的一组数据。
为对本申请进行进一步说明,提供下列实施例:
图1示出了根据本发明的一示例性实施例的行为数据处理方法的流程示意图;如图1所示,包括如下步骤:
步骤101,获取待处理的行为数据表。
步骤102,在信息指示表中查找与该待处理的行为数据表对应的至少一个字段名以及至少一个字段名各自对应的处理函数名,其中,信息指示表用于记录两个以上异构的行为数据表各自对应的字段名以及字段名对应的处理函数名。
步骤103,基于至少一个字段名以及至少一个字段名各自对应的处理函数名,将待处理的行为数据表的数据内容记录在用户行为明细表中,其中,用户行为明细表用于记录所述两个以上异构的行为数据表的数据内容。
在步骤101中,待处理的行为数据表可以为不同用户在各种网站、安装在计算机上的应用软件、安装在手持设备上的应用程序及其他介质中进行操作时(搜索、点击、收藏、支付等等)产生的行为数据。
以三个异构的行为数据表进行示例性说明,该三个异构的行为数据表分别对应A场景的搜索行为、A场景的支付行为、B场景的评价行为,其中,A场景和B场景可以为用户通过手持设备上安装的应用程序对应的场景,例如,A场景对应口碑应用程序、B场景对应地图应用程序。其中,表1为用户在A场景的搜索行为,表2为用户在A场景的支付行为,表3为用户在B场景的评价行为。
表1
序号 |
字段名 |
注释 |
1 |
user_id |
用户身份标识 |
2 |
time |
时间 |
3 |
XX |
XX |
4 |
XX |
XX |
5 |
keyword |
搜索关键词 |
6 |
search_filter_type |
过滤方式 |
7 |
sort_rule |
排序规则 |
8 |
return_results |
返回结果数 |
9 |
XX |
XX |
10 |
XX |
XX |
表2
序号 |
字段名 |
注释 |
1 |
user_id |
用户身份标识 |
2 |
time |
时间 |
3 |
address_info |
地点 |
4 |
weather_info |
天气 |
5 |
XX |
XX |
6 |
shop_name |
店铺名 |
7 |
item_name |
商品名 |
8 |
pay_total_amt |
总金额 |
9 |
pay_real_amt |
实付金额 |
10 |
XX |
XX |
11 |
XX |
XX |
表3
序号 |
字段名 |
注释 |
1 |
userid |
用户身份标识 |
2 |
timestamp |
时间 |
3 |
XX |
XX |
4 |
XX |
XX |
5 |
shop_name |
店铺名 |
6 |
content |
评价内容 |
7 |
score |
评分 |
8 |
anonymous |
是否匿名评价 |
9 |
XX |
XX |
10 |
XX |
XX |
从上述表1-表3可以看出,由于不同来源(例如,网站、安装在计算机上的应用软件、安装在手持设备上的应用程序)的数据表的结构基本上不相同,因此表1-表3中的字段名和字段个数也互相有差异,可以通过本申请将散落在3个不同场景中的行为数据(搜索行为数据、支付行为数据、评价行为数据)进行关联。
在步骤102中,信息指示表可以用于两个以上异构的行为数据表各自对应的字段名以及字段名对应的处理函数名,信息指示表的表结构可以包括如下信息:
1、异构数据表的表信息,表信息例如为表名、表对应的场景名、表对应的行为名。
2、异构数据表中用来描述主体、时间、地点、天气、行为内容的字段名。对于行为内容的字段名,可以从异构数据表中根据需要选择较为重要的字段值作为对行为内容的描述,例如,对于搜索行为的行为内容,包括:关键词、过滤类型、排序规则、搜索来源等4个字段名。
3、异构数据表中用来描述主体、时间、地点、天气、行为内容的字段名对应的处理函数名,这些处理函数名在生成可执行代码的过程中会被使用。
信息指示表的表结构如表4所示。表4
通过上述表4所记录的信息指示表中的字段名,将上述表1-表3中相关的表信息、字段名以及字段名对应的处理函数名记录在信息指示表中,如表5所示。
表5
在步骤103中,通过上述表5中记录的场景名、异构数据表的来源所表达的行为名、字段名以及对应的处理函数名,将上述3个场景对应的异构数据表的数据内容记录在用户行为明细表中,从而可以得到用户行为明细表,用户行为明细表可以参照表6。
表6
由上述描述可知,本发明实施例基于信息指示表所记录的行为名、字段名以及对应的处理函数名,将两个以上异构的数据表的数据内容记录在用户行为明细表中,从而可以将将散落在不同业务场景的异构数据表中的用户行为数据进行整合,得到结构规整的用户行为明细表,由于通过用户行为明细表对不同业务场景的异构数据表进行关联,因此提高了用户行为数据的利用率。
图2示出了根据本发明的另一示例性实施例的行为数据处理方法的流程示意图;本实施例在上述实施例提供的行为数据处理方法的基础上,以如何确定用户行为明细表的字段为例进行示例性说明,如图2所示,包括如下步骤:
步骤201,确定两个以上异构的行为数据表中具有相同意义的字段以及两个以上异构的行为数据表对应的场景名。
步骤202,确定两个以上异构的行为数据表的行为名和行为内容的字段名。
步骤203,根据具有相同意义的字段、两个以上异构的行为数据表的场景名、两个以上异构的行为数据表的行为名和行为内容的字段名确定用户行为明细表的字段。
步骤204,确定针对两个以上异构的行为数据表的自定义字段。
步骤205,将自定义字段添加到用户行为明细表中。
本实施例中,请参见上述表1-表3,三个异构的行为数据表中相同意义的字段为:用户身份标识和时间,三个异构的行为数据表的场景分别为:口碑、高德地图,三个异构的行为数据表的行为名为:支付、搜索、评价,表1对应的行为内容的字段名为:关键词、过滤规则、排序规则、搜索来源,表2对应的行为内容的字段名为:店铺名、商品名、总金额、实付金额,表3对应的行为内容的字段名为:店铺名称、评价内容、评分、是否匿名。
根据相同意义的字段、两个以上异构数据表对应的场景名、两个以上异构的行为数据表的行为名和行为内容的字段确定用户行为明细表的字段,可包括6个字段:用户身份标识对应的字段、时间对应的字段、地点对应的字段、场景对应的字段、行为名对应的字段、行为内容对应的字段。
此外,本申请还可以根据用户行为明细表的需求,可以采用自定义的方式为用户行为明细表设定一个自定义字段,例如,天气对应的字段。
本实施例中,根据两个以上异构的行为数据表所涉及到的字段来确定用户行为明细表的字段,从而可以使用户行为明细表能够准确体现出用户行为数据所表现的场景,进而确保将不同场景下的用户行为数据进行关联,提高通过用户行为明细表对用户的行为进行预测的准确度。
图3示出了根据本发明的再一示例性实施例的行为数据处理方法的流程示意图;本实施例在上述实施例提供的行为数据处理方法的基础上,以如何确定信息指示表的表结构为例进行示例性说明,如图3所示,包括如下步骤:
步骤301,确定用户行为明细表的表结构。
步骤302,根据用户行为明细表的表结构确定信息指示表的表结构。
步骤303,基于信息指示表的表结构,将两个以上异构的行为数据表记录在信息指示表中。
在一实施例中,用户行为明细表的表结构可以根据对用户行为数据的处理需要来设定,例如上述表6中所示的用户身份标识、时间、地点、天气、场景、行为名、行为内容等字段。用户行为明细表的表结构如表7所示。
表7
字段 |
说明 |
user_id |
用户身份标识 |
time |
时间 |
address |
地点 |
weather |
天气 |
scene |
场景 |
behavior_name |
行为名 |
behavior_content |
行为内容 |
在一实施例中,可以通过对异构数据表进行分析得到异构数据表中用来描述主体、时间、地点、行为内容的字段名。对于行为内容对应的字段名,可以异构数据表中选择多个(例如,N个,N为正整数)较为重要的字段值作为对该行为内容的描述,并且在信息指示表中,需要同时维护字段名和字段注释2个信息;例如,N为4,对于支付行为,可以采用shop_name(店铺名)、item_name(商品名)、pay_total_amt(总金额)、pay_real_amt(实付金额)这4个字段名对应的字段值来描述支付行为,此外,在行为内容的字段值中,为保证可读性,还需要要展示上述4个字段名的注释,以“行为内容”对应的字段名和字段值为例:“店铺名:吉祥馄饨;商品名:荠菜冬笋馄饨;总金额:10;实付金额:10”。此外,本申请可以根据具体的场景需要,可以在上述4个字段名的基础上再增加诸如天气等字段名。信息指示表的表结构如上述表4所示。
在一实施例中,若相关信息在异构数据表中没有字段对其进行描述,则信息指示表中对应的字段值可留空。
在一实施例中,如果异构数据表中不存在描述主体、时间、地点、行为内容的字段,则处理函数的逻辑为:返回空值,空值将会作为信息指示表中对应字段的值,并将该函数名作为信息表中对应字段的值;
如果异构数据表中的字段值(例如,时间字段的值)可以直接赋值给信息指示表中对应的字段(例如,beh_time_name所描述的字段),则处理函数的逻辑是:直接返回异构数据表中的字段值,这个字段值会作为信息指示表中对应字段的值,并将该函数名作为信息指示表中对应字段的值;
如果异构数据表中的字段值(例如,用户身份标识字段的值)需要经过处理方可赋值给信息指示表中的字段(例如,beh_user_id_name所描述的字段),则处理函数的逻辑是:根据具体情况对来源字段值进行处理,这个值将会作为信息表中对应字段的值,并将该函数名作为信息表中对应字段的值。
本实施例中,根据用户行为明细表的表结构得到信息指示表的表结构,可以使信息指示表与用户行为明细表所记录的信息保持一致,并使信息指示表起到信息路由的功能,从而可以通过信息指示表对任意字段格式的异构的数据表进行处理,提高了处理数据的业务范围。
图4示出了根据本发明的又一示例性实施例的行为数据处理方法的流程示意图;本实施例在上述实施例提供的行为数据处理方法的基础上,以如何将生成用户行为明细表为例进行示例性说明,如图4所示,包括如下步骤:
步骤401,将信息指示表中所记录的表信息、字段名以及字段名对应的处理函数名读入内存。
步骤402,将信息指示表中的每一条数据填充到预设代码框架中的相应位置并生成一条可执行的数据库查询代码,得到全部数据库查询代码。
步骤403,对全部数据库查询代码做合并操作并增加建表语句,将两个以上异构的数据表中的数据内容汇总到用户行为明细表中。
本实施例中,可以从单个的行为数据表中获取数据表的代码框架。见表8所示,其中单引号引起来的中文描述部分,是需要进行填充的地方,concat函数用于把参数列表中的参数进行拼接,例如concat(‘a’,‘b’)结果是字符串ab。
表8
在一实施例中,可以将信息指示表中的数据读入内存,数据可以包括表信息、字段名以及字段名对应的处理函数名,对每一条数据,填充代码框架中相应位置并生成一条可执行的数据库查询代码。为了便于理解,举个例子:信息指示表中有M条数据,读入内存并保存为数组结构,用变量table_info表示该数组结构,那么table_info[1],table_info[2],……,table_info[M]分别存储了第1条数据内容,第2条数据内容,……,第M条数据内容;进一步地,以table_info[1]为例,table_info[1][column_name]存储了第1条数据内容中字段column_name的值,其中,column_name是一个示例,不是具体值,具体来说,table_info[1][‘table_name’]存储了第1条数据内容中“数据表的表名”,……,table_info[1][‘beh_user_id_name’]存储了第1条数据内容中“数据表中描述用户身份标识的字段名”,……,table_info[1][‘beh_key_attri_name1’]存储了第1条数据内容中“数据表中描述行为内容的重要字段名1”,table_info[1][‘beh_key_attri_desc1’]存储了第1条数据内容中“数据表中描述行为内容的重要字段名1的注释”;同时,table_info[1][‘function_name_beh_user_id’]存储了第1条数据内容中“对数据表中用户身份标识字段值进行处理的函数名”,依次类推。将这些信息填充到代码框架中。以第1条数据为例,填充得到的伪代码见表9所示。
表9
异构的数据表为2条时的示例伪代码如表10所示。
表10
本实施例中,通过对所有数据库查询代码做合并操作并增加建表语句,从而可以将散落在不同的异构的行为数据表中的数据内容汇总到同一张用户行为明细总表中。
图5示出了根据本发明的还一示例性实施例的行为数据处理方法的流程示意图;本实施例在上述实施例提供的行为数据处理方法的基础上,以如何通过用户行为明细表展示用户的行为流水数据为例进行示例性说明,如图5所示,包括如下步骤:
步骤501,确定待查询的用户身份标识。
步骤502,在用户行为明细表中查找待查询的用户身份标识对应的全部数据。
步骤503,将查询得到的全部数据按照时间排序,得到用户身份标识对应的行为流水数据。
步骤504,展示行为流水数据。
例如,如果需要查找用户身份标识为1001的用户的行为流水数据,则可以在确定1001后,在用户行为明细表中查找1001对应的全部数据,例如通过从上述表6的查询,可以得到关于1001的行为流水数据如表11所示。
表11
本实施例中,通过待查询的用户身份标识从用户行为明细总表中查找用户的全部数据,并将查询得到的全部数据按时间排序,从而得到用户的行为流水数据,通过行为流水数据将同一个用户散落在不同业务场景的异构数据表中的用户行为数据进行整合为结构规整的同构数据,从而可以对待查询的用户的行为进行预测。
图6为根据本发明的一示例性实施例的行为数据处理装置的结构示意图;如图6所示,该行为数据处理装置可以包括:数据获取单元61、查找单元62、第一记录单元63。其中:
数据获取单元61,用于获取待处理的行为数据表;
查找单元62,用于在信息指示表中查找与数据获取单元61获取到的待处理的行为数据表对应的至少一个字段名以及至少一个字段名各自对应的处理函数名,信息指示表用于记录两个以上异构的行为数据表各自对应的字段名以及字段名对应的处理函数名;
第一记录单元63,用于基于查找单元62查找到的至少一个字段名以及至少一个字段名各自对应的处理函数名,将待处理的行为数据表的数据内容记录在用户行为明细表中,用户行为明细表用于记录两个以上异构的行为数据表的数据内容。
图7示出了根据本发明的另一示例性实施例的行为数据处理装置的结构示意图,如图7所示,在上述图6所示实施例的基础上,在一实施例中,装置还包括:
第一确定单元64,用于在所述第一记录单元63基于所述至少一个字段名以及至少一个字段名各自对应的处理函数名,将所述待处理的行为数据表的数据内容记录在所述用户行为明细表中之前,确定两个以上异构的行为数据表中具有相同意义的字段以及两个以上异构的行为数据表对应的场景名;
第二确定单元65,用于确定两个以上异构的行为数据表的行为名和行为内的字段名;
第三确定单元66,用于根据具有相同意义的字段、两个以上异构的行为数据表的场景名、两个以上异构的行为数据表的行为名和行为内容的字段名确定用户行为明细表的字段名。
在一实施例中,装置还包括:
第四确定单元67,用于确定针对两个以上异构的行为数据表的自定义字段;
添加单元68,用于将自定义字段添加到用户行为明细表中。
在一实施例中,装置还包括:
第五确定单元69,用于确定用户行为明细表的表结构;
第六确定单元70,用于根据第五确定单元69确定的用户行为明细表的表结构确定信息指示表的表结构;
第七确定单元71,用于基于第六确定单元70确定的信息指示表的表结构,将两个以上异构的行为数据表记录在信息指示表中。
在一实施例中,第一记录单元63包括:
读取子单元631,用于将信息指示表中所记录的表信息、字段名以及字段名对应的处理函数名读入内存;
填充子单元632,用于将信息指示表中的每一条数据填充到预设代码框架中的相应位置并生成一条可执行的数据库查询代码,得到全部数据库查询代码;
处理子单元633,用于对全部数据库查询代码做合并操作并增加建表语句,将两个以上异构的行为数据表中的数据内容汇总到用户行为明细表中。
在一实施例中,装置还包括:
第八确定单元72,用于确定待查询的用户身份标识;
第二查找单元73,用于在用户行为明细表中查找待查询的用户身份标识对应的全部数据;
排序单元74,用于将第二查找单元73查询得到的全部数据按照时间排序,得到用户身份标识对应的行为流水数据;
展示单元75,用于展示排序单元74排序后的行为流水数据。
对应于上述的行为数据处理方法,本申请还提出了图8所示的根据本发明的一示例性实施例的服务器的示意结构图。请参考图8,在硬件层面,该服务器包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成行为数据处理装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
其中,处理器,用于获取待处理的行为数据表;
在信息指示表中查找与待处理的行为数据表对应的至少一个字段名以及至少一个字段名各自对应的处理函数名,信息指示表用于记录两个以上异构的行为数据表各自对应的字段名以及字段名对应的处理函数名;
基于至少一个字段名以及至少一个字段名各自对应的处理函数名,将待处理的行为数据表的数据内容记录在用户行为明细表中,用户行为明细表用于记录两个以上异构的行为数据表的数据内容。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。