CN109144404A - 基于多个dmp的数据存储以及查询方法、装置和电子设备 - Google Patents
基于多个dmp的数据存储以及查询方法、装置和电子设备 Download PDFInfo
- Publication number
- CN109144404A CN109144404A CN201710503086.3A CN201710503086A CN109144404A CN 109144404 A CN109144404 A CN 109144404A CN 201710503086 A CN201710503086 A CN 201710503086A CN 109144404 A CN109144404 A CN 109144404A
- Authority
- CN
- China
- Prior art keywords
- user
- dmp
- data
- key
- storage
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
Abstract
本发明提出一种基于多个DMP的数据存储方法、装置和电子设备,其中,方法包括:获取多个DMP中涉及同一用户的多个键值对;从获取到的多个键值对中,提取属性值位置存储的用户标签;对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据;存储用户与用户数据之间的对应关系。通过该方法,能够实现节省存储系统的存储空间,提高存储系统的整体运行效率。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种基于多个DMP的数据存储以及查询方法、装置和电子设备。
背景技术
在在线广告领域中,数据的收集和整理是广告市场上非常重要的环节。广告主通过对用户信息进行收集,来判断这个用户是否是潜在的消费者。但是,由广告主自身去收集用户数据的成本是巨大的,因此,可以委托第三方的专业公司来作为用户数据的管理平台(Data Management Platform,DMP)。同时,在广告主需要多个DMP的数据来丰富想要投递的用户标签时,需有一个管理多个数据管理平台的系统来综合多个DMP数据。相关技术中,不同的DMP使用不同的标签体系。
这种方式下,若广告主需要同一用户在不同的DMP中的用户标签时,广告检索系统就需要多次请求DMP标签的存储系统,增加了存储系统的负担,浪费了存储系统的资源。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种基于多个DMP的数据存储方法,以实现节省存储系统的存储空间,提高存储系统的整体运行效率,解决现有技术中在广告主需要同一用户在不同的DMP中的用户标签时,广告检索系统就需要多次请求DMP标签的存储系统,增加了存储系统的负担,浪费了存储系统的资源的技术问题。
本发明的第二个目的在于提出一种基于多个DMP的数据查询方法。
本发明的第三个目的在于提出一种基于多个DMP的数据存储装置。
本发明的第四个目的在于提出一种基于多个DMP的数据查询装置。
本发明的第五个目的在于提出一种电子设备。
本发明的第六个目的在于提出一种非临时性计算机可读存储介质。
本发明的第七个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种基于多个DMP的数据存储方法,包括:
获取多个DMP中涉及同一用户的多个键值对;
从获取到的多个键值对中,提取属性值位置存储的用户标签;
对所述多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据;
存储所述用户与所述用户数据之间的对应关系。
可选地,作为第一方面的第一种可能的实现方式,所述获取多个DMP中涉及同一用户的多个键值对,包括:
针对每一个DMP,查询所述DMP中各键值对的属性键位置存储的数据标识;
若所述数据标识中包含所述用户的用户标识,读取所述数据标识所属的键值对。
可选地,作为第一方面的第二种可能的实现方式,所述读取所述数据标识所属的键值对,包括:
判断所述键值对中,属性值是否为空;
若所述键值对中,属性值不为空,读取所述数据标识所属的键值对。
可选地,作为第一方面的第三种可能的实现方式,所述目标数据结构为多层嵌套结构;所述对所述多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据,包括:
根据所述用户所属的DMP,生成所述多层嵌套结构中的第一层;
根据从各DMP中提取到用户标签,生成所述多层嵌套结构中的第二层;
根据所述用户标签的对应字段编码和/或权重,生成所述多层嵌套结构中的第三层。
本发明实施例的基于多个DMP的数据存储方法,通过从多个DMP中涉及同一用户的多个键值对中,提取属性值位置存储的用户标签,而后,对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据,存储用户与用户数据之间的对应关系,能够节省存储系统的存储空间,提高存储系统的整体运行效率,解决现有技术中在广告主需要同一用户在不同的DMP中的用户标签时,广告检索系统就需要多次请求DMP标签的存储系统,增加了存储系统的负担,浪费了存储系统的资源的技术问题。
为达上述目的,本发明第二方面实施例提出了一种基于多个DMP的数据查询方法,包括:
接收用户标签查询请求;
根据所述查询请求所携带的用户标识,对存储的数据进行查询,得到所述用户标识对应的用户数据;
其中,所述用户数据,符合目标数据结构,是预先通过获取多个DMP中涉及所述用户的多个键值对,并从获取到的多个键值对中,提取属性值位置存储的用户标签之后,对所述多个键值对中的用户标签进行序列化生成的;
发送携带所述用户数据的查询响应。
本发明实施例的基于多个DMP的数据查询方法,通过接收用户标签查询请求,根据查询请求所携带的用户标识,对存储的数据进行查询,得到用户标识对应的用户数据,发送携带用户数据的查询响应,能够提高存储系统的整体运行效率,解决现有技术中在广告主需要同一用户在不同的DMP中的用户标签时,广告检索系统就需要多次请求DMP标签的存储系统,增加了存储系统的负担,浪费了存储系统的资源的技术问题。
为达上述目的,本发明第三方面实施例提出了一种基于多个DMP的数据存储装置,包括:
获取模块,用于获取多个DMP中涉及同一用户的多个键值对;
提取模块,用于从获取到的多个键值对中,提取属性值位置存储的用户标签;
生成模块,用于对所述多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据;
存储模块,用于存储所述用户与所述用户数据之间的对应关系。
可选地,作为第三方面的第一种可能的实现方式,所述目标数据结构为多层嵌套结构;所述获取模块,包括:
查询单元,用于针对每一个DMP,查询所述DMP中各键值对的属性键位置存储的数据标识;
读取单元,用于若所述数据标识中包含所述用户的用户标识,读取所述数据标识所属的键值对。
可选地,作为第三方面的第二种可能的实现方式,所述读取单元,具体用于:
若所述数据标识中包含所述用户的用户标识,判断所述键值对中,属性值是否为空;
若所述键值对中,属性值不为空,读取所述数据标识所属的键值对。
可选地,作为第三方面的第三种可能的实现方式,所述生成模块,具体用于:
根据所述用户所属的DMP,生成所述多层嵌套结构中的第一层;
根据从各DMP中提取到用户标签,生成所述多层嵌套结构中的第二层;
根据所述用户标签的对应字段编码和/或权重,生成所述多层嵌套结构中的第三层。
本发明实施例的基于多个DMP的数据存储装置,通过从多个DMP中涉及同一用户的多个键值对中,提取属性值位置存储的用户标签,而后,对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据,存储用户与用户数据之间的对应关系,能够节省存储系统的存储空间,提高存储系统的整体运行效率,解决现有技术中在广告主需要同一用户在不同的DMP中的用户标签时,广告检索系统就需要多次请求DMP标签的存储系统,增加了存储系统的负担,浪费了存储系统的资源的技术问题。
为达上述目的,本发明第四方面实施例提出了一种基于多个DMP的数据查询装置,包括:
接收模块,用于接收用户标签查询请求;
查询模块,用于根据所述查询请求所携带的用户标识,对存储的数据进行查询,得到所述用户标识对应的用户数据;
其中,所述用户数据,符合目标数据结构,是通过获取多个DMP中涉及所述用户的多个键值对,并从获取到的多个键值对中,提取属性值位置存储的用户标签之后,对所述多个键值对中的用户标签进行序列化生成的;
发送模块,用于发送携带所述用户数据的查询响应。
本发明实施例的基于多个DMP的数据查询装置,通过接收用户标签查询请求,根据查询请求所携带的用户标识,对存储的数据进行查询,得到用户标识对应的用户数据,发送携带用户数据的查询响应,能够提高存储系统的整体运行效率,解决现有技术中在广告主需要同一用户在不同的DMP中的用户标签时,广告检索系统就需要多次请求DMP标签的存储系统,增加了存储系统的负担,浪费了存储系统的资源的技术问题。
为达上述目的,本发明第五方面实施例提出了电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行第一方面实施例所述的基于多个DMP的数据存储方法,和/或执行第二方面实施例所述的基于多个DMP的数据查询方法。
为了实现上述目的,本发明第六方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上述第一方面实施例提出的基于多个DMP的数据存储方法,和/或实现上述第二方面实施例提出的基于多个DMP的数据查询方法。
为了实现上述目的,本发明第七方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行本发明上述第一方面实施例提出的基于多个DMP的数据存储方法,和/或执行第二方面实施例提出的基于多个DMP的数据查询方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种基于多个DMP的数据存储方法的流程示意图;
图2为本发明实施例所提供的另一种基于多个DMP的数据存储方法的流程示意图;
图3为本发明实施例所提供的另一种基于多个DMP的数据存储方法的流程示意图;
图4为本发明实施例所提供的一种基于多个DMP的数据查询方法的流程示意图;
图5为本发明实施例所提供的一种基于多个DMP的数据存储装置的结构示意图;
图6为本发明实施例所提供的另一种基于多个DMP的数据存储装置的结构示意图;
图7为本发明实施例所提供的一种基于多个DMP的数据查询装置的结构示意图;以及
图8为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
针对现有技术中若广告主需要同一用户在不同的DMP中的用户标签时,广告检索系统就需要多次请求DMP标签的存储系统,增加了存储系统的负担,浪费了存储系统的资源的问题,本发明实施例通过从多个DMP中涉及同一用户的多个键值对中,提取属性值位置存储的用户标签,而后,对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据,存储用户与用户数据之间的对应关系,能够节省存储系统的存储空间,提高存储系统的整体运行效率。
下面参考附图描述本发明实施例的基于多个DMP的数据存储以及查询方法、装置和电子设备。在具体描述本发明实施例之前,为了便于理解,首先对常用技术词进行介绍:
DMP,即数据管理平台,是收集、整理并管理来自多个数据源的结构化和非结构化大数据集的计算机系统。
图1为本发明实施例所提供的一种基于多DMP的数据存储方法的流程示意图。
如图1所示,该基于多个DMP的数据存储方法包括以下步骤:
S101,获取多个DMP中涉及同一用户的多个键值对。
不同的DMP具有不同的标签体系,不同的标签体系在存储数据时,可以采用键值对(Key-Value Pair)的形式。比如:
DMP1的存储方式为:用户标识1=>用户标签A|用户标签B(同一用户可能具有多个标签,即用户标识1对应的用户具有标签A和标签B)
需要说明的是,针对一个DMP中,某个用户的标签可以是多个,当然也可能不存在该用户的标签。DMP2的存储方式为:用户标识2=>用户标签C|用户标签F(即用户标识2对应的用户具有标签C和标签F)
DMPN的存储方式为:用户标识N=>用户标签K|用户标签A(即用户标识N对应的用户具有标签K和标签A)
虽然在大多数情况下,在不同的DMP之间,用户标识的形式是基本相同的,但是不同的DMP的标签体系是千差万别的。
例如,在存储系统中,可以使用DMP标识+用户标识的形式来作为某个DMP中用户数据的唯一标识,例如,在标识为DMPID1的DMP中,标识为ID1的用户,存储的数据标识为DMPID1+ID1;在标识为DMPID2的DMP中,标识为ID1的用户,存储的数据标识为DMPID2+ID1,能够保证同一用户标识可以存在于多个DMP标签体系中。
由于不同的DMP使用不同的标签体系,因此,当希望获取同一用户在不同的DMP中的用户标签时,需要区分不同的标签体系。
在本发明的实施例中,键值对包括属性键和属性值,属性键包括DMP标识和用户标识,属性值为用户标签。
其中,用户标签为用户的属性信息,例如为年龄、性别、喜好等;DMP标识可以唯一标识该DMP,DMP标识例如可以为DMPID,或者为其他;用户标识可以唯一标识该用户,用户标识例如可以为用户ID,或者为其他,对此不作限制。
由于同一用户标识可以存在于多个DMP标签体系中,且同一用户(可选地,将具有同一用户标识的用户识别为同一用户)可能具有多个标签,因此,在广告主需要同一用户存储在不同的DMP中的用户标签时,存储系统可以获取多个DMP中涉及同一用户的多个键值对,以根据获取到的多个键值对作后续处理。
另外,针对可能不存在该用户的用户标签的情况,还可以在获取某一用户的键值对时,判断属性值是否为空,若不为空,则说明存在该用户的用户标签,仅在存在该用户的用户标签时,读取该键值对。
S102,从获取到的多个键值对中,提取属性值位置存储的用户标签。
可选地,可以从获取到的涉及同一用户的多个键值对,提取属性值位置存储的用户标签,对多个键值对中的用户标签进行序列化处理,即将不同的DMP中涉及同一用户的用户标签统一到一个目标数据结构下。
S103,对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据。
可选地,在进行序列化时,首先根据多个键值对中的用户标签生成符合目标数据结构的结构数据,进而,将符合目标数据结构的结构数据,转化为二进制的字符串,从而序列化得到的用户数据,也就是说,用户数据具体为二进制的字符串形式。其中,目标数据结构将在后续实施例中进行详细说明,此处不再赘述。
在本发明的实施例中,将数据序列化与反序列化的工具有Protobuf、Thrift等,本发明实施例以采用Protobuf作为数据的序列化工具示例。
可选地,采用Protobuf对多个键值对中的用户标签进行序列化,即采用Protobuf工具,通过执行相关源程序代码实现对多个键值对中的用户标签进行序列化。其中一种实现方式,首先可以将不同的DMP中的涉及同一用户的用户标签统一到目标数据结构下,进而将该目标数据结构转化为二进制的字符串,该二进制的字符串也就是序列化获得的用户数据。由于用户数据携带有涉及各个DMP的键值对中的用户标签,这样在后期查询用户数据时,就可以通过一次查询来找到同一用户在所有DMP中的用户标签。
S104,存储用户与用户数据之间的对应关系。
存储用户的用户标识与用户数据之间的对应关系,用户数据是对多个键值对中的用户标签进行序列化得到的,从而用户数据中携带有多个DMP中涉及的用户标签。
作为一种可能的实现方式,若在DMP中,使用DMP标识+用户标识的形式来作为某个DMP中用户数据的唯一标识,即数据标识=DMP标识+用户标识,则本步骤中存储的用户标识具体为“DMP标识+用户标识”中的用户标识部分。
例如,DMP1中存储的数据标识为DMPID1+ID1,DMP2中存储的数据标识为DMPID2+ID1,则本步骤中存储的用户标识为“DMPID1+ID1”和“DMPID2+ID1”中的用户标识部分,即ID1。
本实施例的基于多个DMP的数据存储方法,通过从多个DMP中涉及同一用户的多个键值对中,提取属性值位置存储的用户标签,而后,对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据,存储用户与用户数据之间的对应关系,能够节省存储系统的存储空间,提高存储系统的整体运行效率。
作为本发明实施例的一种可能的实现方式,当目标数据结构为多层嵌套结构时,参见图2,在如图1所示实施例的基础上,步骤S103具体包括以下步骤:
S201,根据用户所属的DMP,生成多层嵌套结构中的第一层。
例如,当采用Protobuf的数据格式时,可以通过执行以下源程序代码实现根据用户所属的DMP,生成多层嵌套结构中的第一层,
由上述源程序代码可知,多层嵌套结构中的第一层存储内容为:存储有某一用户的标签信息的所有DMP,由于当DMP中包含有该用户的用户标签时,认为该用户属于DMP所维护的用户,从而也可以说第一层存储的内容为用户所属的所有DMP。
S202,根据从各DMP中提取到用户标签,生成多层嵌套结构中的第二层。
例如,当采用Protobuf的数据格式时,可以通过执行以下源程序代码实现根据从各DMP中提取到用户标签,生成多层嵌套结构中的第二层,
由上述源程序代码可知,多层嵌套结构中的第二层存储的即为各DMP中每个用户标识对应的所有的用户标签,包括性别、年龄、爱好等,其中,爱好可以记载在备注信息中。
S203,根据用户标签的对应字段编码和/或权重,生成多层嵌套结构中的第三层。
例如,当采用Protobuf的数据格式时,可以通过执行以下源程序代码实现根据用户标签的对应字段编码和/或权重,生成多层嵌套结构中的第三层,
由上述源程序代码可知,多层嵌套结构中的第二层存储的即为每一用户标签的值,包括用户标签的对应字段编码和/或权重。
综上所述,在存储系统中,本发明实施例的存储方案由传统的:用户标识1=>用户标签A|用户标签B,变为:用户标识1=>与用户标识1相关的DMP中的用户数据的Protobuf结构的字符串,当广告系统需要获取用户标识1相关的DMP中的用户数据时,就可以从存储系统中通过用户标识1,找到与其相关的DMP中的用户数据的Protobuf结构的字符串,而后,通过Protobuf的应用程序接口(Application Program Interface,API),将这个字符串进行反序列化,来取得相应的DMP中的用户标签。
可选的,在进行反序列化时,可以将二进制字符串形式的用户数据转化为符合目标数据结构的结构数据。通过该结构数据,可以知晓一个用户所属的所有的DMP,以及每一个DMP中,该用户所涉及的所有用户标签,以及各用户标签的字段编码和/或权重。
本实施例的基于多个DMP的数据存储方法,通过根据用户所属的DMP,生成多层嵌套结构中的第一层,根据从各DMP中提取到用户标签,生成多层嵌套结构中的第二层,根据用户标签的对应字段编码和/或权重,生成多层嵌套结构中的第三层,能够节省网络通信带宽,提升服务器的运行效率。
为了清楚说明上一实施例,参见图3,在如图1所示实施例的基础上,步骤S101具体包括以下步骤:
S301,针对每一个DMP,查询DMP中各键值对的属性键位置存储的数据标识。
在本发明的实施例中,可以使用DMP标识+用户标识的形式来作为某个DMP中用户数据的唯一标识,即数据标识=DMP标识+用户标识。
例如,在标识为DMPID1的DMP中,标识为ID1的用户,存储的数据标识为DMPID1+ID1;在标识为DMPID2的DMP中,标识为ID1的用户,存储的数据标识为DMPID2+ID1,能够保证同一用户标识可以存在于多个DMP标签体系中。
由于不同的DMP使用不同的标签体系,因此,当希望获取同一用户在不同的DMP中的用户标签时,需要区分不同的标签体系。
S302,若数据标识中包含用户的用户标识,读取数据标识所属的键值对。
可选地,由于同一用户标识可以存在于多个DMP标签体系中,且同一用户可能具有多个标签,因此,首先需要判断每一个DMP中的数据标识中是否包含用户的用户标识,在数据标识中未包含用户的用户标识时,表明该数据标识对应的DMP中未存储该用户标识对应的用户标签,此时,存储系统可以不作任何处理;在数据标识中包含用户的用户标识时,表明该数据标识对应的DMP中存储了该用户标识对应的用户标签,进一步地,还可以判断键值对中,属性值是否为空,由于属性值为用户标签,在属性值为空时,表明该数据标识对应的DMP中存储的该用户标识对应的用户标签的个数为零,此时,存储系统可以不作任何处理,在属性值不为空时,表明该数据标识对应的DMP中存储的该用户标识对应的用户标签的个数不为零,此时,存储系统可以读取数据标识所属的键值对。
本实施例的基于多个DMP的数据存储方法,通过针对每一个DMP,查询DMP中各键值对的属性键位置存储的数据标识,若数据标识中包含用户的用户标识,读取数据标识所属的键值对,能够便于后续处理,提升存储系统的运行效率。
图4为本发明实施例所提供的一种基于多个DMP的数据查询方法的流程示意图。
如图4所示,该基于多个DMP的数据查询方法包括以下步骤:
S401,接收用户标签查询请求。
可选地,在在广告主需要同一用户在不同的DMP中的用户标签时,可以向存储系统发送用户标签查询请求,存储系统接收用户标签查询请求,并作相应处理。
S402,根据查询请求所携带的用户标识,对存储的数据进行查询,得到用户标识对应的用户数据;其中,用户数据,符合目标数据结构,是预先通过获取多个DMP中涉及用户的多个键值对,并从获取到的多个键值对中,提取属性值位置存储的用户标签之后,对多个键值对中的用户标签进行序列化生成的。
可选地,在存储系统中根据查询请求所携带的用户标识,对存储的数据进行查询,得到用户标识对应的用户数据,易于实现且操作简单。
例如,当广告系统需要取得与用户标识2相关的DMP中的用户数据时,可以从存储系统中通过用户标识2找到其相关的DMP中的用户数据的Protobuf结构的字符串。而后,通过Protobuf的API将这个字符串进行反序列化,来取得与用户标识2相应的DMP中的用户数据。
S403,发送携带用户数据的查询响应。
可选地,存储系统发送携带用户数据的查询响应,以便广告主向潜在的用户投递广告。
本实施例的基于多个DMP的数据查询方法,通过接收用户标签查询请求,根据查询请求所携带的用户标识,对存储的数据进行查询,得到用户标识对应的用户数据,发送携带用户数据的查询响应,能够提高存储系统的整体运行效率。
为了实现上述实施例,本发明还提出一种基于多个DMP的数据存储装置。
图5为本发明实施例提供的一种基于多个DMP的数据存储装置的结构示意图。
如图5所示,该基于多个DMP的数据存储装置包括:获取模块510、提取模块520、生成模块530,以及存储模块540。其中,
获取模块510,用于获取多个DMP中涉及同一用户的多个键值对。
提取模块520,用于从获取到的多个键值对中,提取属性值位置存储的用户标签。
生成模块530,用于对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据。
存储模块540,用于存储用户与用户数据之间的对应关系。
可选地,在本发明实施例的一种可能的实现方式中,生成模块530,具体用于:根据用户所属的DMP,生成多层嵌套结构中的第一层;根据从各DMP中提取到用户标签,生成多层嵌套结构中的第二层;根据用户标签的对应字段编码和/或权重,生成多层嵌套结构中的第三层。
进一步地,在本发明实施例的一种可能的实现方式中,目标数据结构为多层嵌套结构,在图5的基础上,参见图6,该基于多个DMP的数据存储装置还进一步包括:
可选地,获取模块510,包括:
查询单元511,用于针对每一个DMP,查询DMP中各键值对的属性键位置存储的数据标识。
读取单元512,用于若数据标识中包含用户的用户标识,读取数据标识所属的键值对。
具体实现时,读取单元512,具体用于:若数据标识中包含用户的用户标识,判断键值对中,属性值是否为空;若键值对中,属性值不为空,读取数据标识所属的键值对。
需要说明的是,前述图1-图3对基于多个DMP的数据存储方法实施例的解释说明也适用于该实施例的基于多个DMP的数据存储装置,此处不再赘述。
本实施例的基于多个DMP的数据存储装置,通过从多个DMP中涉及同一用户的多个键值对中,提取属性值位置存储的用户标签,而后,对多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据,存储用户与用户数据之间的对应关系,能够节省存储系统的存储空间,提高存储系统的整体运行效率。
为了实现上述实施例,本发明还提出一种基于多个DMP的数据查询装置。
图7为本发明实施例提供的一种基于多个DMP的数据查询装置的结构示意图。
如图7所示,该基于多个DMP的数据查询装置700包括:接收模块710、查询模块720,以及发送模块730。其中,
接收模块710,用于接收用户标签查询请求。
查询模块720,用于根据查询请求所携带的用户标识,对存储的数据进行查询,得到用户标识对应的用户数据;其中,用户数据,符合目标数据结构,是预先通过获取多个DMP中涉及用户的多个键值对,并从获取到的多个键值对中,提取属性值位置存储的用户标签之后,对多个键值对中的用户标签进行序列化生成的。
发送模块730,用于发送携带用户数据的查询响应。
本实施例的基于多个DMP的数据查询装置,通过接收用户标签查询请求,根据查询请求所携带的用户标识,对存储的数据进行查询,得到用户标识对应的用户数据,发送携带用户数据的查询响应,能够提高存储系统的整体运行效率。
本发明实施例还提供一种电子设备,电子设备包含前述任一实施例的装置。
图8为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-7所示实施例的流程,如图8所示,上述电子设备可以包括:壳体81、处理器82、存储器83、电路板84和电源电路85,其中,电路板84安置在壳体81围成的空间内部,处理器82和存储器83设置在电路板84上;电源电路85,用于为上述电子设备的各个电路或器件供电;存储器83用于存储可执行程序代码;处理器82通过读取存储器83中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述图1-图3实施例所述的基于多个DMP的数据存储方法,和/或执行前述图4实施例所述的基于多个DMP的数据查询方法。
处理器82对上述步骤的具体执行过程以及处理器82通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-4所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时能够实现前述图1-图3实施例所述的基于多个DMP的数据存储方法,和/或执行前述图4实施例所述的基于多个DMP的数据查询方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行本发明前述图1-图3实施例所述的基于多个DMP的数据存储方法,和/或执行前述图4实施例所述的基于多个DMP的数据查询方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于多个DMP的数据存储方法,其特征在于,包括以下步骤:
获取多个DMP中涉及同一用户的多个键值对;
从获取到的多个键值对中,提取属性值位置存储的用户标签;
对所述多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据;
存储所述用户与所述用户数据之间的对应关系。
2.根据权利要求1所述的基于多个DMP的数据存储方法,其特征在于,所述获取多个DMP中涉及同一用户的多个键值对,包括:
针对每一个DMP,查询所述DMP中各键值对的属性键位置存储的数据标识;
若所述数据标识中包含所述用户的用户标识,读取所述数据标识所属的键值对。
3.根据权利要求2所述的基于多个DMP的数据存储方法,其特征在于,所述读取所述数据标识所属的键值对,包括:
判断所述键值对中,属性值是否为空;
若所述键值对中,属性值不为空,读取所述数据标识所属的键值对。
4.根据权利要求1-3任一项所述的基于多个DMP的数据存储方法,其特征在于,所述目标数据结构为多层嵌套结构;
所述对所述多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据,包括:
根据所述用户所属的DMP,生成所述多层嵌套结构中的第一层;
根据从各DMP中提取到用户标签,生成所述多层嵌套结构中的第二层;
根据所述用户标签的对应字段编码和/或权重,生成所述多层嵌套结构中的第三层。
5.一种基于多个DMP的数据查询方法,其特征在于,包括以下步骤:
接收用户标签查询请求;
根据所述查询请求所携带的用户标识,对存储的数据进行查询,得到所述用户标识对应的用户数据;其中,所述用户数据,符合目标数据结构,是预先通过获取多个DMP中涉及所述用户的多个键值对,并从获取到的多个键值对中,提取属性值位置存储的用户标签之后,对所述多个键值对中的用户标签进行序列化生成的;
发送携带所述用户数据的查询响应。
6.一种基于多个DMP的数据存储装置,其特征在于,包括:
获取模块,用于获取多个DMP中涉及同一用户的多个键值对;
提取模块,用于从获取到的多个键值对中,提取属性值位置存储的用户标签;
生成模块,用于对所述多个键值对中的用户标签进行序列化,以生成符合目标数据结构的用户数据;
存储模块,用于存储所述用户与所述用户数据之间的对应关系。
7.根据权利要求6所述的基于多个DMP的数据存储装置,其特征在于,所述目标数据结构为多层嵌套结构;所述获取模块,包括:
查询单元,用于针对每一个DMP,查询所述DMP中各键值对的属性键位置存储的数据标识;
读取单元,用于若所述数据标识中包含所述用户的用户标识,读取所述数据标识所属的键值对。
8.根据权利要求7所述的基于多个DMP的数据存储装置,其特征在于,所述读取单元,具体用于:
若所述数据标识中包含所述用户的用户标识,判断所述键值对中,属性值是否为空;
若所述键值对中,属性值不为空,读取所述数据标识所属的键值对。
9.根据权利要求6-8任一项所述的基于多个DMP的数据存储装置,其特征在于,所述生成模块,具体用于:
根据所述用户所属的DMP,生成所述多层嵌套结构中的第一层;
根据从各DMP中提取到用户标签,生成所述多层嵌套结构中的第二层;
根据所述用户标签的对应字段编码和/或权重,生成所述多层嵌套结构中的第三层。
10.一种基于多个DMP的数据查询装置,其特征在于,包括:
接收模块,用于接收用户标签查询请求;
查询模块,用于根据所述查询请求所携带的用户标识,对存储的数据进行查询,得到所述用户标识对应的用户数据;其中,所述用户数据,符合目标数据结构,是预先通过获取多个DMP中涉及所述用户的多个键值对,并从获取到的多个键值对中,提取属性值位置存储的用户标签之后,对所述多个键值对中的用户标签进行序列化生成的;
发送模块,用于发送携带所述用户数据的查询响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710503086.3A CN109144404A (zh) | 2017-06-27 | 2017-06-27 | 基于多个dmp的数据存储以及查询方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710503086.3A CN109144404A (zh) | 2017-06-27 | 2017-06-27 | 基于多个dmp的数据存储以及查询方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109144404A true CN109144404A (zh) | 2019-01-04 |
Family
ID=64805364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710503086.3A Pending CN109144404A (zh) | 2017-06-27 | 2017-06-27 | 基于多个dmp的数据存储以及查询方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144404A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427538A (zh) * | 2019-07-30 | 2019-11-08 | 北京奇艺世纪科技有限公司 | 一种数据查询方法、存储方法、装置及电子设备 |
CN111582991A (zh) * | 2020-05-13 | 2020-08-25 | 中国银行股份有限公司 | 产品信息推荐方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN102523131A (zh) * | 2011-12-07 | 2012-06-27 | 上海海高通信发展有限公司 | 用户上网行为收集方法、分析方法和系统 |
CN103353887A (zh) * | 2013-06-28 | 2013-10-16 | 贵阳朗玛信息技术股份有限公司 | 用户数据查找方法及装置 |
CN103577440A (zh) * | 2012-07-27 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
US20170147393A1 (en) * | 2015-11-20 | 2017-05-25 | Sap Se | Cache-efficient system for two-phase processing |
-
2017
- 2017-06-27 CN CN201710503086.3A patent/CN109144404A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN102523131A (zh) * | 2011-12-07 | 2012-06-27 | 上海海高通信发展有限公司 | 用户上网行为收集方法、分析方法和系统 |
CN103577440A (zh) * | 2012-07-27 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
CN103353887A (zh) * | 2013-06-28 | 2013-10-16 | 贵阳朗玛信息技术股份有限公司 | 用户数据查找方法及装置 |
US20170147393A1 (en) * | 2015-11-20 | 2017-05-25 | Sap Se | Cache-efficient system for two-phase processing |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427538A (zh) * | 2019-07-30 | 2019-11-08 | 北京奇艺世纪科技有限公司 | 一种数据查询方法、存储方法、装置及电子设备 |
CN110427538B (zh) * | 2019-07-30 | 2023-01-20 | 北京奇艺世纪科技有限公司 | 一种数据查询方法、存储方法、装置及电子设备 |
CN111582991A (zh) * | 2020-05-13 | 2020-08-25 | 中国银行股份有限公司 | 产品信息推荐方法及装置 |
CN111582991B (zh) * | 2020-05-13 | 2023-09-01 | 中国银行股份有限公司 | 产品信息推荐方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102713904B (zh) | 利用可缩放的数据结构的方法和装置 | |
CN107735804B (zh) | 用于不同标记集合的转移学习技术的系统和方法 | |
CN101477532B (zh) | 实现数据存储、读取的方法、装置及系统 | |
CN102037481A (zh) | 用于检测行为模式的方法及设备 | |
CN102122280B (zh) | 一种智能提取内容对象的方法及系统 | |
TW200723015A (en) | System for very simple network management | |
CN105825083A (zh) | 图片版权保护方法和识别方法及其相关方法和系统 | |
CN106201698A (zh) | 一种管理应用程序的方法、装置及电子设备 | |
CN105100206A (zh) | 名片的推送方法、设备及系统 | |
CN109999489A (zh) | 资源更新方法、装置和电子设备 | |
CN103020144B (zh) | 文件管理系统和文件管理方法 | |
CN109885654A (zh) | 在线文档修改处理方法和装置 | |
CN108139895A (zh) | 字体字型预览 | |
CN110334279A (zh) | 广告投放方法、装置、服务器及存储介质 | |
CN101576919B (zh) | 标识生成方法和装置 | |
CN109144404A (zh) | 基于多个dmp的数据存储以及查询方法、装置和电子设备 | |
JP2012507767A5 (zh) | ||
CN112364102A (zh) | 一种基于区块链的大数据交易方法、装置、介质及设备 | |
CN107679222A (zh) | 图片处理方法、移动终端及计算机可读存储介质 | |
CN101384050A (zh) | 一种移动终端及其资源管理的方法及系统 | |
CN108012558A (zh) | 电话号码规范化以及信息可发现性 | |
CN104899316A (zh) | 游戏数据的序列化与反序列化处理方法及装置 | |
CN106201476B (zh) | 一种构建哈希映射表的方法、装置及电子设备 | |
CN111178965B (zh) | 一种资源投放方法及服务器 | |
CN108874847A (zh) | 自定义规则的匹配方法、装置、电子设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190104 |