本发明涉及大数据分析技术领域,具体地涉及一种数据标识匹配方法及装置、存储介质、计算设备。
背景技术:
在目前的大数据分析领域中,会收集海量的数据。但是在实际应用中,往往会对多个彼此独立的数据源进行数据收集,这就导致数据之间通常因数据隔离的存在而无法匹配或关联。例如,不同数据来源的数据之间是互相隔离的,即使是表征同一用户或者同一对象的数据,往往因为数据来源的不同而无法关联或匹配起来,这就为后续的数据分析带来了困难。例如在利用广告投放数据和交易流水数据分析广告投放的消费转化情况时,需要分析被投放广告的用户中有多少用户进行了与投放的广告相关的消费,但由于商户投放广告产生的广告投放数据和用户消费产生的交易流水数据通常产生于不同的平台,数据来源并不相同,因此交易流水数据和广告投放数据无法直接关联或匹配,也就无法进行获得广告投放的消费转化情况。
亟需一种数据标识匹配方法,能够关联或匹配存在数据隔离的不同数据,以便后续的数据分析。
技术实现要素:
本发明解决的技术问题是如何关联或匹配来源互相独立的不同数据。
为解决上述技术问题,本发明实施例提供一种数据标识匹配方法,所述方法包括:获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;根据所述交易商户信息确定各个交易流水记录的交易商圈;根据所述设备位置信息确定各个广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的商圈;根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定交易用户标识与设备标识之间的匹配关系。
可选的,所述根据所述交易商户信息确定各个交易流水记录的交易商圈包括:获取预设商圈数据,所述预设商圈数据包括多个商圈的商户信息;对于每条交易流水记录,读取所述交易流水记录的交易商户信息;在所述预设商圈数据中查找与所述交易商户信息相同的商户信息;将找到的商户信息所属的商圈记为所述交易流水记录的交易商圈。
可选的,在获取预设商圈数据之前,还包括:获取预设非交易时间段;删除所述交易流水数据中交易时间落入所述预设非交易时间段的交易流水记录。
可选的,根据所述设备位置信息确定各个广告投放记录的投放商圈包括:获取预设商圈数据,所述预设商圈数据包括多个商圈的位置信息;对于每条广告投放记录,读取所述被投放广告的用户设备的设备位置信息;根据所述被投放广告的用户设备的设备位置信息和商圈的位置信息,在所述预设商圈数据中查找与所述被投放广告的用户设备之间的距离小于等于预设距离的商圈;将找到的商圈记为所述广告投放记录的投放商圈。
可选的,根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系包括:根据所述交易商圈处理所述交易流水数据,以得到第一处理数据,所述第一处理数据中的每条数据项包括对应的所述交易流水记录的交易商圈、交易时间和交易用户标识;根据所述投放商圈处理所述广告投放数据,以得到第二处理数据,所述第二处理数据中的每条数据项包括对应的广告投放记录的投放商圈、投放时间和设备标识;分析所述第一处理数据和第二处理数据,如果所述交易流水记录的交易商圈与所述广告投放记录的投放商圈相同,且所述交易流水记录的交易时间与所述广告投放记录的投放时间的时间差小于等于预设时间差,则确定所述交易流水记录的交易用户标识与所述广告投放记录的设备标识是匹配的。
可选的,所述分析所述第一处理数据和第二处理数据包括:步骤a,设置匹配列表,所述匹配列表包括多个子表,子表与商圈一一对应;步骤b,按时间顺序读取所述第一处理数据或第二处理数据中的各个数据项,所述数据项包括时间、商圈、标识,所述时间为交易的交易时间或广告投放的投放时间,所述商圈为交易的交易商圈或广告投放的投放商圈,所述标识为交易的交易用户标识或广告投放的设备标识;步骤c,根据所述数据项中的商圈确定所述数据项将要加入的子表;步骤d,计算当前读取的数据项的时间与所述子表中当前第一条数据项的时间的时间差;步骤e,如果所述时间差小于等于所述预设时间差,则将所述数据项中的时间和标识加入所述子表,并返回步骤b;步骤f,如果所述时间差大于所述预设时间差,则确定所述子表中各个数据项的交易用户标识与设备标识是互相匹配的,清空所述子表,将所述数据项中的时间和标识加入所述子表并返回步骤b。
可选的,所述方法还包括:统计每一交易用户标识与各个设备标识的匹配次数。
可选的,所述方法还包括:分析所述交易流水数据以确定多个交易用户,各个交易用户具有对应的交易用户标识;根据所述交易用户标识与设备标识之间的匹配关系,确定所述交易用户的设备;根据所述交易用户的设备标识向所述交易用户的设备投放广告。
本发明实施例还提供一种数据标识匹配装置,所述装置包括:接收模块,用于获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;第一确定模块,用于根据所述交易商户信息确定各个交易流水记录的交易商圈;第二确定模块,用于根据所述设备位置信息确定各个广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的投放商圈;匹配模块,用于根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系。
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述数据标识匹配方法的步骤。
本发明实施例还提供一种计算设备,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述数据标识匹配方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例提供一种数据标识匹配方法,所述方法包括:获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;根据所述交易商户信息确定所述交易流水记录的交易商圈;根据所述设备位置信息确定所述广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的商圈;根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水记录和广告投放记录进行分析,以确定所述交易流水记录的交易用户标识与所述广告投放记录的设备标识之间的匹配关系。通过本发明实施例提供的方案,第三方平台可以分析用户消费产生的交易流水记录和商户投放广告产生的广告投放记录,通过交易流水记录中的交易商户信息得到该条交易流水记录产生时交易用户所在的商圈,也即交易商圈,并通过广告投放记录中的设备位置信息得到该条广告投放记录产生时被投放广告的用户设备所在的商圈,也即投放商圈,如果交易的交易商圈与广告投放的投放商圈是匹配的,并且交易时间与投放时间是匹配的,则可以认为对应的交易用户标识和设备标识是匹配的。通过对多条交易流水记录的交易用户标识和多条广告投放记录的设备标识的多次匹配操作,可以使得到的交易用户标识与设备标识之间的匹配关系的可靠性越来越高,从而能够接近真实的匹配关系。
进一步地,本发明实施例中可以设置匹配列表,所述匹配列表包括多个子表,子表与商圈一一对应,按时间依次读取所述第一处理数据或第二处理数据的数据项,所述数据项中的商圈确定所述数据项将要加入的子表,从而可以确定每一子表中的交易用户标识和设备标识都对应同一个商圈,如果当前读取的数据项的时间与所述子表中当前第一条数据项的时间的时间差大于所述预设时间差,则确定所述子表中各个数据项的交易用户标识与设备标识是互相匹配的,从而可以得到当前子表中交易用户标识与设备标识的匹配关系,再清空所述子表,将所述数据项中的时间和标识加入所述子表,再读取下一条数据项,不断循环,由此可以判断多条交易流水记录的交易用户标识和多条广告投放记录的广告投放标识的对应关系。这种判断方式的效率较高,花费的时间较少。
进一步地,由于本发明实施例的方案中得到了交易用户标识和设备标识之间的匹配关系,则可以在广告投放之前,先通过分析交易流水数据,确定特定的被投放广告的交易用户,然后根据交易用户的交易用户标识确定该交易用户的设备标识,从而可以向该交易用户投放广告。
附图说明
图1是本发明实施例中一种数据标识匹配方法的流程图。
图2是本发明实施例中确定一个商圈的geohash编码坐标组的方法的示意图。
图3是图1中步骤s104中一种具体实施方式的流程图。
图4是图3中步骤s303中一种具体实施方式的流程图。
图5是本发明实施例中的一种数据标识匹配装置的结构示意图。
具体实施方式
如背景技术中记载的,在目前的大数据分析领域中,会收集海量的数据。但是在实际应用中,往往会对多个彼此独立的数据源进行数据收集,这就导致数据之间通常因数据隔离的存在而无法匹配或关联。例如,不同数据来源的数据之间是互相隔离的,即使是表征同一用户或者同一对象的数据,往往因为数据来源的不同而无法关联或匹配起来,这就为后续的数据分析带来了困难。例如在利用广告投放数据和交易流水数据分析广告投放的消费转化情况时,需要分析被投放广告的用户中有多少用户进行了与投放的广告相关的消费,但由于商户投放广告产生的广告投放数据和用户消费产生的交易流水数据通常产生于不同的平台,数据来源并不相同,因此交易流水数据和广告投放数据无法直接关联或匹配,也就无法进行获得广告投放的消费转化情况。
为解决上述技术问题,本发明实施例提供一种数据标识匹配方法,所述方法包括:获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;根据所述交易商户信息确定所述交易流水记录的交易商圈;根据所述设备位置信息确定所述广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的商圈;根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水记录和广告投放记录进行分析,以确定所述交易流水记录的交易用户标识与所述广告投放记录的设备标识之间的匹配关系。通过本发明实施例提供的方案,第三方平台可以分析用户消费产生的交易流水记录和商户投放广告产生的广告投放记录,通过交易流水记录中的交易商户信息得到该条交易流水记录产生时交易用户所在的商圈,也即交易商圈,并通过广告投放记录中的设备位置信息得到该条广告投放记录产生时被投放广告的用户设备所在的商圈,也即投放商圈,如果交易的交易商圈与广告投放的投放商圈是匹配的,并且交易时间与投放时间是匹配的,则可以认为对应的交易用户标识和设备标识是匹配的。通过对多条交易流水记录的交易用户标识和多条广告投放记录的设备标识的多次匹配操作,可以使得到的交易用户标识与设备标识之间的匹配关系的可靠性越来越高,从而能够接近真实的匹配关系。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参考图1,图1是本发明实施例中一种数据标识匹配方法的流程图,该方法可以由第三方平台执行,该第三方平台与交易服务器和广告投放服务器耦接。其中,交易服务器用于提供交易相关的结算服务并记录交易相关数据,广告投放服务器用于提供广告投放的数据服务并记录广告投放的相关数据。第三方平台能够从交易服务器获取交易流水数据,并能够从广告投放服务器获取广告投放数据。
图1所述的数据标识匹配方法可以包括如下步骤:
步骤s101:获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;
步骤s102:根据所述交易商户信息确定各个交易流水记录的交易商圈;
步骤s103:根据所述设备位置信息确定各个广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的商圈;
步骤s104:根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系。
在步骤s101的具体实施中,获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识。
具体而言,第三方平台可以获取到交易流水数据,所述交易流水数据包含了多个交易商户(例如商店、饭店等)和多个交易用户(例如持卡的个人等)之间的因交易行为产生的交易流水记录。所述交易流水数据可以存储在第三方平台的内部,也可以存储在第三方平台的外部且第三方平台可以通过网络访问等方式获取。通常情况下,交易商户与交易用户进行一次交易会产生一条交易流水记录,但并不限于此。
第三方平台通过读取每条交易流水记录,可以获得该次交易的具体内容,该具体内容包括但不限于:交易时间、交易商户信息、交易用户标识。
所述交易时间可以是所述交易商户和交易用户进行交易的时间。所述交易商户信息可以是商户标识、商户终端标识、商户名称,也可以是其他可以唯一确定交易商户的信息。所述交易用户标识可以是交易用户的银行账号,也可以是其他可以唯一确定交易用户的信息。
第三方平台还可以获取到广告投放数据,所述广告投放数据包含了多个投放广告的商户和多个被投放广告的用户之间因广告投放行为产生的广告投放记录。所述广告投放记录可以存储在第三方平台的内部,也可以存储在第三方平台的外部且第三方平台可以通过网络访问等方式获取。通常情况下,商户向用户设备投放一次广告会产生一条广告投放记录,但并不限于此。
第三方平台通过读取每条广告投放记录,可以获得该次广告投放的具体内容,该具体内容包括但不限于:广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识。
所述广告投放的投放时间可以是商户向用户设备投放广告的时间。所述被投放广告的用户设备的设备位置信息可以是商户向用户设备投放广告时所述用户设备所在的位置的信息,所述位置信息可以是坐标信息,也可以是其他可以确定所述用户设备所在位置的信息。所述设备标识可以是被投放广告的用户设备的设备id,也可以是其他可以唯一确定被投放广告的用户设备的信息。
在步骤s102的具体实施中,根据所述交易商户信息确定各个交易流水记录的交易商圈。
具体而言,所述交易流水数据中通常不包括所述交易的商圈的信息,也即,交易流水记录中通常不包含交易商圈的信息。为了能够通过交易商圈和投放商圈之间的匹配关系以及交易时间和投放时间之间的关系来确定交易用户标识与设备标识是否具有匹配关系,需要确定每条交易流水记录中交易商户所在的商圈。
步骤s102中根据所述交易商户信息确定各个交易流水记录的交易商圈具体可以包括以下步骤:步骤一:获取预设商圈数据,所述预设商圈数据包括多个商圈的商户信息;步骤二:对于每条交易流水记录,读取所述交易流水记录的交易商户信息;步骤三:在所述预设商圈数据中查找与所述交易商户信息相同的商户信息;步骤四:将找到的商户信息所属的商圈记为所述交易流水记录的交易商圈。
在本发明的一个非限制性实施例中,在根据所述交易商户信息确定各个交易流水记录的交易商圈之前,还可以包括:确定预设商圈。
进一步地,确定预设商圈可以包括以下步骤:步骤a:根据所述交易流水数据确定交易用户和交易商户;步骤b:根据交易商户之间的关联关系建立极大团,所述关联关系是指同一个交易用户在预设时间内与多个交易商户均有交易发生时,认为该多个交易商户之间具有关联关系;步骤c:根据极大团之间重合的交易商户将极大团合并为商圈。从而可以得到多个预设商圈。
进一步地,在根据所述交易流水数据确定交易用户和交易商户之前还可以包括:数据清洗。具体而言,可以剔除非消费类交易流水数据、小额交易流水数据、线上交易流水数据等,但并不限于此。
进一步地,根据交易商户之间的关联关系建立极大团可以包括以下步骤:计算同一个交易用户在预设时间内在多个交易商户交易的时间间隔;根据所述时间间隔确定所述多个交易商户之间的权重;将权重高于预设标准值的交易商户合并为极大团。
进一步地,根据极大团之间重合的交易商户将极大团合并为商圈可以包括:定义极大团之间的相似度函数;计算各个极大团之间的相似度;将相似度高于相似度标准值的极大团合并为极大团组;计算各个极大团组之间的相关度,所述相关度为两两极大团组之间重合的交易商户数量与交易商户总数的比值;将相关度高于相关度标准值的极大团组合并为商圈。
进一步地,第三方平台可以获取到预设商圈数据,所述预设商圈数据包含了多个商圈的商圈信息,每一商圈的商圈信息可以包括该商圈中的所有商户的商户信息,还可以包括能够唯一确定该商圈的商圈标识。其中,所述商户信息可以是商户标识、商户终端标识、商户名称,也可以是其他可以唯一确定一个商户的信息。
进一步地,第三方平台可以读取每条交易流水记录中的交易商户信息,此处的交易商户信息可以参照步骤s101中关于交易商户信息的描述,此处不再赘述。
进一步地,第三方平台将每一交易流水记录中的交易商户信息依次与各个商圈的商圈信息进行比对,将包含与所述交易流水记录中的交易商户信息相同的商户信息的商圈作为所述交易流水记录的交易商圈。比对的交易商户信息和商圈的商户信息可以是相同维度的信息,例如交易商户信息是商户名称,商圈的商户信息也是商户名称。
进一步地,在上述步骤一之前,也即在获取预设商圈数据之前,还可以包括:获取预设非交易时间段;删除所述交易流水数据中交易时间落入所述预设非交易时间段的交易流水记录。采用这样的方式可以剔除明显无关的数据,减小数据处理量。例如,考虑到在凌晨0点整至凌晨6点这一时间段中,商圈中的商户通常为歇业状态,在这一时间段中并不会因消费等交易行为与交易用户产生交易流水记录,由此,可以设置预设非交易时间段为凌晨0点整至凌晨6点整,并将交易流水数据中交易时间在凌晨0点整至凌晨6点整之间的交易流水记录删除,只读取剩下的交易流水数据中的交易流水记录的交易商户信息。由此可以减少后续读取交易流水记录的数量,减轻第三方平台的工作负担。
在本发明的一非限制性实施例中,可以通过hadoopstreaming算法获得各个交易流水记录的交易商圈。hadoopstreaming算法是将计算任务抽象成map、shuffleandsort和reduce三个阶段。
具体而言,第三方平台获取多条交易流水记录,将多条交易流水记录和预设商圈数据作为hadoopstreaming算法的输入,在hadoopstreaming算法中的map阶段,过滤凌晨0点整至凌晨6点整的交易流水记录,提取剩下的交易流水记录的交易商户信息、交易时间和交易用户标识,作为第一预处理数据,第一预处理数据包含多个数据项,数据项与交易流水记录一一对应,数据项可以包括对应交易流水记录的交易商户信息、交易时间和交易用户标识,例如:交易商户信息#2\t交易时间\t交易用户标识;
进一步地,第三方平台在hadoopstreaming算法中的map阶段也可以获取预设的商圈数据,提取各个商圈数据中所有的商户信息和商圈标识,作为第二预处理数据,第二预处理数据包含多个数据项,数据项与商户信息一一对应,所述数据项可以包括对应的商户信息和该商户所属商圈的商圈标识,例如:商户信息#1\t商圈标识。
进一步地,在hadoopstreaming算法中shuffleandsort阶段,第三方平台可以根据\t前的字段排序,#之前的字段分块存储,也即,将#之前的字段作为排序的主键,#1或者#2作为排序的辅键,对第一预处理数据和第二预处理数据进行排序。
进一步地,在hadoopstreaming算法中reduce阶段,将包含相同的交易商户信息和商户信息的第一预处理数据和第二预处理数据切分到同一个reducer中,在每一个reducer中,包含#1的数据项可以排在包含#2的数据项之前,依次读取reducer中的数据项,读到#1,清空字典d,将该#1所属的数据项中的商户信息和商圈标识作为放入字典d中,读到#2,如果该#2所属的数据项中的交易商户信息在字典d中,则输出商圈标识#交易时间\t交易用户标识#2。由于商圈标识可以唯一确定一个商圈,也就确定了交易流水数据中各条交易流水记录的交易商圈。
在步骤s103的具体实施中,根据所述设备位置信息确定各个广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的商圈。
具体而言,所述广告投放数据中通常不包括每条广告投放时被投放广告的用户设备所在的商圈的信息,也即广告投放记录中通常不包含投放商圈的信息。为了能够通过交易商圈和投放商圈之间的匹配关系以及交易时间和投放时间之间的关系来确定交易用户标识与设备标识是否具有匹配关系,需要确定每条广告投放记录中被投放广告的用户设备所在的商圈。
步骤s103中根据所述设备位置信息确定各个广告投放记录的投放商圈具体可以包括以下步骤:步骤一:获取预设商圈数据,所述预设商圈数据包括多个商圈的位置信息;步骤二:对于每条广告投放记录,读取所述被投放广告的用户设备的设备位置信息;步骤三:根据所述被投放广告的用户设备的设备位置信息和商圈的位置信息,在所述预设商圈数据中查找与所述被投放广告的用户设备之间的距离小于等于预设距离的商圈;步骤四:将找到的商圈记为所述广告投放记录的投放商圈。
进一步地,第三方平台可以获取到所述预设商圈数据,所述商圈数据包含了多个商圈的商圈信息,每一商圈的商圈信息可以包括该商圈的位置信息,也可以包括商圈的其他信息。所述商圈的位置信息可以商圈的坐标信息,例如,可以是商圈中心点的坐标信息,还可以是其他可以确定商圈所在位置的坐标信息。
进一步地,第三方平台可以读取每条广告投放记录中的被投放广告的用户设备的设备位置信息,此处的设备位置信息可以参照步骤s101中关于被投放广告的用户设备的设备位置信息的描述,此处不再赘述。
进一步地,考虑到商圈通常具有一定的范围,通过预设距离可以确定各个商圈的范围,所述预设距离可以由第三方平台自己设置,也可以有第三方平台从外部获取。
进一步地,可以根据所述被投放广告的用户设备的设备位置信息和商圈的位置信息计算所述被投放广告的用户设备与各个商圈的距离,将与用户设备的距离小于等于预设距离的商圈作为所述投放商圈。
进一步地,如果在所述预设商圈数据中未能确定某一广告投放记录的投放商圈,则删除该条广告投放记录。
在本发明的一非限制性实施例中,可以通过geohash算法确定各个广告投放记录的投放商圈。
具体而言,第三方平台可以根据预设距离确定geohash算法中的编码长度。例如,所述预设距离为600米,则geohash算法中的编码长度为6。
进一步地,第三方平台可以获取各个商圈的商圈中心点的坐标,通常所述商圈中心点的坐标使用百度坐标系表示,将各个商圈中心点在百度坐标系中的坐标转化为火星坐标系与世界坐标系中对应的坐标,由此可以获得商圈中心点的3个坐标值,分别将3个坐标值均转化为对应的geohash编码值,以获得该商圈中心点的3个geohash编码坐标,每一个编码坐标表示一个矩形范围,例如,6位编码长度的geohash编码坐标可以表示0.34平方千米的范围。
进一步地,商圈中心点的3个geohash编码坐标,对于每个geohash编码坐标,取临近的8个geohash编码坐标,参考图2,图2中201为商圈中心点的geohash编码坐标表示的范围,图2中202为8个临近的geohash编码坐标表示的范围。由此,每个商圈的坐标信息可以用一个geohash编码坐标组表示,一个geohash编码坐标组中包含27个geohash编码坐标。该geohash编码坐标组可以限定一个新的矩形范围,即为该商圈的范围。
进一步地,将每一广告投放记录中设备坐标信息用geohash编码坐标表示,并与各个商圈的geohash编码坐标组中的geohash编码坐标进行比对,包含被投放广告的用户设备的geohash编码坐标的geohash编码坐标组所属的商圈即为该条广告投放记录的投放商圈。
进一步地,也可以将多条广告投放记录和各个商圈的商圈信息作为hadoopstreaming算法的输入,所述商圈信息可以包括商圈的geohash编码坐标组和商圈标识,通过hadoopstreaming算法确定广告投放数据中各条广告投放记录的投放商圈。
在步骤s104的具体实施中,根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系。
参考图3,图3示出了步骤s104中根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系的具体步骤,具体可以包括:
步骤s301:根据所述交易商圈处理所述交易流水数据,以得到第一处理数据,所述第一处理数据中的每条数据项包括对应的交易流水记录的交易商圈、交易时间和交易用户标识;
步骤s302:根据所述投放商圈处理所述广告投放数据,以得到所述广告投放记录的第二处理数据,所述第二处理数据中的每条数据项包括对应的广告投放记录的投放商圈、投放时间和设备标识;
步骤s303:分析所述第一处理数据和第二处理数据,如果所述交易流水记录的交易商圈与所述广告投放记录的投放商圈相同,且所述交易流水记录的交易时间与所述广告投放记录的投放时间的时间差小于等于预设时间差,则确定所述交易流水记录的交易用户标识与所述广告投放记录的设备标识是匹配的。
在步骤s301的具体实施中,可以将各个交易流水记录中的交易商户信息替换为对应的交易商圈以得到第一处理数据,也可以将各个交易流水记录和对应的交易商圈作为hadoopstreaming算法的输入,以得到第一处理数据。
在步骤s302的具体实施中,可以将各个广告投放记录中的设备坐标信息替换为对应的投放商圈以得到第二处理数据,也可以将各个广告投放记录和对应的投放商圈作为hadoopstreaming算法的输入,以得到第二处理数据。
参考图4,图4示出了图3中步骤s303的具体步骤,此时步骤s303可以包括:
步骤a,设置匹配列表,所述匹配列表包括多个子表,子表与商圈一一对应;
步骤b,按时间顺序读取所述第一处理数据或所述第二处理数据中的数据项,所述数据项包括时间、商圈、标识,所述时间为交易的交易时间或广告投放的投放时间,所述商圈为交易的交易商圈或广告投放的投放商圈,所述标识为交易的交易用户标识或广告投放的设备标识;
步骤c,根据所述数据项中的商圈确定所述数据项将要加入的子表;
步骤d,计算当前读取的数据项的时间与所述子表中当前第一条数据项的时间的时间差;
步骤e,如果所述时间差小于等于所述预设时间差,则将所述数据项中的时间和标识加入所述子表,并返回步骤b;
步骤f,如果所述时间差大于所述预设时间差,则确定所述子表中各个数据项的交易用户标识与设备标识是互相匹配的,清空所述子表,将所述数据项中的时间和标识加入所述子表并返回步骤b。
在步骤b中,如果无法获取到新的数据项,也即第一处理数据和第二处理数据中的全部数据项都已经被读取,则结束分析过程。
进一步地,本发明实施例中可以设置匹配列表,所述匹配列表包括多个子表,子表与商圈一一对应,按时间顺序读取第一处理数据或第二处理数据中的数据项,所述数据项中包括商圈、时间、标识,根据所述数据项中的商圈确定所述数据项将要加入的子表,从而可以使得每一子表中的交易用户标识和设备标识都对应同一个商圈,当前读取的数据项的时间与所述子表中当前第一条数据项的时间的时间差大于所述预设时间差,则确定所述子表中各个数据项的交易用户标识与设备标识是互相匹配的,从而可以得到当前子表中交易用户标识与设备标识的匹配关系,再清空所述子表,将所述数据项中的时间和标识加入所述子表,再读取下一条数据项,不断循环,由此可以判断多条交易流水记录的交易用户标识和多条广告投放记录的广告投放标识的对应关系。
进一步地,第三方平台可以为每一交易用户标识设置一个设备标识集合,交易用户标识与设备标识集合一一对应。确定所述子表中各个数据项的交易用户标识与设备标识是互相匹配的之后,将当前子表中的设备标识去重后加入当前子表中的各个交易用户标识对应的设备标识集合中,再清空所述子表,将所述数据项中的时间和标识加入所述子表,作为所述子表中的第一条数据项。
进一步地,对于每一交易用户标识的设备标识集合,可以计算各个设备标识与该交易用户标识的匹配次数,从而可以将匹配次数最高的设备标识与该交易用户标识视为属于同一用户。
进一步地,在本发明实施例的方案中,还可以包括:分析所述交易流水数据以确定多个交易用户,各个交易用户具有对应的交易用户标识;根据所述交易用户标识与设备标识之间的匹配关系,确定所述交易用户的设备标识;根据所述交易用户的设备标识向所述交易用户的设备投放广告。。
具体而言,通过分析所述交易流水数据可以确定交易用户对各个商户的消费偏好。也即,可以根据交易流水数据中的交易金额和交易次数等信息确定各个交易用户对商户的消费偏好,实现对交易用户的画像,从而可以进一步筛选出对某个或某些商户有消费偏好的交易用户,也即,确定了营销对象。
进一步地,根据上文中得到的交易用户标识和设备用户标识之间的匹配关系,可以根据上述筛选出的交易用户的交易用户标识匹配到其对应的设备标识,从而商户可以根据对其有消费偏好的交易用户的设备标识找到该交易用户的设备投放广告,相比于不考虑消费偏好而直接向各个用户投放广告的方案,本发明实施例中的方案能够极大地提高营销效果。
由此,本发明实施例中可以根据商户投放广告的需求制定不同的投放方案,基于投放方案并根据交易流水数据确定符合投放需求的用户,由于交易用户标识与设备标识之间的匹配关系是已知的,从而可以确定符合投放需求的用户的设备标识,并根据用户的设备标识向该设备投放广告。
需要说明的是,虽然以上实施例是以交易流水数据和广告投放数据为例进行说明的,但并不限于此,例如被分析的还可以是交易流水数据和推送数据,具体而言,该推送数据包括推送信息(例如新闻、短视频等)的多条推送投放记录,推送投放记录包括推送信息的投放时间、被投放的用户设备的设备位置信息和数据标识,类似地,可以通过交易时间与投放时间的匹配关系、交易的交易商圈和信息推送的投放商圈的匹配关系来确定用户标识与设备标识之间的匹配关系。
图5是本发明实施例的一种数据标识匹配装置的结构示意图,所述数据标识匹配装置可以包括接收模块51、第一确定模块52、第二确定模块53、匹配模块54,其中:
接收模块51用于获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;
第一确定模块52用于根据所述交易商户信息确定各个交易流水记录的交易商圈;
第二确定模块53用于根据所述设备位置信息确定各个广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的投放商圈;
匹配模块54用于根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系。
本领域技术人员理解,本实施例中的数据标识匹配装置可以用于实施上述图1至图3所示实施例中的数据标识匹配方法。
进一步地,本发明实施例还公开一种存储介质,其上存储有计算机程序,计算机程序被处理器运行时执行上述图1至图4所示实施例中的方法技术方案。所述存储介质可以包括诸如非挥发性(non-volatile)存储器或者非瞬态(non-transitory)存储器等计算机可读存储介质。存储介质可以包括但不限于rom、ram、磁盘或光盘等。
进一步地,本发明实施例还公开一种计算设备,包括存储器和处理器,存储器上存储有能够在处理器上运行的计算机程序,处理器运行计算机程序时执行上述图1至图4所示实施例中的方法技术方案。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
1.一种数据标识匹配方法,其特征在于,包括:
获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;
根据所述交易商户信息确定各个交易流水记录的交易商圈;
根据所述设备位置信息确定各个广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的商圈;
根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定交易用户标识与设备标识之间的匹配关系。
2.根据权利要求1所述的数据标识匹配方法,其特征在于,所述根据所述交易商户信息确定各个交易流水记录的交易商圈包括:
获取预设商圈数据,所述预设商圈数据包括多个商圈的商户信息;
对于每条交易流水记录,读取所述交易流水记录的交易商户信息;
在所述预设商圈数据中查找与所述交易商户信息相同的商户信息;
将找到的商户信息所属的商圈记为所述交易流水记录的交易商圈。
3.根据权利要求2所述的数据标识匹配方法,其特征在于,读在获取预设商圈数据之前,还包括:
获取预设非交易时间段;
删除所述交易流水数据中交易时间落入所述预设非交易时间段的交易流水记录。
4.根据权利要求1所述的数据标识匹配方法,其特征在于,根据所述设备位置信息确定各个广告投放记录的投放商圈包括:
获取预设商圈数据,所述预设商圈数据包括多个商圈的位置信息;
对于每条广告投放记录,读取所述被投放广告的用户设备的设备位置信息;根据所述被投放广告的用户设备的设备位置信息和商圈的位置信息,在所述预设商圈数据中查找与所述被投放广告的用户设备之间的距离小于等于预设距离的商圈;
将找到的商圈记为所述广告投放记录的投放商圈。
5.根据权利要求1所述的数据标识匹配方法,其特征在于,根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系包括:
根据所述交易商圈处理所述交易流水数据,以得到第一处理数据,所述第一处理数据中的每条数据项包括对应的交易流水记录的交易商圈、交易时间和交易用户标识;
根据所述投放商圈处理所述广告投放记录,以得到第二处理数据,所述第二处理数据包括中的每条数据项包括对应的广告投放记录的投放商圈、投放时间和设备标识;
分析所述第一处理数据和第二处理数据,如果所述交易流水记录的交易商圈与所述广告投放记录的投放商圈相同,且所述交易流水记录的交易时间与所述广告投放记录的投放时间的时间差小于等于预设时间差,则确定所述交易流水记录的交易用户标识与所述广告投放记录的设备标识是匹配的。
6.根据权利要求5所述的数据标识匹配方法,其特征在于,所述分析所述第一处理数据和第二处理数据包括:
步骤a,设置匹配列表,所述匹配列表包括多个子表,子表与商圈一一对应;
步骤b,按时间顺序读取所述第一处理数据或第二处理数据中的数据项,所述数据项包括时间、商圈、标识,所述时间为交易的交易时间或广告投放的投放时间,所述商圈为交易的交易商圈或广告投放的投放商圈,所述标识为交易的交易用户标识或广告投放的设备标识;
步骤c,根据所述数据项中的商圈确定所述数据项将要加入的子表;
步骤d,计算当前读取的数据项的时间与所述子表中当前第一条数据项的时间的时间差;
步骤e,如果所述时间差小于等于所述预设时间差,则将所述数据项中的时间和标识加入所述子表,并返回步骤b;
步骤f,如果所述时间差大于所述预设时间差,则确定所述子表中各个数据项的交易用户标识与设备标识是互相匹配的,清空所述子表,将所述数据项中的时间和标识加入所述子表并返回步骤b。
7.根据权利要求1所述的数据标识匹配方法,其特征在于,还包括:
统计每一交易用户标识与各个设备标识的匹配次数。
8.根据权利要求1所述的数据标识匹配方法,其特征在于,还包括:
分析所述交易流水数据以确定多个交易用户,各个交易用户具有对应的交易用户标识;
根据所述交易用户标识与设备标识之间的匹配关系,确定所述交易用户的设备标识;
根据所述交易用户的设备标识向所述交易用户的设备投放广告。
9.一种数据标识匹配装置,其特征在于,包括:
接收模块,用于获取交易流水数据和广告投放数据,所述交易流水数据包括多条交易流水记录,所述交易流水记录包括交易时间、交易商户信息和交易用户标识,所述广告投放数据包括多条广告投放记录,所述广告投放记录包括广告投放的投放时间、被投放广告的用户设备的设备位置信息和设备标识;
第一确定模块,用于根据所述交易商户信息确定各个交易流水记录的交易商圈;
第二确定模块,用于根据所述设备位置信息确定各个广告投放记录的投放商圈,所述投放商圈为所述广告投放记录中被投放广告的用户设备所属的投放商圈;
匹配模块,用于根据交易商圈与投放商圈、交易时间与投放时间之间的匹配关系,对所述交易流水数据和广告投放数据进行分析,以确定所述交易用户标识与所述设备标识之间的匹配关系。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至8任一项所述的数据标识匹配方法的步骤。
11.一种计算设备,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至8所述的数据标识匹配方法的步骤。
技术总结