CN107783993B - 数据的存储方法和装置 - Google Patents

数据的存储方法和装置 Download PDF

Info

Publication number
CN107783993B
CN107783993B CN201610730521.1A CN201610730521A CN107783993B CN 107783993 B CN107783993 B CN 107783993B CN 201610730521 A CN201610730521 A CN 201610730521A CN 107783993 B CN107783993 B CN 107783993B
Authority
CN
China
Prior art keywords
data
behavior
user
information
session
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.)
Active
Application number
CN201610730521.1A
Other languages
English (en)
Other versions
CN107783993A (zh
Inventor
叶一舟
张锋
杨磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610730521.1A priority Critical patent/CN107783993B/zh
Publication of CN107783993A publication Critical patent/CN107783993A/zh
Application granted granted Critical
Publication of CN107783993B publication Critical patent/CN107783993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据的存储方法和装置。其中,该方法包括:获取至少一个操作对象的日志信息,日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子;基于树状存储结构保存任意一个操作对象的行为数据和每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据;以用户访问操作对象过程的会话为单位,确定会话中包含的多个操作对象;将会话中包含的多个对象的网络行为关系数据进行关联存储,得到用户在会话内发生的网络访问结果。本发明解决了现有技术采用时序列存储数据的方法,对用户的网络访问信息做了严重割裂,导致存储结果关联性差的技术问题。

Description

数据的存储方法和装置
技术领域
本发明涉及数据存储领域,具体而言,涉及一种数据的存储方法和装置。
背景技术
在当前的大数据时代,为了快速对用户行为分析和建模,需要将海量大数据以某种形式进行存储,目前的常用几种方法是:(1)基于单行为、单业务场景的“烟囱模式”存储方式,即用户在网络中每个业务场景下每发生一次行为就会存为一行(即一条记录),业务域、行为域之间相互独立;(2)在方法(1)的基础上严格按照用户行为的发生时间将用户的所有行为简单的进行线性串接在一起,即时序列存储。
而时序列存储的主要的缺点是由于严格的按照时间的先后顺序将用户session(会话)内的所有行为串接在一起,这种方式无法快速的进行用户跨场景的行为跳转分析,同时一定程度上对用户行为做了严重的割裂,无法高效的分析用户完整的网络购物路径,且数据分析复杂度较高。
图1是根据现有技术的一种生成训练数据集的结构示意图,下面以购物网站的无线搜索训练表(包括A客户端和B客户端)的制作过程作为示例,结合图1所示的示例:
第一步,获取样本数据,获取样本数据首先需要将A客户端搜索的曝光日志、点击日志和成交日志进行日志清晰、数据去噪以及繁琐的关联工作,然后生成基于A的产品粒度的曝光-点击-成交全链路行为宽表(basetable),对于B需要重复同样的工作,生成B的全链路行为宽表,再将两张行为宽表进行计算逻辑和字段内容的兼容、合并,最后生成用于训练数据的样本。
第二步,获取特征数据,获取特征数据通常需要对全网用户行为来做统计特征,包括PC的Aplus(A+)日志、无线的UT(User track,用户追踪)日志、全网成交日志(剔除反作弊订单)、用户维表、产品维表、卖家维表等等,并对全网用户行为数据进行关联和统计,得到产品、卖家、买家等单维度特征表,再将多个单维度特征表整合起来,最终做成全量特征宽表。
当前上述两个步骤都完成完后,原始的训练数据集才能生成。每个算法工程师都要重复进行上述过程来建模,80%的时间都花在训练集的生成上面,开发效率低下,资源浪费严重。
再以场景和场景之间的跳转作为示例,在用户行为数据采用时序列存储的情况下,需要从最早时间节点到最晚时间节点遍历一次才能实现,如果需求的数据处于最晚的时间节点上,其时间复杂度为:O(n1+n2+n3+n4)。>;在用户的行为数据利用单行为数据存储,需要先汇总每个用户的所有行为,然后在行为集合中再做曝光页A到B的数据分析,时间复杂度更高。
同理,在对行为数据之间的关系进行分析时,在用户行为数据采用时序列存储的情况下,其时间复杂度为O(n1+n2),而在用户行为数据采用单行为存储方法的情况下,时间复杂度更高。如果现有技术中需要分析产品点击和详情页内点击之间的关系(产品点击满意度分析),在用户行为数据采用时序列存储的情况下,其时间复杂度为O(n2+n3),在用户行为数据采用单行为存储方法的情况下,时间复杂度同样更高。在对产品的购物路径进行分析时,在用户行为数据采用时序列存储的情况下,时间复杂度为O(n1+n2+n3+n4),在用户行为数据采用单行为存储方法的情况下,时间复杂度同样更高。
针对现有技术采用时序列存储数据的方法,对用户的网络访问信息做了严重割裂,导致存储结果关联性差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据的存储方法和装置,以至少解决现有技术采用时序列存储数据的方法,对用户的网络访问信息做了严重割裂,导致存储结果关联性差的技术问题。
根据本发明实施例的一个方面,提供了一种数据的存储方法,包括:获取至少一个操作对象的日志信息,日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子;基于树状存储结构保存任意一个操作对象的行为数据和每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据;以用户访问操作对象过程的会话为单位,确定会话中包含的多个操作对象;将会话中包含的多个对象的网络行为关系数据进行关联存储,得到用户在会话内发生的网络访问结果
根据本发明实施例的另一方面,还提供了一种数据的存储装置,包括:第一获取模块,用于获取至少一个操作对象的日志信息,日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子;保存模块,用于基于树状存储结构保存任意一个操作对象的行为数据和每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据;第一确定模块,用于以用户访问操作对象过程的会话为单位,确定会话中包含的多个操作对象;关联模块,用于将会话中包含的多个对象的网络行为关系数据进行关联存储,得到用户在会话内发生的网络访问结果。
在本发明实施例中,通过根据用户日志中传递的关联因子将用户的行为数据进行串接,并将一次会话中的行为数据链接于一个根结点上,通过树状结构存储上述用户的行为,从而能够很好的反应出用户的行为关系序列,对于后期的大数据统计和数据挖掘工作提供了极大的便利。
尤其对于购物网站来说,上述方式实现将用户一次最细粒度的购物需求行为进行树状结构的存储,即将用户从浏览曝光开始一直到最终付款中间发生的所有行为都存储于一个树状结构中,从而使得对同一产品的操作行为能够链接在同一个逻辑节点上,将由一个浏览曝光页面进入的产品链接至同一个浏览曝光页面上,再将同一个会话中的所有浏览曝光页面链接至所属的同一个会话上,从而使得一次会话的内容仅需要一行日志就能够完成记录,实现了业务逻辑与行为逻辑的结合,能够很好的反应用户在网上购物时的多种行为关联顺序。
此处还需要说明的是,通过本发明上述数据的存储方法,能够降低理解和学习的成本。由于现有技术中的全域数据都存放在各个基础日志或者中间层中,为了对用户的行为数据进行分析,业务方需要较高的成本来了解和学习不同业务类型的数据,才能对数据进行分析或加以利用。而上述实施例提供的数据的存储方法能够将全域数据以统一的格式和规范进行组装,将大量的业务关联逻辑和底层日志处理逻辑在数据构造过程中解决,大大降低用户的使用和学习成本,用户只需要按需索取相应的业务数据即可。
进一步的,通过本发明上述数据的存储方法,还能够达到降低数据使用的资源消耗的技术效果。由于现有技术中的各个业务类型上的人员都需要做一些例如数据预处理和分析逻辑等繁琐、资源开销较大的重复工作。而上述实施例提供的数据的存储方法能够将大量重复开发工作统一封装起来,减少重复计算和资源浪费。
因此,通过上述实施例提供的数据的存储方法,为数据的挖掘和后期数据的处理带来了极大的便利,无需在需要获得某一层数据时便利所有用户的日志,而仅需要,且使用上述数据的存数方法,通过对多次会话的网络行为关系数据对会话中的所有行为数据以及每个行为数据之间的关系进行直接的分析,对于数据的挖掘和通过对数据的挖掘进行网络服务的改进都有着极大的意义。
由此,本申请上述方案解决了现有技术采用时序列存储数据的方法,对用户的网络访问信息做了严重割裂,导致存储结果关联性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种生成训练数据集的结构示意图;
图2是根据本发明实施例1的一种数据的存储方法的计算机终端的硬件结构框图;
图3是根据本发明实施例的一种可选的通过数据组装来实现数据的存储的结构示意图;
图4是根据本发明实施例的一种数据的存储方法的流程图;
图5a是根据本发明实施例的一种可选的2层树状存储结构的示意图;
图5b是根据本发明实施例的一种可选的3层树状存储结构的示意图;
图5c是根据本发明实施例的另一种可选的3层树状存储结构的示意图;
图5d是根据本发明实施例的一种可选的4层树状存储结构的示意图;
图6是根据本发明实施例的一种可选的以会话为单位组织用户的网络行为关系数据的示意图;
图7是根据本发明实施例的另一种可选的以会话为单位组织用户的网络行为关系数据的示意图;
图8是根据本发明实施例的一种可选的数据分层的示意图;
图9是根据本发明实施例的一种可选的确定数据的关键字段的示意图;
图10是根据本发明实施例的一种可选的用户信息与行为数据相关联的示意图;
图11是根据本发明实施例的一种可选对多层逻辑哈希树的结构进行列转行处理的结果的示意图;
图12是根据本发明实施例的一种可选的数据解读流程的示意图;
图13是根据本发明实施例的一种生成训练数据集的结构示意图;
图14是根据本发明实施例的一种数据的存储装置的结构示意图;以及
图15是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
产品详情页:即用户点击了某个产品之后到达的一个页面,在该页面上详细的介绍了该产品的细节和购买过的用户对产品的一些评论等内容。
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的信息。当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。
日志:用户在访问页面时,在提供曝光内容的服务器上记录用户行为和服务信息的一种文本内容。
全域:全部业务域,对于阿里系电商领域包括了淘宝搜索、天猫搜索、店铺内搜索、天猫超市搜索等各个搜索场景,猜你喜欢、有好货、看了又看等各个推荐场景,购物车、收藏夹等静态业务,广告、聚划算、航旅等垂直业务。
全链路:一次完整的导购行为链路,包括曝光、产品点击、详情页点击、成交等。
浏览曝光层:用户通过搜索关键词或者搜索筛选或者系统默认推荐等一系列形式所进入的产品列表页面的行为集合称为浏览曝光层。
产品点击层:用户在浏览曝光页面对产品进行点击行为的集合称为产品点击层。
二跳层:用户发生产品点击之后进入到产品详情页,在产品详情页发生的所有行为的集合称为二跳层。
成交层:用户在产品详情页点击了立即购买之后,并进行了付款成交的付款行为集合称为成交层。
实施例1
根据本发明实施例,还提供了一种数据的存储方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图2示出了一种用于实现数据的存储方法的计算机终端(或移动设备)的硬件结构框图。如图2所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的输入/输出接口106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据的存储方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据的存储方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入/输出接口106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,输入/输出接口106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入/输出接口106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图2所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图2仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
图3是根据本发明实施例的一种可选的通过数据组装来实现数据的存储的结构示意图,在一种可选的实施例中,结合图3所示的示例,首先可以进行静态基础数据的提取、通用行为数据提取以及业务行为数据的提取,其中,可以通过提取产品、用户、卖家等基础信息,以及产品、用户、卖家之间的映射关系数据来完成静态基础数据的提取,从而满足行为数据对行为对象的属性提取要求,得到各种静态基础信息;通过配置和接口管理方式从APT/UT/TPP等大数据中提取各种业务的行为数据,来完成通用行为数据提取,得到单行为业务数据;从各种具体的业务数据中提取业务行为数据,得到单行为业务数据,再将通用行为数据的单行为业务数据和业务行为数据的单行为数据进行数据融合,再与行为对象内容(静态基础信息)进行融合,从而得到最终的行为数据宽表。
在上述实施例中,提取单行为数据即为构建行为节点的过程,具有结构化、框架化和传递化的特点,提取静态数据即为构建对象节点的过程,具有结构化和传递化的特点,所有节点的串接即为构建树状存储结构的过程,具有自底而上串接行为信息和静态信息的特点。
需要注意的是,下述数据的存储方法可以通过对数据的组装来完成,可以采用“黑盒”透传的思想,将每个业类型(曝光、点击、二跳、成交、产品、用户、卖家等)的关键字段内容封装在目录中进行透传,将数据和关联逻辑进行解耦,以方便内容的快速扩展。在曝光关联点击行为时,因为搜索、推荐、店铺内等业务的关键字段各不相同,因此对各个业务做了非常多的兼容逻辑,来保证在现有数据的情况下尽可能准确的完成业务数据之间的逻辑关联。
在上述运行环境下,本申请提供了如图4所示的数据的存储方法。图4是根据本发明实施例的一种数据的存储方法的流程图。
步骤S21,获取至少一个操作对象的日志信息,所述日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子。
在上述步骤中,操作对象可以是展示于用户的多种操作页面,操作对象对应的行为数据可以是用户针对操作对象的动作,以对用户浏览购物网站为例,在操作对象为产品列表时候,用户点击其中一个产品,则用户的操作行为是点击查询产品详情;在操作对象为产品详情页面时,用户将产品加入购物车,则用户的操作行为是加入购物车;在用户通过购物网站的即时通信软件向卖家咨询产品详情时,即时通信软件弹出的消息对话框可以为操作对象,用户在对话框中进行的输入、发送等动作为对应的行为数据。
上述关联因子可以是原始用户日志中保存的行为跳转时传递的信息,用于将具有直接跳转关系的行为联系起来,以一个购物网站为例,用户通过关键词“家居用品”搜索到产品列表页面后,点击其中一个产品以浏览该产品的详细信息,则该次操作的日志信息中包括用于表示从“家居用品”的产品列表页面跳转至用户点击的产品的详细信息的关联因子。
在一种可选的实施例中,可以利用原始的用户行为日志,挖掘出用户的每一个行为,例如:浏览曝光、产品点击、产品详情页内点击、产品咨询、成交付款等,其中,产品点击还可以包括:查看评论、查看大图、收藏产品、收藏店铺、加入购物车、立即购买等。
步骤S23,基于树状存储结构保存任意一个操作对象的行为数据和每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据。
在上述步骤中,上述树状存储结构用于表示一种“一对多”的非线性存储结果,在该结构中包括一个根节点,根节点没有前驱节点,其与的子节点也均有且只有一个前驱结点,每个子节点也可以包括一个或多个后续节点。
在第一种可选的实施例中,仍以购物网站作为示例,在用户通过产品列表页面点击任意一个产品,了解该产品的详细产品信息时,根据用户的原始日志定义出浏览曝光层和产品点击层,同时根据日志中包含的关联因子,将浏览曝光层的节点和产品点击层的节点进行链接。上述实施例将同一次浏览曝光页面上发生的所有产品点击都链接到该次的浏览曝光上,由此将完成了对于浏览曝光页面的操作行为的2层结构的树状存储结构的存储。结合图5a所示,对于浏览曝光页面A来说,在页面A上的所有点击的节点都应该与浏览曝光页面A的节点相连,在图5a所示的示例中,在浏览曝光页面A中发生了两次点击事件,分别为点击A1和点击A2,因此将点击A1事件和点击A2事件均与浏览曝光A事件相连,则得到浏览曝光页面A的网络行为关系数据。
在第二种可选的实施例中,可以构造浏览曝光页面A的3层网络行为关系数据,在上一实施例的基础上,定义出二跳层,即用户发生产品点击之后进入到产品详情页,在产品详情页发生的所有行为,可以包括:使用旺旺对产品进行咨询、查看产品评论、点击查看大图等,同时根据用户日志中行为跳转时传递的关联因子,将产品点击层的节点和二跳层的点击进行链接。在同一次产品点击之后发生的所有二跳的点击都链接到该次的产品点击上。由此完成了3层的树状存储结构的存储。在图5b所示的示例中,在子节点二跳层分别点击了A1和A2后,又分别点击了A1的详情和A2的详情,将点击A1详情的事件与产品点击层中的点击A1相连,将点击A2详情的事件与产品点击层中的点击A2相连,从而得到浏览曝光页面A的3层网络行为关系数据。
仍然在上述第二种可选的实施例中,由于用户在进入产品详情页之后,可能在每个产品详情页发生了很多行为,因此在产品点击层对应的多个二跳层的行为中,每个产品点击事件可能对应多个二跳层的事件,以图5c作为示例,在产品点击层中点击A1事件后进行了点击A1详情和查看A1评论的行为,在产品点击层中点击A2事件后进行了点击A2详情和查看A2评论的行为,根据用户日志中传递的关联因子,将点击A1详情信息和查看A1评论与产品点击层的点击A1相链接,将点击A2详情信息和查看A2评论与产品点击层的点击A2相链接,从而得到浏览曝光页面A的3层网络行为关系数据。
在第三种可选的实施例中,还可以构造浏览曝光页面A的4层网络行为关系数据,在第二种实施例的基础上,定义出成交层,成交层为用户在产品详情页点击了立即购买之后,并进行了付款成交的付款行为集合。对发生了立即购买行为且用户拍下成交,则将购买行为的内容进一步串接到立即购买之后,由此完成了4层的树状存储结构的存储,结合图5d所示的示例,在用户进行了多个二跳层的操作行为之后,选择购买了A1产品,并成功付款,因此将成交层的成交付款A1行为与二跳层的A1从而得到浏览曝光页面A的4层网络行为关系数据。
通过上述实施例,完成了用户以一次曝光为起点而引导的所有点击,和以一次点击为起点而引导的所有用户详情页内的一些行为,以及在发生立即购买之后引导的成交行为的信息。
步骤S25,以用户访问操作对象过程的会话为单位,确定所述会话中包含的多个操作对象。
在上述步骤中,用户在应用程序的web之间跳转的过程中,上述会话(session)所存储的变量不会丢失,并在用户的整个会话中保存,以用户访问某个购物网站为例,用户通过输入购物网站的URL地址、或通过搜索引擎进入该购物网站,或通过其他网页页面的广告进入上述购物网站后,开始产生一个会话,用户在上述购物网站进行的所有行为操作都属于该次会话,如果用户退出上述购物网站,并在很短的时间内再次进入,上述会话并未过期,则用户再次进入上述购物网站之后的行为仍然属于上次的会话,如果用户在退出上述购物网站之后,经过较长的事件再进入上述购物网站,则会话有可能已过期,则web服务器会为该用户创建新的会话。以一个会话为单位,用户在该次会话中的操作对象可以是浏览曝光页面、产品点击页面、即时通信对话框以及成交付款页面等。
步骤S27,将所述会话中包含的多个对象的网络行为关系数据进行关联存储,得到所述用户在所述会话内发生的网络访问结果。
上述步骤以会话为粒度,对各种不同的网络行为关系数据进行组织,完成了以会话为单位的网络行为数据的存储。
图6是根据本发明实施例的一种可选的以会话为单位组织用户的网络行为关系数据的示意图,在一种可选的实施例中,在步骤S23中的第一种、第二种和第三种实施例的基础中,对用户的多层网络行为数据以会话为单位进行组织,结合图6所示的示例,用户在浏览曝光页面A和浏览曝光页面B中都进行了两个产品的点击以及详情信息的了解,并最终决定购买产品A1,对产品A1进行了成交付款。
但通常情况下,用户在购物网站购物时的行为都比较复杂,经过多个关键词的搜索,并对每个搜索结果中的浏览曝光页面中的产品进行比较,才决定最终所购买的产品,因此实际应用中用户的网络行为关系数据更为复杂。
图7是根据本发明实施例的另一种可选的以会话为单位组织用户的网络行为关系数据的示意图,记录了用户在进入上述购物网站之后通过浏览多个浏览曝光页面,最终拍下产品并成交的网络行为关系数据,结合图7所示的示例,用户通过搜索第一目标词,进入浏览曝光页面A1,在浏览曝光页面A1中,点击了产品A1,进行了查看评论、咨询卖家、了解其他详情的行为,然后又返回浏览曝光页面A1,点击了产品A2,并执行了收藏宝贝、加购物车、了解其他详情的行为,之后用户又返回了浏览曝光页面A1,点击了产品A3,并执行了查看大图、进入店铺以及了解其他详情的行为,用户在比较完A1、A2、A3后,又通过第二目标词搜索得到浏览曝光页面B中,分别点击了产品B1和产品B2,在点击产品B1之后,执行了查看评论、点赞、收藏店铺和了解其他详情的行为,在点击产品B2后,执行了查看大图,点击购买、了解其他详情的行为,用户在浏览过浏览曝光页面A和浏览曝光页面B中的多种产品之后,决定购买产品A1,因此返回至点击产品A1,并在点击购买之后,拍下产品A1并成交。需要说明的是,上述示例中的网络行为关系数据用于展示用户在一次会话中的多种行为之间的关系,对于用户执行行为的具体时间不做具体限定。
此处需要说明的是,本发明上述实施例提供的数据的存储方法,能够根据用户日志中传递的关联因子将用户的行为数据进行串接,并将一次会话中的行为数据链接于一个根结点上,通过树状结构存储上述用户的行为,从而能够很好的反应出用户的行为关系序列,对于后期的大数据统计和数据挖掘工作提供了极大的便利。
尤其对于购物网站来说,上述方式实现将用户一次最细粒度的购物需求行为进行树状结构的存储,即将用户从浏览曝光开始一直到最终付款中间发生的所有行为都存储于一个树状结构中,从而使得对同一产品的操作行为能够链接在同一个逻辑节点上,将由一个浏览曝光页面进入的产品链接至同一个浏览曝光页面上,再将同一个会话中的所有浏览曝光页面链接至所属的同一个会话上,从而使得一次会话的内容仅需要一行日志就能够完成记录,实现了业务逻辑与行为逻辑的结合,能够很好的反应用户在网上购物时的多种行为关联顺序。
因此,通过上述实施例提供的数据的存储方法,为数据的挖掘和后期数据的处理带来了极大的便利,无需在需要获得某一层数据时便利所有用户的日志,而仅需要,且使用上述数据的存数方法,通过对多次会话的网络行为关系数据对会话中的所有行为数据以及每个行为数据之间的关系进行直接的分析,对于数据的挖掘和通过对数据的挖掘进行网络服务的改进都有着极大的意义。
此处还需要说明的是,通过本发明上述数据的存储方法,能够降低理解和学习的成本。由于现有技术中的全域数据都存放在各个基础日志或者中间层中,为了对用户的行为数据进行分析,业务方需要较高的成本来了解和学习不同业务类型的数据,才能对数据进行分析或加以利用。而上述实施例提供的数据的存储方法能够将全域数据以统一的格式和规范进行组装,将大量的业务关联逻辑和底层日志处理逻辑在数据构造过程中解决,大大降低用户的使用和学习成本,用户只需要按需索取相应的业务数据即可。
进一步的,通过本发明上述数据的存储方法,还能够达到降低数据使用的资源消耗的技术效果。由于现有技术中的各个业务类型上的人员都需要做一些例如数据预处理和分析逻辑等繁琐、资源开销较大的重复工作。而上述实施例提供的数据的存储方法能够将大量重复开发工作统一封装起来,减少重复计算和资源浪费。
由此,本发明上述方案解决了现有技术采用时序列存储数据的方法,对用户的网络访问信息做了严重割裂,导致存储结果关联性差的技术问题。
根据本发明上述实施例,步骤S21,在获取至少一个操作对象的日志信息之前,所述方法还包括:
步骤S29,对数据池中的数据进行分层,得到至少如下数据层:原始层、公共层、中间层和应用层。
在上述步骤中,上述数据池可以负责分配、管理和释放数据库,允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,能够明显提高对数据库操作的性能。
通过上述步骤对数据池中的数据进行分层,能够将性质相同的,在同一条件下收集的数据归纳在一起,以便进行比较分析。在实际应用中,影响质量变动的因素很多,如果不把这些困素区别开来,难以得出变化的规律。数据分层可根据实际情况按多种方式进行。例如,按不同时间,不同的用途进行分层等等。
图8是根据本发明实施例的一种可选的数据分层的示意图,在一种可选的实施例中,结合图8所示的示意,原始层可以包含各种TT数据(Time Tunnel时间管道,以时间戳作为维度的流式数据),例如:搜索TTtt、推荐TTtt和外部数据,公共层可以包括搜索数据、推荐数据和各种基础类日志以及外部中间数据,例如:浏览量日志(PVLog),点击日志(ClickLog)、细节日志(DetaiLog);中间层可以包括UserLog(用户日志)/BaseTable(基础表)/特征池,其中包括行为序列数据、静态数据和各种parser/udf/视图;应用层与中间层通过特征标签相连接,可以包括TPP平台,用于数据关系分析、特征提取以及视图展示,其中,特征标签用于建立应用层所展示的数据、视图等与中间层数据之间的映射关系。
在上述步骤中,通过整合各方数据源并考量数据的产出时效性,原始层除了集团通用的UT、Aplus日志之外,还包括搜索和推荐的tt日志体系,公共层还加入了一些较为通用的业务日志,从而将不同业务和数据渠道进行匹配。
步骤S211,按照业务类型从分层后的数据池中确定多个关键字段,其中,所述关键字段用于表征所述操作对象对应的行为数据。
在上述步骤中,在数据池中的数据分层后,可以根据统计经验得到的“二八原则”,对数据按照业务类型确定关键字段,其中,二八原则为在读取同一个表集合的任务中,80%的任务读取了表集合中的20%的信息。例如,一张表有100个关键字段,有100个任务读取了该表,其中80个任务只应用了其中的20个关键字段。从而使数据链接至最终的树状存储结构中,在保证最终的树状存储结构中的数据所支持的业务不减少的情况下,尽可能的减小存储开销和使用成本。本发明上述实施例的数据体系中涵盖了全网的所有行为,包括:点击行为、二跳行为以及成交行为等,同时在浏览曝光行为上,包含了系统推荐的全部浏览曝光页面,以及业务重点关注的非搜索非推荐业务的浏览曝光页面。
图9是根据本发明实施例的一种可选的确定数据的关键字段的示意图,在一种可选的实施例中,曝光TPP、主搜、猫搜的业务类型为曝光,因此曝光TPP、主搜、猫搜的关键字段可以为曝光,同理可知,收藏、加入购物车以及购买的关键字段为二跳、下单成交的关键字段为成交,搜索、其他业务以及产品点击TPP的关键字段为产品点击;在另一种可选的实施例中,仍然结合图9所示的示例,由于某些业务类型中包含的业务还能够分为多种其他的业务类型,因此还能够得到更加细化的关键字段,例如,猜你喜欢、爱逛街、微搜、看了又看、发现好店以及发现好货的业务类型均为产品点击TPP,因此上述行为数据的关键字段均为产品点击TPP,同理可知,国际搜索、店铺内搜索、超市搜索、购物列表、主搜和猫搜的业务类型都为搜索,因此上述行为数据的关键字段为搜索,另外,其他业务也能够包含图中所示的多种行为数据。
步骤S213,根据所述关键字段之间的业务跳转关系,得到所述每个行为数据之间跳转时的关联因子。
在上述步骤中,由于行为数据的关联因子用于表示行为数据的渠道或来源,而关键字段是根据行为数据的业务类型而确定,每个业务类型又都为一种行为数据,因此,根据关键字段之间的业务跳转关系,能够得到每个行为数据之间的关联因子。例如,以国际搜索的行为数据为例,国际搜索的关键字段为搜索,搜索的关键字段为产品点击,从而能够得到行为数据国际搜索的关联因子由行为数据搜索传递得到,而搜索的关联因子行为数据产品点击得到。
根据本发明上述实施例,步骤S213,在以用户访问操作对象过程的会话为单位,确定所述会话中包含的操作对象之前,所述方法还包括:
步骤S215,获取所述用户的基本信息,以及与所述用户的网络访问行为关联的产品信息和其他用户的基本信息。
在上述步骤中,用户的基本信息可以包括用户的会员名称、用户昵称和绑定邮箱等,与用户的网络行为关联的产品信息可以包括用户查看或已经成交的产品信息,其他用户的基本信息可以是卖家的基本信息,包括卖家的店铺名称、店铺地址等,
需要说明的是,上述用户的基本信息、产品信息和其他用户的基本信息都是固定的,难以修改的,因此,上述用户的基本信息、产品信息和其他用户的基本信息可以视为静态信息。
步骤S217,以所述用户的基本信息为根节点,基于树状存储结构来存储所述产品信息和所述其他用户的基本信息,得到所述用户的用户关系数据。
在一种可选的实施例中,以用户userA作为示例,在该示例中可以以userA的用户ID作为根节点,以userA的其他核心信息作为子节点与用户ID链接,以树状存储结构存储于用户信息区的;将userA查看或购买的产品的产品信息和产品对应的卖家的基本信息以树状存储结构存储于产品信息区。
在用户信息区和产品信息可以通过用户的行为数据进行关联,通过点击、查看、购买等行为将与用户相关的产品进行分类,实现静态信息的关联。
上述步骤实现了静态信息的关联,在逻辑行为关联的同时,会将产品、卖家核心信息放在产品信息区,将用户核心信息放在用户信息区,从而得到静态信息的逻辑树,即以静态信息之间的逻辑关系通过树状存储结构进行存储的结果。
作为另一种可选的实施例,还可以将用户信息与行为数据产生的信息进行链接,结合图10所示的示例,以用户的基本信息作为根节点,将用户的浏览量信息链接在用户信息上,将用户的点击信息链接于对应的浏览信息熵,并将每个点击行为产生的二跳信息、成交信息以及静态商品信息链接到对应的点击信息上,从而构成了以用户为单位的网络数据结构。
根据本发明上述实施例,步骤S27,在将所述会话中包含的多个对象的行为关系链进行关联存储,得到所述用户在所述会话内发生的网络访问结果之后,所述方法还包括:
步骤S219,还原所述树状存储结构保存的所述网络行为关系数据和所述用户关系数据,得到多层逻辑哈希树的结构。
在上述步骤中,上述网络行为关系数据通过关联因子将用户的行为数据链接起来,用户关系数据将用户的静态信息链接起来,由于网络行为关系数据和用户关系数据均通过树状存储结构存储,因此,还原网络行为关系数据和用户关系数据后能够得到多层的逻辑结构。根据哈希树的查找是通过取余和比较进行的这一特点,将网络行为关系数据和用户关系数据还原为多层逻辑哈希树结构,能够在解读出网络行为关系数据和用户关系数据后,在使用的过程中能够快速定位或查找。
在一种可选的实施例中,可以通过如下代码实现上述步骤:HashMap<String,ArrayList<ArrayList<String>>>。
步骤S221,对所述多层逻辑哈希树的结构进行列转行处理,将多值的列按照列转行后的顺序填充到输出数据集中,得到基于所述产品信息的全链路行为序列。
此处需要说明的是,在得到以会话为根节点的树状存储结构后,能够从用户访问购物网站的角度来对数据进行分析,而上述实施例通过对多层逻辑哈希树的结构进行列转行,从而实现了每个产品的全链路行为数据,输出了产品粒度的全链路行为序列。
图11是根据本发明实施例的一种可选对多层逻辑哈希树的结构进行列转行处理的结果的示意图,在一种可选的实施例中,结合图11所示的示例,在进行列传行输出至数据集之后,得到了用户信息、浏览量信息、点击信息、二跳信息、付款信息以及Auc信息(一种评价指标,可以用于表征产品的召回率等),通过上述列转行处理得到的信息,能够方便的从产品的角度对数据进行分析。
根据本发明上述实施例,步骤S219,还原所述树状存储结构保存的所述网络行为关系数据和所述用户关系数据,得到多层逻辑哈希树的结构包括:
步骤S2191,还原所述用户关系数据包括:将所述用户基本信息、所述产品信息和所述其他用户的基本信息存储至哈希树中,且内层表单和外层表单中各自仅存储相同类型的值。
在上述步骤中,将用户基本信息、产品信息和其他用户的基本信息存储至哈希树,便于在数据的查找个使用,其中,将内层表单和外层表单中各自仅存储相同类型的值,用于使解读的用户关系信息和解读的点击信息的结构一致。
根据本发明上述实施例,步骤S219,还原所述树状存储结构保存的所述网络行为关系数据和所述用户关系数据,得到多层逻辑哈希树的结构包括:还原所述网络行为关系数据,其中,还原所述网络行为关系数据包括如下至少之一:
步骤S2193,在所述操作对象为曝光产品的情况下,将曝光产品对应的配置文件中的字段tag和解析的value值一一映射,映射结果存储在内层表单中,并将所述内层表单存储至外层表单中。
在上述步骤中,产品对应的配置文件的字段标签(字段tag)可以用于识别产品,value值可以包括从静态信息中解析得到的产品的相关信息,例如:产品的价格、产品的卖家等等,value值还可以包括从网络行为关系数据中解析得到的产品的浏览量、点击信息、二跳信息以及支付信息等。将曝光产品对应的配置文件中的字段tag和解析的value值一一映射,能够通过字段标签与value值的对应关系,从而确定产品对饮的value值。
步骤S215,在所述行为数据为点击操作的情况下,获取所述点击操作数据,从所述点击操作数据中分割出独立的点击根节点,并基于所述点击根节点获取关联的操作信息存储至哈希树中。
在上述步骤中,上述与点击根节点向关联的操作信息用于表示在网络行为关系数据中与点击根节点或点击根节点的子节点相连的信息,也即由点击根节点的点击所引起的一个、多个或一系列信息。
在一种可选的实施例中,上述与点击根节点关联的操作信息看可以包括:二跳信息、成交信息、静态信息解读等,例如,结合图7所示的示例,与点击根节点“点击产品A1”相关联的信息包括查看评论、咨询卖家、了解其他详情、点击购买以及收藏宝贝,其中,在点击购买之后还包括拍下成交,因此上述信息均为与点击产品A1这一点击根节点相关联的操作信息。
根据本发明上述实施例,步骤S221,在得到基于所述产品信息的全链路行为序列之后,所述方法还包括:
步骤S2211,调用解读工具从所述多层逻辑哈希树的结构中获取样本数据,其中,所述样本数据以key-value形式进行存储,或者调用所述解读工具读取所述列转行后的全链路行为序列。
在上述步骤中,在数据的使用过程时,用户可以根据需求调用不同的解读工具,在一种可选的实施例中,由于样本数据以key-value形式进行存储,因此可以根据key值读取对应的value,其中,key用于表示需要读取的目标产品或目标行为数据。
在另一种可选的实施例中,直接调用读取工具解读列转行之后的全链路序列,结合图11所示的示例,由于列转行之后的全链路序列是基于产品粒度的全链路行为序列,因此直接调用读取工具解读列转行之后的全链路序列,也能够方便的读取基于产品的信息。
此处需要说明的是,上述使用方式和读取习惯完全和普通行列式表兼容。
图12是根据本发明实施例的一种可选的数据解读流程的示意图,在一种可选的实施例中,结合图12所示的示例,首先进行用户信息解读,然后解读配置文件中的字段tag对应的value值来解读曝光信息,之后再分割出独立的根节点,并解读出与点击根节点相关联的操作信息和/或静态信息,在该示例中,与点击根节点相关联的操作信息和/或静态信息包括:产品点击、二跳点击、成交信息以及静态信息。
根据本发明上述实施例,步骤S221,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
步骤S2215,读取所述样本数据或所述全链路行为序列中的静态数据和统计后的特征数据。
在上述步骤中,由于网络行为关系数据和用户关系数据均是以树状结构存储的数据,并在解读过程中形成多层逻辑的哈希树结构,因此可以根据需求读取样本数据或由列转行得到的静态数据。
步骤S2217,基于所述静态数据和统计后的特征数据,生成训练数据集。
在数据的使用中,生成训练数据集对于数据的挖掘和处理非常重要,在现有技术中,制作训练数据集(training table)需要获取样本数据和特征数据两个环节。
结合图13所示的示例,现有技术中生成训练数据集需要,获取样本数据,再获取特征数据,当前上述两个步骤都完成完后,原始的训练数据集才能生成。每个算法工程师都要重复进行上述过程来建模,80%的时间都花在训练集的生成上面,开发效率低下,资源浪费严重。
而在申请上述实施例提供的方法就显得非常简单边界。首先全链路行为序列已经完成了最繁琐的数据关联工作,也即完成了各个业务类型下的样本工程,并且可以根据不同业务类型灵活选取需要的数据,以需要选取的数据为取手淘+猫客的行为数据为例,只需要在第二层分区过滤出无线的数据,并在第三层分区选取“A”、“B”这两个分区即可。而对于特征数据,由于全域行为序列中已经包含了完整的全网曝光、全网点击、全网成交信息,并且具有产品、买家、卖家之间的关联关系等静态信息,用户只需按照维度来求和,即可得到大部分所需要的统计特征。因此对于算法建模来说,可以很方便快捷的生成训练集,大大提高了工作效率以及资源开销。
根据本发明上述实施例,步骤S221,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
步骤S2219,基于所述样本数据或获取所述全链路行为序列进行各个操作对象之间跳转分析,该步骤包括:
步骤S22191,通过对所述哈希树的广度遍历,得到所述各个操作对象之间的跳转信息。
在上述步骤中,在操作对象为不同场景时,各个操作对象之间的跳转信息可以用于实现场景和场景之间的跳转分析。例如:要获取曝光页面A到曝光页面B的场景转换的数据分析。可以通过对哈希树树的广度遍历,按曝光发生的时间遍历曝光层。在需求的数据为哈希树最底层的数据的情况下,其时间复杂度为O(n1)。
步骤S22193,将所述各个操作对象之间的跳转信息按照时序列或按照网络行为的类型进行存储,其中,遍历结果为从最早遍历时间节点到最晚遍历时间节点进行遍历得到的结果。
此处需要说明的是,如果现有技术中如果需要实现场景和场景之间的跳转分析,在用户行为数据采用时序列存储的情况下,需要从最早时间节点到最晚时间节点遍历一次才能实现,如果需求的数据处于最晚的时间节点上,其时间复杂度为:O(n1+n2+n3+n4)。>;在用户的行为数据利用单行为数据存储,需要先汇总每个用户的所有行为,然后在行为集合中再做曝光页A到B的数据分析,时间复杂度更高。
同理可知,对于要获取点击过产品A之后再点击产品B的数据分析,利用对哈希树的广度遍历最坏情况的时间复杂度为O(n2),而其他两种方法最坏情况的时间复杂度至少为O(n1+n2+n3+n4)。
其中n1为浏览曝光层的节点数量,n2为点击产品层的节点数量,n3为详情页点击的节点数量,n4为拍下成交的节点数量。
根据本发明上述实施例,步骤S221,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
步骤S2221,基于所述样本数据或获取所述全链路行为序列进行各个行为数据之间的关系分析,该步骤包括。
步骤S2223,通过对所述哈希树的深度遍历,得到所述各个行为数据之间的关系信息。
本发明上述步骤可以快速实现各个行为数据之间的关系分析,例如,曝光页和产品点击之间的关系分析,进而来衡量曝光的效果,即对曝光满意度的分析。通过对哈希树的深度遍历可快速建立曝光页到产品点击之间的关系,其时间复杂度最大为O(1);如果需要分析产品点击和详情页内点击之间的关系(产品点击满意度分析),通过对哈希树的深度遍历可以快速建立产品点击和详情页点击之间的关系,其时间复杂度最大为O(1)。
步骤S2225,将所述各个行为数据之间的关系信息按照时序列或按照网络行为的类型进行存储。
此处需要说明的是,如果现有技术中如果需要实现曝光页和产品点击之间的关系分析,在用户行为数据采用时序列存储的情况下,其时间复杂度为O(n1+n2),而在用户行为数据采用单行为存储方法的情况下,时间复杂度更高。如果现有技术中需要分析产品点击和详情页内点击之间的关系(产品点击满意度分析),在用户行为数据采用时序列存储的情况下,其时间复杂度为O(n2+n3),在用户行为数据采用单行为存储方法的情况下,时间复杂度同样更高。
根据本发明上述实施例,步骤S221,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
步骤S2227,基于所述样本数据或获取所述全链路行为序列进行各个操作对象的跳转路径分析,该步骤包括:
步骤S2229,对所述哈希树的一次深度遍历,得到所述各个操作对象的跳转路径。
本发明上述步骤可以快速实现各个操作对象的跳转路径分析,其中各个操作对象的跳转路径可以为产品的购物路径,通过对哈希树的一次深度遍历即可完成由浏览曝光到产品点击到产品详情页点击最终到拍下成交这一条购物路径。
步骤S2231,将所述各个操作对象的跳转路径按照时序列或按照网络行为的类型进行存储。
此处需要说明的是,如果现有技术中如果需要实现曝光页和产品点击之间的关系分析,在用户行为数据采用时序列存储的情况下,时间复杂度为O(n1+n2+n3+n4),在用户行为数据采用单行为存储方法的情况下,时间复杂度同样更高。
下面,通过表一来展示通过本发明提供的数据的存储方法、现有技术中的时序存储方法和单行为存储方法存储数据后,在对数据进行分析时的时间复杂度的对比。
表一
Figure BDA0001092394290000191
Figure BDA0001092394290000201
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据的存储方法的数据的存储装置,如图14所示,该装置1400包括:
第一获取模块140,用于获取至少一个操作对象的日志信息,所述日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子;
保存模块142,用于基于树状存储结构保存所述任意一个操作对象的行为数据和所述每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据;
第一确定模块144,用于以用户访问操作对象过程的会话为单位,确定所述会话中包含的多个操作对象;
关联模块148,用于将所述会话中包含的多个对象的网络行为关系数据进行关联存储,得到所述用户在所述会话内发生的网络访问结果。
此处需要说明的是,本发明上述实施例提供的数据的存储方法,能够根据用户日志中传递的关联因子将用户的行为数据进行串接,并将一次会话中的行为数据链接于一个根结点上,通过树状结构存储上述用户的行为,从而能够很好的反应出用户的行为关系序列,对于后期的大数据统计和数据挖掘工作提供了极大的便利。
尤其对于购物网站来说,上述方式实现将用户一次最细粒度的购物需求行为进行树状结构的存储,即将用户从浏览曝光开始一直到最终付款中间发生的所有行为都存储于一个树状结构中,从而使得对同一产品的操作行为能够链接在同一个逻辑节点上,将由一个浏览曝光页面进入的产品链接至同一个浏览曝光页面上,再将同一个会话中的所有浏览曝光页面链接至所属的同一个会话上,从而使得一次会话的内容仅需要一行日志就能够完成记录,实现了业务逻辑与行为逻辑的结合,能够很好的反应用户在网上购物时的多种行为关联顺序。
因此,通过上述实施例提供的数据的存储方法,为数据的挖掘和后期数据的处理带来了极大的便利,无需在需要获得某一层数据时便利所有用户的日志,而仅需要,且使用上述数据的存数方法,通过对多次会话的网络行为关系数据对会话中的所有行为数据以及每个行为数据之间的关系进行直接的分析,对于数据的挖掘和通过对数据的挖掘进行网络服务的改进都有着极大的意义。
此处还需要说明的是,通过本发明上述数据的存储方法,能够降低理解和学习的成本。由于现有技术中的全域数据都存放在各个基础日志或者中间层中,为了对用户的行为数据进行分析,业务方需要较高的成本来了解和学习不同业务类型的数据,才能对数据进行分析或加以利用。而上述实施例提供的数据的存储方法能够将全域数据以统一的格式和规范进行组装,将大量的业务关联逻辑和底层日志处理逻辑在数据构造过程中解决,大大降低用户的使用和学习成本,用户只需要按需索取相应的业务数据即可。
进一步的,通过本发明上述数据的存储方法,还能够达到降低数据使用的资源消耗的技术效果。由于现有技术中的各个业务类型上的人员都需要做一些例如数据预处理和分析逻辑等繁琐、资源开销较大的重复工作。而上述实施例提供的数据的存储方法能够将大量重复开发工作统一封装起来,减少重复计算和资源浪费。
由此,本发明上述方案解决了现有技术采用时序列存储数据的方法,对用户的网络访问信息做了严重割裂,导致存储结果关联性差的技术问题。
此处需要说明的是,上述第一获取模块140、保存模块142、第一确定模块144和关联模块148对应于实施例1中的步骤S21至步骤S27,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本发明上述实施例,上述装置1400还包括:
分层模块150,用于对数据池中的数据进行分层,得到至少如下数据层:原始层、公共层、中间层和应用层;
第二确定模块152,用于按照业务类型从分层后的数据池中确定多个关键字段,其中,所述关键字段用于表征所述操作对象对应的行为数据;
第二获取模块154,用于根据所述关键字段之间的业务跳转关系,得到所述每个行为数据之间跳转时的关联因子。
此处需要说明的是,上述分层模块150、第二确定模块152和第二获取模块154对应于实施例1中的步骤S29至步骤S213,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本发明上述实施例,上述装置还包括:
第三获取模块156,用于获取所述用户的基本信息,以及与所述用户的网络访问行为关联的产品信息和其他用户的基本信息;
第一存储模块158,用于以所述用户的基本信息为根节点,基于树状存储结构来存储所述产品信息和所述其他用户的基本信息,得到所述用户的用户关系数据。
此处需要说明的是,上述第三获取模块156和第一存储模块158对应于实施例1中的步骤S215至步骤S217,两个个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本发明上述实施例,上述装置还包括:
第四获取模块160,用于获还原所述树状存储结构保存的所述网络行为关系数据和所述用户关系数据,得到多层逻辑哈希树的结构。
处理模块162,用于对所述多层逻辑哈希树的结构进行列转行处理,将多值的列按照列转行后的顺序填充到输出数据集中,得到基于所述产品信息的全链路行为序列。
此处需要说明的是,上述第四获取模块160和处理模块162对应于实施例1中的步骤S219至步骤S221,两个个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本发明上述实施例,所述第四获取模块160包括:
第一还原模块164,用于还原所述用户关系数据:所述第一还原模块162包括:存储子模块,用于将所述用户基本信息、所述产品信息和所述其他用户的基本信息存储至哈希树中,且内存表单和外层表单中各自仅存储相同类型的值。
此处需要说明的是,上述第一还原模块164对应于实施例1中的步骤S2191,与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本发明上述实施例,所述第四获取模块160包括:
第二还原模块166,用于还原所述网络行为关系数据,其中,所述第二还原模块包括如下至少之一:解析模块,用于在所述操作对象为曝光产品的情况下,将曝光产品对应的配置文件中的字段tag和解析的value值一一映射,映射结果存储在内层表单中,并将所述内存表单存储至外层表单中;第五获取模块,用于在所述行为数据为点击操作的情况下,获取所述点击操作数据,从所述点击操作数据中分割出独立的点击根节点,并基于所述点击根节点获取关联的操作信息存储至哈希树中。
此处需要说明的是,上述第二还原模块166对应于实施例1中的步骤S219,与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,所述装置还包括:
第一调用模块,用于调用解读工具从所述多层逻辑哈希树的结构中获取样本数据,其中,所述样本数据以key-value形式进行存储;或者,
第二调用模块,用于调用所述解读工具读取所述列转行后的全链路行为序列。
根据本申请上述实施例,所述装置还包括:
读取模块,用于读取所述样本数据或所述全链路行为序列中的静态数据和统计后的特征数据;
生成模块,用于基于所述静态数据和统计后的特征数据,生成训练数据集。
根据本申请上述实施例,上述装置还包括:
第一分析模块,用于基于所述样本数据或获取所述全链路行为序列进行各个操作对象之间跳转分析,所述第一分析模块包括:
第六获取模块,用于通过对所述哈希树的广度遍历,得到所述各个操作对象之间的跳转信息;
第二存储模块,用于将所述各个操作对象之间的跳转信息按照时序列或按照网络行为的类型进行存储,其中,遍历结果为从最早遍历时间节点到最晚遍历时间节点进行遍历得到的结果。
根据本申请上述实施例,上述装置还包括:
第二分析模块,用于基于所述样本数据或获取所述全链路行为序列进行各个行为数据之间的关系分析,所述第二分析模块包括:
遍历模块,用于通过对所述哈希树的深度遍历,得到所述各个行为数据之间的关系信息;
第一存储子模块,用于将所述各个行为数据之间的关系信息按照时序列或按照网络行为的类型进行存储。
根据本申请上述实施例,上述装置还包括:
第三分析模块,用于基于所述样本数据或获取所述全链路行为序列进行各个操作对象的跳转路径分析,所述第三分析模块包括:
第七获取模块,用于对所述哈希树的一次深度遍历,得到所述各个操作对象的跳转路径;
第二存储子模块,用于将所述各个操作对象的跳转路径按照时序列或按照网络行为的类型进行存储。
此处需要说明的是,上述第七获取模块和第二存储子模块对应于实施例1中的步骤S2229至步骤S2231,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的数据的存储方法中以下步骤的程序代码:获取至少一个操作对象的日志信息,日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子;基于树状存储结构保存任意一个操作对象的行为数据和每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据;以用户访问操作对象过程的会话为单位,确定会话中包含的多个操作对象;将会话中包含的多个对象的网络行为关系数据进行关联存储,得到用户在会话内发生的网络访问结果。
可选地,图15是根据本发明实施例的一种计算机终端的结构框图。如图15所示,该计算机终端1500可以包括:一个或多个(图中仅示出一个)处理器1502、存储器1504、以及外设接口1506。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的数据的存储方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据的存储方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取至少一个操作对象的日志信息,日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子;基于树状存储结构保存任意一个操作对象的行为数据和每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据;以用户访问操作对象过程的会话为单位,确定会话中包含的多个操作对象;将会话中包含的多个对象的网络行为关系数据进行关联存储,得到用户在会话内发生的网络访问结果。
可选的,上述处理器还可以执行如下步骤的程序代码:对数据池中的数据进行分层,得到至少如下数据层:原始层、公共层、中间层和应用层;按照业务类型从分层后的数据池中确定多个关键字段,其中,关键字段用于表征操作对象对应的行为数据;根据关键字段之间的业务跳转关系,得到每个行为数据之间跳转时的关联因子。
可选的,上述处理器还可以执行如下步骤的程序代码:获取用户的基本信息,以及与用户的网络访问行为关联的产品信息和其他用户的基本信息;以用户的基本信息为根节点,基于树状存储结构来存储产品信息和其他用户的基本信息,得到用户的用户关系数据。
可选的,上述处理器还可以执行如下步骤的程序代码:还原树状存储结构保存的网络行为关系数据和用户关系数据,得到多层逻辑哈希树的结构;对多层逻辑哈希树的结构进行列转行处理,将多值的列按照列转行后的顺序填充到输出数据集中,得到基于产品信息的全链路行为序列。
可选的,上述处理器还可以执行如下步骤的程序代码:还原用户关系数据包括:将用户基本信息、产品信息和其他用户的基本信息存储至哈希树中,且内存表单和外层表单中各自仅存储相同类型的值。
可选的,上述处理器还可以执行如下步骤的程序代码:在操作对象为曝光产品的情况下,将曝光产品对应的配置文件中的字段tag和解析的value值一一映射,映射结果存储在内层表单中,并将内存表单存储至外层表单中;在行为数据为点击操作的情况下,获取点击操作数据,从点击操作数据中分割出独立的点击根节点,并基于点击根节点获取关联的操作信息存储至哈希树中。
可选的,上述处理器还可以执行如下步骤的程序代码:调用解读工具从多层逻辑哈希树的结构中获取样本数据,其中,样本数据以key-value形式进行存储;或者,调用解读工具读取列转行后的全链路行为序列。
可选的,上述处理器还可以执行如下步骤的程序代码:读取样本数据或全链路行为序列中的静态数据和统计后的特征数据;基于静态数据和统计后的特征数据,生成训练数据集。
可选的,上述处理器还可以执行如下步骤的程序代码:基于样本数据或获取全链路行为序列进行各个操作对象之间跳转分析,该步骤包括:通过对哈希树的广度遍历,得到各个操作对象之间的跳转信息;将各个操作对象之间的跳转信息按照时序列或按照网络行为的类型进行存储,其中,遍历结果为从最早遍历时间节点到最晚遍历时间节点进行遍历得到的结果。
可选的,上述处理器还可以执行如下步骤的程序代码:基于样本数据或获取全链路行为序列进行各个行为数据之间的关系分析,该步骤包括:通过对哈希树的深度遍历,得到各个行为数据之间的关系信息;将各个行为数据之间的关系信息按照时序列或按照网络行为的类型进行存储。
可选的,上述处理器还可以执行如下步骤的程序代码:对哈希树的一次深度遍历,得到各个操作对象的跳转路径;将各个操作对象的跳转路径按照时序列或按照网络行为的类型进行存储。
在本发明实施例中,通过根据用户日志中传递的关联因子将用户的行为数据进行串接,并将一次会话中的行为数据链接于一个根结点上,通过树状结构存储上述用户的行为,从而能够很好的反应出用户的行为关系序列,对于后期的大数据统计和数据挖掘工作提供了极大的便利。
尤其对于购物网站来说,上述方式实现将用户一次最细粒度的购物需求行为进行树状结构的存储,即将用户从浏览曝光开始一直到最终付款中间发生的所有行为都存储于一个树状结构中,从而使得对同一产品的操作行为能够链接在同一个逻辑节点上,将由一个浏览曝光页面进入的产品链接至同一个浏览曝光页面上,再将同一个会话中的所有浏览曝光页面链接至所属的同一个会话上,从而使得一次会话的内容仅需要一行日志就能够完成记录,实现了业务逻辑与行为逻辑的结合,能够很好的反应用户在网上购物时的多种行为关联顺序。
此处还需要说明的是,通过本发明上述数据的存储方法,能够降低理解和学习的成本。由于现有技术中的全域数据都存放在各个基础日志或者中间层中,为了对用户的行为数据进行分析,业务方需要较高的成本来了解和学习不同业务类型的数据,才能对数据进行分析或加以利用。而上述实施例提供的数据的存储方法能够将全域数据以统一的格式和规范进行组装,将大量的业务关联逻辑和底层日志处理逻辑在数据构造过程中解决,大大降低用户的使用和学习成本,用户只需要按需索取相应的业务数据即可。
进一步的,通过本发明上述数据的存储方法,还能够达到降低数据使用的资源消耗的技术效果。由于现有技术中的各个业务类型上的人员都需要做一些例如数据预处理和分析逻辑等繁琐、资源开销较大的重复工作。而上述实施例提供的数据的存储方法能够将大量重复开发工作统一封装起来,减少重复计算和资源浪费。
因此,通过上述实施例提供的数据的存储方法,为数据的挖掘和后期数据的处理带来了极大的便利,无需在需要获得某一层数据时便利所有用户的日志,而仅需要,且使用上述数据的存数方法,通过对多次会话的网络行为关系数据对会话中的所有行为数据以及每个行为数据之间的关系进行直接的分析,对于数据的挖掘和通过对数据的挖掘进行网络服务的改进都有着极大的意义。
由此,本申请上述方案解决了现有技术采用时序列存储数据的方法,对用户的网络访问信息做了严重割裂,导致存储结果关联性差的技术问题。
本领域普通技术人员可以理解,图15所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据的存储方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取至少一个操作对象的日志信息,日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子;基于树状存储结构保存任意一个操作对象的行为数据和每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据;以用户访问操作对象过程的会话为单位,确定会话中包含的多个操作对象;将会话中包含的多个对象的网络行为关系数据进行关联存储,得到用户在会话内发生的网络访问结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对数据池中的数据进行分层,得到至少如下数据层:原始层、公共层、中间层和应用层;按照业务类型从分层后的数据池中确定多个关键字段,其中,关键字段用于表征操作对象对应的行为数据;根据关键字段之间的业务跳转关系,得到每个行为数据之间跳转时的关联因子。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取用户的基本信息,以及与用户的网络访问行为关联的产品信息和其他用户的基本信息;以用户的基本信息为根节点,基于树状存储结构来存储产品信息和其他用户的基本信息,得到用户的用户关系数据。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:还原树状存储结构保存的网络行为关系数据和用户关系数据,得到多层逻辑哈希树的结构;对多层逻辑哈希树的结构进行列转行处理,将多值的列按照列转行后的顺序填充到输出数据集中,得到基于产品信息的全链路行为序列。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:还原用户关系数据包括:将用户基本信息、产品信息和其他用户的基本信息存储至哈希树中,且内存表单和外层表单中各自仅存储相同类型的值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在操作对象为曝光产品的情况下,将曝光产品对应的配置文件中的字段tag和解析的value值一一映射,映射结果存储在内层表单中,并将内存表单存储至外层表单中;在行为数据为点击操作的情况下,获取点击操作数据,从点击操作数据中分割出独立的点击根节点,并基于点击根节点获取关联的操作信息存储至哈希树中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:调用解读工具从多层逻辑哈希树的结构中获取样本数据,其中,样本数据以key-value形式进行存储;或者,调用解读工具读取列转行后的全链路行为序列。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:读取样本数据或全链路行为序列中的静态数据和统计后的特征数据;基于静态数据和统计后的特征数据,生成训练数据集。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于样本数据或获取全链路行为序列进行各个操作对象之间跳转分析,该步骤包括:通过对哈希树的广度遍历,得到各个操作对象之间的跳转信息;将各个操作对象之间的跳转信息按照时序列或按照网络行为的类型进行存储,其中,遍历结果为从最早遍历时间节点到最晚遍历时间节点进行遍历得到的结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于样本数据或获取全链路行为序列进行各个行为数据之间的关系分析,该步骤包括:通过对哈希树的深度遍历,得到各个行为数据之间的关系信息;将各个行为数据之间的关系信息按照时序列或按照网络行为的类型进行存储。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对哈希树的一次深度遍历,得到各个操作对象的跳转路径;将各个操作对象的跳转路径按照时序列或按照网络行为的类型进行存储。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种数据的存储方法,其特征在于,包括:
获取至少一个操作对象的日志信息,所述日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子,所述行为数据是用户针对操作对象的动作;
基于树状存储结构保存所述任意一个操作对象的行为数据和所述每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据,所述网络行为关系数据用于展示所述用户在一次会话中的多种行为之间的关系;
以用户访问操作对象过程的会话为单位,确定所述会话中包含的多个操作对象;
将所述会话中包含的多个对象的网络行为关系数据进行关联存储,得到所述用户在所述会话内发生的网络访问结果;
其中,在将所述会话中包含的多个对象的网络行为关系数据进行关联存储,得到所述用户在所述会话内发生的网络访问结果之后,所述方法还包括:
还原所述树状存储结构保存的所述网络行为关系数据和用户关系数据,得到多层逻辑哈希树的结构;
对所述多层逻辑哈希树的结构进行列转行处理,将多值的列按照列转行后的顺序填充到输出数据集中,得到基于产品信息的全链路行为序列。
2.根据权利要求1所述的方法,其特征在于,在获取至少一个操作对象的日志信息之前,所述方法还包括:
对数据池中的数据进行分层,得到至少如下数据层:原始层、公共层、中间层和应用层;
按照业务类型从分层后的数据池中确定多个关键字段,其中,所述关键字段用于表征所述操作对象对应的行为数据;
根据所述关键字段之间的业务跳转关系,得到所述每个行为数据之间跳转时的关联因子。
3.根据权利要求1所述的方法,其特征在于,在以用户访问操作对象过程的会话为单位,确定所述会话中包含的操作对象之前,所述方法还包括:
获取所述用户的基本信息,以及与所述用户的网络访问行为关联的产品信息和其他用户的基本信息;
以所述用户的基本信息为根节点,基于树状存储结构来存储所述产品信息和所述其他用户的基本信息,得到所述用户的所述用户关系数据。
4.根据权利要求2或3所述的方法,其特征在于,还原所述树状存储结构保存的所述网络行为关系数据和所述用户关系数据,得到多层逻辑哈希树的结构包括:
还原所述用户关系数据包括:将所述用户的基本信息、所述产品信息和其他用户的基本信息存储至哈希树中,且内层表单和外层表单中各自仅存储相同类型的值。
5.根据权利要求2或3所述的方法,其特征在于,还原所述树状存储结构保存的所述网络行为关系数据和所述用户关系数据,得到多层逻辑哈希树的结构包括:还原所述网络行为关系数据,其中,还原所述网络行为关系数据包括如下至少之一:
在所述操作对象为曝光产品的情况下,将曝光产品对应的配置文件中的字段tag和解析的value值一一映射,映射结果存储在内层表单中,并将内存表单存储至外层表单中;
在所述行为数据为点击操作的情况下,获取点击操作数据,从所述点击操作数据中分割出独立的点击根节点,并基于所述点击根节点获取关联的操作信息存储至哈希树中。
6.根据权利要求3所述的方法,其特征在于,在得到基于所述产品信息的全链路行为序列之后,所述方法还包括:
调用解读工具从所述多层逻辑哈希树的结构中获取样本数据,其中,所述样本数据以key-value形式进行存储;或者,
调用所述解读工具读取所述列转行后的全链路行为序列。
7.根据权利要求6所述的方法,其特征在于,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
读取所述样本数据或所述全链路行为序列中的静态数据和统计后的特征数据;
基于所述静态数据和统计后的特征数据,生成训练数据集。
8.根据权利要求6所述的方法,其特征在于,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
基于所述样本数据或获取所述全链路行为序列进行各个操作对象之间跳转分析,该步骤包括:
通过对所述哈希树的广度遍历,得到所述各个操作对象之间的跳转信息;
将所述各个操作对象之间的跳转信息按照时序列或按照网络行为的类型进行存储,其中,遍历结果为从最早遍历时间节点到最晚遍历时间节点进行遍历得到的结果。
9.根据权利要求6所述的方法,其特征在于,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
基于所述样本数据或获取所述全链路行为序列进行各个行为数据之间的关系分析,该步骤包括:
通过对所述哈希树的深度遍历,得到所述各个行为数据之间的关系信息;
将所述各个行为数据之间的关系信息按照时序列或按照网络行为的类型进行存储。
10.根据权利要求6所述的方法,其特征在于,在获取所述样本数据或获取所述全链路行为序列之后,所述方法还包括:
基于所述样本数据或获取所述全链路行为序列进行各个操作对象的跳转路径分析,该步骤包括:
对所述哈希树的一次深度遍历,得到所述各个操作对象的跳转路径;
将所述各个操作对象的跳转路径按照时序列或按照网络行为的类型进行存储。
11.一种数据的存储装置,其特征在于,包括:
第一获取模块,用于获取至少一个操作对象的日志信息,所述日志信息包括:任意一个操作对象的多个行为数据,以及每个行为数据之间跳转时的关联因子,所述行为数据是用户针对操作对象的动作;
保存模块,用于基于树状存储结构保存所述任意一个操作对象的行为数据和所述每个行为数据之间跳转时的关联因子,得到每个操作对象的网络行为关系数据,所述网络行为关系数据用于展示所述用户在一次会话中的多种行为之间的关系;
第一确定模块,用于以用户访问操作对象过程的会话为单位,确定所述会话中包含的多个操作对象;
关联模块,用于将所述会话中包含的多个对象的网络行为关系数据进行关联存储,得到所述用户在所述会话内发生的网络访问结果;
其中,所述装置还包括:
第四获取模块,用于还原所述树状存储结构保存的所述网络行为关系数据和用户关系数据,得到多层逻辑哈希树的结构;
处理模块,用于对所述多层逻辑哈希树的结构进行列转行处理,将多值的列按照列转行后的顺序填充到输出数据集中,得到基于产品信息的全链路行为序列。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
分层模块,用于对数据池中的数据进行分层,得到至少如下数据层:原始层、公共层、中间层和应用层;
第二确定模块,用于按照业务类型从分层后的数据池中确定多个关键字段,其中,所述关键字段用于表征所述操作对象对应的行为数据;
第二获取模块,用于根据所述关键字段之间的业务跳转关系,得到所述每个行为数据之间跳转时的关联因子。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述用户的基本信息,以及与所述用户的网络访问行为关联的产品信息和其他用户的基本信息;
第一存储模块,用于以所述用户的基本信息为根节点,基于树状存储结构来存储所述产品信息和所述其他用户的基本信息,得到所述用户的所述用户关系数据。
14.根据权利要求12或13所述的装置,其特征在于,第四获取模块包括:
第一还原模块,用于还原所述用户关系数据:所述第一还原模块包括:
存储子模块,用于将所述用户的基本信息、所述产品信息和其他用户的基本信息存储至哈希树中,且内层表单和外层表单中各自仅存储相同类型的值。
15.根据权利要求12或13所述的装置,其特征在于,第四获取模块包括:
第二还原模块,用于还原所述网络行为关系数据,其中,所述第二还原模块包括如下至少之一:
解析模块,用于在所述操作对象为曝光产品的情况下,将曝光产品对应的配置文件中的字段tag和解析的value值一一映射,映射结果存储在内层表单中,并将内存表单存储至外层表单中;
第五获取模块,用于在所述行为数据为点击操作的情况下,获取点击操作数据,从所述点击操作数据中分割出独立的点击根节点,并基于所述点击根节点获取关联的操作信息存储至哈希树中。
CN201610730521.1A 2016-08-25 2016-08-25 数据的存储方法和装置 Active CN107783993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610730521.1A CN107783993B (zh) 2016-08-25 2016-08-25 数据的存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610730521.1A CN107783993B (zh) 2016-08-25 2016-08-25 数据的存储方法和装置

Publications (2)

Publication Number Publication Date
CN107783993A CN107783993A (zh) 2018-03-09
CN107783993B true CN107783993B (zh) 2021-11-30

Family

ID=61439023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610730521.1A Active CN107783993B (zh) 2016-08-25 2016-08-25 数据的存储方法和装置

Country Status (1)

Country Link
CN (1) CN107783993B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10614613B2 (en) * 2017-07-28 2020-04-07 Nvidia Corporation Reducing noise during rendering by performing parallel path space filtering utilizing hashing
CN108616415B (zh) * 2018-03-16 2020-11-27 新华三大数据技术有限公司 数据关联方法及装置
CN108710514B (zh) * 2018-05-21 2021-10-15 腾讯科技(深圳)有限公司 对象跳转控制方法和装置、存储介质及电子装置
CN108845942B (zh) * 2018-06-20 2024-03-12 上海幻电信息科技有限公司 产品特征管理方法、装置、系统及存储介质
CN110659918A (zh) * 2018-06-28 2020-01-07 上海传漾广告有限公司 一种网络广告的追踪和分析的优化方法
CN110968488B (zh) * 2018-09-30 2023-08-25 北京国双科技有限公司 用户数据的存储方法及装置
CN111415182A (zh) * 2019-01-07 2020-07-14 北京京东尚科信息技术有限公司 一种信息推送方法及装置、设备、存储介质
CN111723245B (zh) * 2019-03-18 2024-04-26 阿里巴巴集团控股有限公司 数据存储系统中建立不同类型存储对象关联关系的方法
CN112559513A (zh) * 2019-09-10 2021-03-26 网易(杭州)网络有限公司 链路数据存取方法、装置、存储介质、处理器及电子装置
CN111198879A (zh) * 2019-11-12 2020-05-26 恒大智慧科技有限公司 基于智慧社区的业务数据存储方法及系统
CN113434234B (zh) * 2021-06-29 2023-06-09 青岛海尔科技有限公司 页面跳转方法、装置、计算机可读存储介质及处理器
CN114328545B (zh) * 2022-03-03 2022-07-08 北京蚂蚁云金融信息服务有限公司 数据存储及查询方法、装置及数据库系统
CN116737727B (zh) * 2023-08-15 2023-12-01 杭州卡方分布信息科技有限公司 基于树结构的股票交易数据列式存储方法及服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054004A (zh) * 2009-11-04 2011-05-11 清华大学 一种网页推荐方法和装置
CN102087730A (zh) * 2009-12-08 2011-06-08 深圳市腾讯计算机系统有限公司 一种产品用户网络构建方法和装置
CN103530365A (zh) * 2013-10-12 2014-01-22 北京搜狗信息服务有限公司 获取资源的下载链接的方法及系统
CN104484479A (zh) * 2014-12-31 2015-04-01 小米科技有限责任公司 网页浏览处理方法及装置
CN105243334A (zh) * 2015-09-17 2016-01-13 浪潮(北京)电子信息产业有限公司 一种数据存储保护方法与系统
CN105320775A (zh) * 2015-11-11 2016-02-10 中科曙光信息技术无锡有限公司 数据的存取方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054004A (zh) * 2009-11-04 2011-05-11 清华大学 一种网页推荐方法和装置
CN102087730A (zh) * 2009-12-08 2011-06-08 深圳市腾讯计算机系统有限公司 一种产品用户网络构建方法和装置
CN103530365A (zh) * 2013-10-12 2014-01-22 北京搜狗信息服务有限公司 获取资源的下载链接的方法及系统
CN104484479A (zh) * 2014-12-31 2015-04-01 小米科技有限责任公司 网页浏览处理方法及装置
CN105243334A (zh) * 2015-09-17 2016-01-13 浪潮(北京)电子信息产业有限公司 一种数据存储保护方法与系统
CN105320775A (zh) * 2015-11-11 2016-02-10 中科曙光信息技术无锡有限公司 数据的存取方法和装置

Also Published As

Publication number Publication date
CN107783993A (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
CN107783993B (zh) 数据的存储方法和装置
KR101419504B1 (ko) 사용자 성향 분석을 통한 맞춤형 쇼핑 정보 제공 시스템 및 방법
García et al. An ontology-based data integration approach for web analytics in e-commerce
US9606970B2 (en) Web browser device for structured data extraction and sharing via a social network
KR101168705B1 (ko) 이동통신 단말기와 아이피 기반 정보 단말기를 이용한 맞춤, 지능형 심볼, 아이콘 인터넷 정보 검색시스템
US20160275453A1 (en) Guided page navigation
US20090319365A1 (en) System and method for assessing marketing data
Prom Using web analytics to improve online access to archival resources
Alkalbani et al. A centralised cloud services repository (CCSR) framework for optimal cloud service advertisement discovery from heterogenous web portals
CN101194257A (zh) 处理搜索信息的方法和系统
US20080091513A1 (en) System and method for assessing marketing data
CN104572863A (zh) 一种产品推荐方法及系统
Ashraf et al. Ontology usage analysis in the ontology lifecycle: A state-of-the-art review
Murthy et al. An REA ontology-based model for mapping big data to accounting information systems elements
CN105868225A (zh) 数据查询的方法、客户端、服务器及系统
CN105027123A (zh) 以基于代理的偏好指示为基础来推荐内容
Afsarmanesh et al. Semi-automated software service integration in virtual organisations
CN115017182A (zh) 一种可视化的数据分析方法及设备
Dextras‐Romagnino et al. Segmentifier: Interactive refinement of clickstream data
CN103227791B (zh) 一种无线数据采集的方法及装置
US9626711B2 (en) Systems and methods for providing product recommendations incorporating secondary sources of information
CN111507788A (zh) 数据推荐方法、装置、存储介质及处理器
Liu et al. Research on assistant decision-makings of E-commerce platform with refinement tools
Clark et al. Wikidata and knowledge graphs in practice: Using semantic SEO to create discoverable, accessible, machine-readable definitions of the people, places, and services in Libraries and Archives
Mowla et al. Analysis of web server logs to understand internet user behaviour and develop digital marketing strategies

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