CN107391506A - 用于查询数据的方法和装置 - Google Patents

用于查询数据的方法和装置 Download PDF

Info

Publication number
CN107391506A
CN107391506A CN201610322753.3A CN201610322753A CN107391506A CN 107391506 A CN107391506 A CN 107391506A CN 201610322753 A CN201610322753 A CN 201610322753A CN 107391506 A CN107391506 A CN 107391506A
Authority
CN
China
Prior art keywords
attribute
data
user
querying condition
bit
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
Application number
CN201610322753.3A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Huawei Software Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610322753.3A priority Critical patent/CN107391506A/zh
Publication of CN107391506A publication Critical patent/CN107391506A/zh
Pending legal-status Critical Current

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种查询数据的方法,该方法包括:获取查询请求,该查询请求用于指示查询条件,该查询条件是根据至少一个第一目标属性标识设定的,或该查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的;根据该查询条件确定查询顺序,该查询顺序是指针对用户标识的查询与针对属性标识的查询相互之间的先后顺序;当该查询条件是根据该至少一个第一目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第一目标用户;当该查询条件是根据该至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第二目标用户的该至少一个第二目标属性的属性值。

Description

用于查询数据的方法和装置
技术领域
本发明涉及数据处理领域,并且更具体地,涉及用于查询数据的方法和装置。
背景技术
随着互联网的兴起,人们在工作、生活和娱乐过程中产生了大量的数据。而以Hadoop为代表的一批大数据技术的发展,使得人们可以对这些大量的数据进行记录和存储,以支持后续的批量数据的分析和挖掘,得到具有潜在价值的有益的数据。
考虑到海量的用户数据的存储和查询的数据量都非常大,现有技术中采用分布式数据库,对数据进行分片,以提高系统的查询性能。但是,从目前的使用情况来看,分布式数据库并没有很好地解决海量用户数据查询的问题。例如,用户的数量可达10亿,用户的属性可达100万,这样的数据存储在传统的数据库中,可达到百亿列、百万行。在这样的业务场景下,即使采用分布式数据库,查询的数据量依然非常大。
因此,亟需一种可以针对海量用户数据的数据查询技术,以降低查询的数据量。
发明内容
本申请提供一种查询数据的方法,能够降低查询的数据量。
第一方面,本申请提供一种查询数据的方法,应用于存储有多个用户的数据的用户数据库,每个用户在该用户数据库中存储有至少一个数据,该至少一个数据与用户的至少一个属性一一对应,每个数据用于记录所对应的属性的属性值,每个数据包括用户标识和属性标识,该用户标识用于标识一个数据所属于的用户,该属性标识用于标识一个数据所对应的属性,该方法包括:获取查询请求,该查询请求用于指示查询条件,该查询条件是根据至少一个第一目标属性标识设定的,该至少一个第一目标属性标识用于标识至少一个第一目标属性,该查询请求用于请求查询至少一个第一目标用户,每个第一目标用户的该至少一个第一目标属性的属性值满足该查询条件,或者,该查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的,该至少一个第二目标用户标识用于标识至少一个第二目标用户,该至少一个第二属性标识用于标识至少一个第二目标属性,该查询请求用于请求查询该至少一个第二目标用户的该至少一个第二目标属性的属性值;根据该查询条件确定查询顺序,该查询顺序用于指示在该用户数据库中查询数据时,针对用户标识的查询与针对属性标识的查询相互之间的先后顺序;当该查询条件是根据该至少一个第一目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第一目标用户;当该查询条件是根据该至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第二目标用户的该至少一个第二目标属性的属性值。
结合第一方面,在第一方面的第一种实现方式中,当该查询条件是根据该至少一个第一目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第一目标用户,包括:根据该至少一个第一目标属性标识,确定该至少一个第一目标属性;从该用户数据库中获取该至少一个第一目标属性对应的第一目标数据;根据该第一目标数据记录的属性值、该第一目标数据的用户标识和该查询条件,确定该至少一个第一目标用户。
结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,当该查询条件是根据该至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第二目标用户的该至少一个第二目标属性的属性值,包括:根据该至少一个第二目标用户标识,从该用户数据库中获取用户标识为第二目标用户标识的第二目标数据;根据该第二目标数据的属性标识,确定该至少一个第二目标用户的该至少一个第二目标属性的属性值。
结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,该多个用户的数据存储在数据表中,该数据表包括多个行和多个列,每个行存储该多个用户的同一个属性的属性值,每个列存储该多个用户中的一个用户的全部属性的属性值。
第二方面,本申请提供了一种用于查询数据的装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的单元。
第三方面,本申请提供一种用于查询数据的设备,该设备包括:接收器、发送器、处理器、存储器和总线系统。其中,接收器、发送器、处理器和存储器通过总线系统相连,存储器用于存储指令,处理器用于执行存储器存储的指令,以控制接收器接收信号和控制发送器发送信号。并且当处理器执行存储器存储的指令时,执行使得处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,本申请提供一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
本申请提供了一种用于查询数据的方法和装置,能够降低查询的数据量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的用于查询数据的方法的示意性流程图。
图2是适用于本发明一实施例的用于查询数据的方法的系统架构图。
图3是根据本发明一实施例的用于查询数据的方法的示意性交互图。
图4是根据本发明实施例的用于查询数据的装置的示意性框图。
图5是根据本发明实施例的用于查询数据的设备的示意性结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,在本发明实施例中,编号“第一”、“第二”仅仅为了区分不同的对象,例如,为了区分不同的用户标识或不同的属性标识等,不应对本发明实施例的保护范围构成任何限定。
图1示出了根据本发明实施例的用于查询数据的方法100的示意性流程图。如图1所示,该方法100包括:
110、获取查询请求,该查询请求用于指示查询条件,该查询条件是根据至少一个第一目标属性标识设定的,该至少一个第一目标属性标识用于标识至少一个第一目标属性,该查询请求用于请求查询至少一个第一目标用户,每个第一目标用户的该至少一个第一目标属性的属性值满足该查询条件,或者,
该查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的,该至少一个第二目标用户标识用于标识至少一个第二目标用户,该至少一个第二属性标识用于标识至少一个第二目标属性,该查询请求用于请求查询该至少一个第二目标用户中每个第二目标用户的该至少一个第二目标属性的属性值。
在本发明实施例中,用户数据库中存储有大量用户的数据。每个用户在用户数据库中存储有至少一个数据,该至少一个数据用于记录该用户的至少一个属性的属性值。存储在用户数据库中的每个数据包括用户标识和属性标识。其中,用户标识用于标识一个数据所属于的用户,属性标识用于标识一个数据所对应的属性。
或者说,用户标识用于描述一个数据属于哪个用户,属性标识用于描述一个数据对应哪个属性(或者说,字段)。
例如,数据#1(用户#A,年龄),其中,“用户#A”为数据#1的用户标识,“年龄”为数据#1的属性标识(即,“年龄”属性)。这样,数据#1就表示用户#A的年龄。又例如,数据#2(用户#B,性别),其中,“用户#B”为数据#2的用户标识,“性别”为数据#2的属性标识(即,“性别”属性)。这样,数据#2就表示用户#B的性别。
应理解,根据本发明实施的用户数据库中,存储有大量用户的同一个属性的属性值。或者说,用户数据库存储了不同用户的相同属性的属性值。例如,如果用户数据库中存储的用户#A的属性包括“年龄”、“性别”和“职业”,那么,存储在用户数据库中的任意一个用户的属性也应包括“年龄”、“性别”和“职业”。
在本发明实施例中,查询条件可以是根据至少一个第一目标属性标识设定的,或者,也可以是根据至少一个目标用户标识和至少一个属性标识设定的。
例如,营销策划人员想要筛选出“偏好iphone6s-玫瑰金的女性用户”的目标用户群,营销人员可以将“iphone6s偏好值>0.8And偏好颜色=玫瑰金And性别=女”作为查询条件。
即,查询条件是根据3个目标属性标识设定的。3个目标属性标识所对应(或者说,所标识)的属性分别为“iphone6s偏好值”属性、“偏好颜色”属性和“性别”属性。
此种情况下,查询条件是根据至少一个第一目标属性标识设定的。查询请求用于请求查询满足查询条件的目标用户(可对应本发明实施例中的第一目标用户)。
又例如,营销策划人员想要从上述筛选出的“偏好iphone6s-玫瑰金的女性用户”的目标用户群中,查看用户#C的“职业”。营销人员可以将“用户#C And职业”作为查询条件。
即,查询条件是根据1个目标用户标识和1个目标属性标识设定的。目标用户标识为“用户#C”,目标属性标识为“职业”。
此种情况下,查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的。查询请求用于请求查询该至少一个第二目标用户标识所标识的目标用户(可对应本发明实施例的第二目标用户)的该至少一个目标属性的属性值。
120、根据该查询条件确定查询顺序。
其中,该查询顺序用于指示在该用户数据库中查询数据时,针对用户标识的查询与针对属性标识的查询的先后顺序。
需要说明的是,针对属性标识的查询是指以属性标识为索引的查询,针对用户标识的查询是指以用户标识为索引的查询。
可以理解的是,在本发明实施例中,用户数据库中的每个数据都具有用户标识和属性标识。因此,在根据查询条件查询数据时,可以先根据用户标识查询,后根据属性标识查询。或者也可以根据先根据属性标识查询,后根据用户标识查询。
在本发明实施例中,根据查询请求查询数据时,首先需要确定查询顺序。
如前文所述,如果,查询请求是用于请求查询满足某一查询条件的用户的集合(或者说,目标用户群)。那么,确定的查询顺序就可以为针对属性标识的查询在前,针对用户标识的查询在后(即,情况1)。如果,查询请求是用于请求查询某些用户的某些属性的属性值,那么,确定的查询顺序就可以为针对用户标识的属性在前,针对属性标识的查询在后(即,情况2)。
例如,查询条件为“iphone6s偏好值>0.8And偏好颜色=玫瑰金And性别=女”(即,查询条件是根据至少一个第一目标属性标识设定的一例),那么系统确定的查询顺序为针对属性标识的查询在针对用户标识的查询之前。
即,首先根据查询条件中“iphone6s偏好值”、“偏好颜色”和“性别”三个目标属性标识,从用户数据库中获取所述三个目标属性标识对应目标数据(可对应本发明实施例中的第一目标数据)。其后,根据第一目标数据的用户标识和第一目标数据所记录的属性值,确定满足查询条件的至少一个第一目标用户。
可以理解的是,在该实施例中,第一目标数据为多个数据构成的数据集合。该数据集合中的数据的属性标识为“iphone6s偏好值”、“偏好颜色”和“性别”中的任意一个。第一目标用户为该数据集合中,用户标识相同(例如,用户标识为用户#D),且“iphone6s偏好值”属性的属性值大于0.8,“偏好颜色”属性的属性值为“玫瑰金”,“性别”属性为“女”的数据所对应的用户。
可以理解的是,在本发明实施例中,每个用户都存储有至少一个数据。换句话说,每个用户在用户数据库中对应一组数据,该一组数据的用户标识相同,但属性标识不同,每个数据记录了该用户的一个属性的属性值。即,在该实施例中,当用户标识相同的一组数据满足根据至少一个目标属性设定的第一查询条件时,该组数据的用户标识所标识的用户即为查询的目标用户。
又例如,查询条件为“用户#B、用户#C和用户#E的偏好颜色”(即,第二查询条件的一例),那么,系统确定的查询顺序为针对用户标识的查询在针对属性标识的查询之前。
即,首先根据查询条件中“用户#B”、“用户#C”和“用户#E”三个用户标识,从用户数据库中确定用户标识为“用户#B”、“用户#C”和“用户#E”的目标数据(可对应本发明实施例的第二目标数据)。其后,根据该第二目标数据的属性标识,确定第二目标数据的“偏好颜色”的属性值。
可以理解的是,在该实施例中,第二目标数据为数据#1(用户#B,偏好颜色)、数据#2(用户#C,偏好颜色)和数据#3(用户#E,偏好颜色)构成的数据集合。
130、当该查询条件是根据该至少一个第一目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第一目标用户;
当该查询条件是根据该至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第二目标用户的该至少一个第二目标属性的属性值。
应理解,本发明实施例中,系统可以根据不同的查询条件,确定在用户数据库中查询数据时使用的顺序。
优选地,在情况1的查询场景下,根据本发明实施例的用于查询数据的方法,首先针对属性标识进行查询,之后,再针对用户标识进行查询。在用户数据库中存储的数据量非常大,查询属性(或者说,字段)比较随机的情况下,避免了查询与目标属性无关的属性,只从用户数据库中读取目标属性。之后,再对读取的目标属性的数据进行查询。当目标属性对应的数据符合查询条件时,再查询这些数据的用户标识,从而可以确定满足查询条件的用户。
在情况2的查询场景下,本发明实施例的用于查询数据的方法,首先针对属性标识进行查询,之后,再针对属性标识进行查询。即,首先,从用户数据库中确定需要查询的目标用户(针对用户标识的查询),之后,再获取目标用户的目标属性(针对属性标识的查询)。
需要说明的是,在本发明实施例中,对于海量的用户数据的任意维度的查询,通过先执行针对属性的查询,后执行针对用户的查询,一方面,系统在针对属性查询时,只查询查询条件中涉及的属性(或者说,或者说只查询目标属性),可以降低查询的数据量。另一方面,即使用户数据库中存储的数据量非常大,每个用户的属性非常多。在执行查询时,只将涉及的目标属性(或者说,字段)从磁盘读入内存,而查询条件中不涉及的属性不需要读入内存,可以降低输入输出I/O开销,同时可以提高每次I/O的效率,从而可以缩短响应时间,提高查询性能。
例如,系统获取到查询请求,查询请求中包括查询条件#1,查询条件#1用于请求查询用户数据库中“年龄30岁以下iphone6s偏好值至大于0.8的女性”。
根据本发明实施例的用于查询数据的方法,查询条件是根据“年龄”、“iphone6s偏好值”和“性别”三个属性标识设定的查询条件。或者说,查询的目的是用于查询满足查询条件#1的用户人群。首先,系统确定针对属性的查询在针对用户的查询之前。即,首先从用户数据库中,获取“年龄”、“iphone6s偏好值”和“性别”3个属性对应的数据,之后,在确定该3个属性对应的数据是否满足查询条件#1。
应理解,在确定该3个属性对应的数据是否满足查询条件#1时,应将用户标识(例如,用户属性为用户#C)相同的数据作为一次确定的过程。例如,数据#3(用户#C,年龄)、数据#4(用户#C,iphone6s偏好值)和数据#5(用户#C,性别)的用户标识相同,都属于用户#C。数据#3、数据#4和数据#5分别记录了用户#C的“年龄”属性、“iphone6s偏好值”属性和“性别”属性。如果上述数据#3、数据#4和数据#5满足查询条件#1,那么,用户#C就是查询的目标用户。如果上述数据#3、数据#4和数据#5中至少有一个数据不满足查询条件#1,那么,用户#C就不属于目标用户。
图2示出了适用于本发明一实施例的用于查询数据的方法的示意性系统架构图。如图2所示,该系统架构中包括应用服务器和数据库服务器。
为了便于理解,首先对该系统架构中各设备的作用或功能进行说明。
应用服务器(APP Server):相当于网页服务器(Web Server),主要作用是提供网上信息浏览服务。
在本发明实施例中,假设营销策划人员需要从用户数据库中查询营销策划的目标用户群。可以认为该应用服务器是面向营销策划人员的。营销策划人员可以通过应用户服务器输入查询条件,并通过应用服务器获取最后的查询结果。
客户知识管理(Customer Knowledge Management,CKM)系统:用于存储和管理终端用户的属性特征,标签等。
在本发明实施例中,CKM系统至少具有两种功能,一方面是存储和管理用户的信息,例如,属性特征、标签等。另一方面,可以调用HBase数据库。
客户端引擎(引擎Client.jar):相当于数据库的Java数据库连接(JavaData Base Connectivity,Java数据库连接)。
通过引擎Client.jar,应用服务器可以和数据库服务器之间进行交互。应用服务器在接收到查询请求(或者说,查询语句)后,通过引擎Client.jar将查询请求发送给数据库服务器,以便于数据库服务器根据查询请求对HBase数据库中存储的大量的用户数据进行查询,以获得查询结果。再通过引擎Client.jar将查询结果返回给应用服务器。
服务器引擎(引擎server.jar):相当于数据库存储过程。
通过引擎server.jar,数据库服务器接收应用服务器发送的查询请求,并根据查询请求对HBase数据库进行查询,获得查询结果,并通过引擎server.jar将查询结果发送给应用服务器。
数据库进程(HBase Process):相当于HBase数据库系统。
即,可对应本发明实施例的中的用户数据库。存储有海量的用户数据。
应理解,本发明实施例中,在对用户数据库进行查询之前,首先需要将海量的用户数据存储在用户数据库中。在实际应用中,企业的业务人员(例如,营销策划人员)基于全量的用户数据,进行探索式的交互式迭代查询分析,可以挖掘出更多的高价值的数据。
下面对图2中所示的系统架构在查询数据时具体的交互步骤进行说明。
①第三方系统(此处是CKM组件)将查询语句发送给引擎Client.jar进程。其中,查询语句中包括规则字符串。
②引擎Client.jar将查询语句中的规则字符串转换为约定格式,然后调用HBase服务端(或者说,数据库服务器)。HBase服务端根据Coprocessor框架,自动调用部署于其上的引擎服务器(即,引擎server.jar进程)。
③引擎Server.jar进程提取查询语句中涉及的字段,调用HBase的Get接口对HBase数据库进行查询。并对查询语句进行预编译。
应理解,此处的“字段”可对应本发明实施例中的“属性”。例如,“年龄”属性,也可以称为“年龄”字段。
④HBase Process返回查询数据,在引擎Server.jar中进行表达式计算,得到计算结果。
⑤将引擎Server.jar的计算结果返回给引擎Client.jar进行汇总,得到查询结果。
⑥引擎Client.jar将汇总后的查询结果返回给第三方系统(此处是CKM组件)。
在本发明实施例中,将海量用户的属性信息分别存储,在执行查询时,只将涉及的属性从磁盘读入内存。但考虑到用户的数量可能非常大(例如,10亿级),单属性的数据量将达到400MB,所以需要根据用户标识ID进行分片,然后对各分片分别进行计算。最后,对各分片的计算结果进行合并处理,得到查询结果。
为了便于理解,以下对根据本发明实施例的用于查询数据的方法,在该系统架构中的执行过程进行说明。
210、系统对用户标识ID进行编号。
系统将用户配置文件User Profile中的用户手机号码转换为0,1,2,3,…的顺序编号。这样,可以将某列数据(例如,年龄字段)组成一个由字段值构成的数组,数组中每个元素的索引用顺序编号表示。
User Profile数据的逻辑特征如表1所示。
表1
数据周期 手机号码 年龄 性别 iPhone6s偏好值 偏好颜色
具体地说,系统对全部用户的手机号码进行编号,并将编号与手机号码之间的一一对应关系存入映射表。然后,系统根据此映射表,将用户配置文件User Profile中的手机号码全部替换为对应的顺序编号。
映射表的形式可以如表2。
表2
编号 0 1 2 3 …… n
手机号码 号码0 号码1 号码2 号码3 …… 号码n
采用这样的方式,可以将占用存储空间比较大的手机号码替换为占用存储空间比较小的编号。可以节省存储空间。
220、系统对用户配置文件中存储的数据进行存储格式的转换,并加载至HBase数据库中。
应理解,HBase是一个分布式的、面向列的数据库,不同于一般的关系数据库,HBase是一个基于列的存储格式。
具体地说,HBase数据库中的表的格式如表3所示。
表3
下面,对表3进行介绍。
(1)rowkey的组成。
rowkey由4部分组成:
Region ID:Region是HBase中的概念,类似于传统关系型数据中的表分区。在本发明实施例中,HBase表根据用户的顺序编号进行分区,即分Region。采用这种方式将海量用户分布、并行处理。此处的Region ID即为当前分区的序号。例如,将一千万用户分为10个Region,那么,region ID应依次为0~9。
M/D:表示该字段是日属性或者月属性。例如,“月通话时长”字段是月属性,而“日短信条数”则是日属性。
YYYYMM/YYYYMMDD:表示该字段的数据周期。
Attribute ID:表示该字段对应的用户属性的ID。如“年龄”字段对应的Attribute ID为age。
(2)cf:vals的组成。
cf:列族名。
vals:列名。在本发明实施例中,优选地,设置一个列族和一个列。该列存储数据的格式如下:
18 20 15 40 28 30 ….
假设该字段存储的是年龄属性的值,那么该数据块是“该Region(分区)所承担的用户的年龄数据,以用户顺序编号作为数组位置存储为一个数组”。假如,该region承担的用户的编号是0至999,那么,第一个元素“18”对应的顺序编号为0,第二个元素“20”对应的顺序编号为1,以此类推。
应理解,在现有技术中,在进行海量的用户数据的查询时,虽然采用了分布式数据系统,对数据进行分片,以提高查询效率。但是,现有的数据的查询是基于行存储的数据库。行存储数据库将一行中的数据值串在一起存储起来,然后再存储下一行的数据。基于这样的存储方式,在进行数据查询时,先读取第一个用户的全部属性,确定第一个用户的目标属性的属性值是否满足查询条件,之后,再读取第二个用户的全部属性,确定第二个用户的目标属性的属性值是否满足查询条件。以此类推。直到遍历完所有的用户。可以理解的是,在查询的数据量非常大,且查询的属性比较随机的情况下,根据现有技术的查询方式,查询的数据量非常大。并且,由于首先是针对用户进行查询,再针对属性进行查询,从磁盘读入到内存的数据量很大,输出I/O开销大,从而,查询的响应时间也较长。
现有技术中数据的存数形式可以参见表4。
表4
用户标识 年龄 性别 喜欢颜色 iPhone6s偏好值
ID_0 18 red 0.8
ID_1 20 green 0.7
ID_2 30 red 0.3
ID_3 15 black 0.6
可选地,作为一个实施例,该多个用户的数据存储在数据表中,该数据表包括多个行和多个列,每个行存储该多个用户的同一个属性的属性值,每个列存储该多个用户中的一个用户的全部属性的属性值。
更具体地说,数据表包括多个行和多个列。每个行对应一个行数组,每个行数组记录该多个用户的同一个属性的属性值,行数组中的每一个元素对应一个用户。每个列对应一个列数组,每个列数组记录该多个用户的全部属性的属性值,每个列对应一个用户。
即,与现有技术不同的是,在本发明实施例中,采用列存储数据库,或者说,现有技术中的一列,在本发明实施例中是作为一行进行存储的。为了便于理解,结合表5进行说明。
表5
从表5可知,不同用户的同一个属性的属性值作为一行存储。在根据查询条件从用户数据库中查询数据时,只需要读取查询条件中涉及的目标属性对应的数据即可,不需要读取每个用户的所有全部属性的属性值。例如,如果需要查询“iPhone6s偏好值>0.8And偏好颜色=red”的用户集合。只需要将磁盘中存储的上述表5的“iPhone6s偏好值”和“偏好颜色”两行的数据读入到内存即可。再根据这两行数据确定满足查询条件“iPhone6s偏好值>0.8And偏好颜色=red”的目标用户的集合。
230、执行查询过程。
下面,结合图3详细说明查询的过程。
图3示出了适用于本发明实施例的查询数据的方法的一种交互场景。如图3所示,
301、应用服务器将查询请求发送给客户端引擎。
其中,查询请求中包括规则串。
302、客户端引擎将查询请求发送至服务器引擎。
303、服务器引擎接收到查询请求后,通过正则表达式,对查询请求中的规则串进行解析,并进行预编译,得到计算表达式。
需要说明的是,正则表达式是对字符串进行操作的一种逻辑公式,用来表达对字符串的一种过滤逻辑。如果给定一个正则表达式和一个字符串,可以从该字符串中获取到人们想要的特定部分。
具体地说,接收到查询请求后,服务器引擎通过正则表达式,从查询请求的规则串中(例如,上文所述的“数据周期=M/201510AND性别=女AND iPhone6s偏好值>0.8AND喜欢颜色=玫瑰金”)提取出涉及的字段名称,即“性别”、“iphone6s偏好值”、“喜欢颜色”和“数据周期”。
系统集成JEval表达式引擎,JEval对规则串“性别=女AND iPhone6s偏好值>0.8AND喜欢颜色=玫瑰金”进行编译,得到编译后的计算表达式。
304、服务器引擎从HBase数据库中查询规则串中涉及的字段。
具体地说,服务端首先调用本进程context变量,获取当前分区的分区标识Region ID。然后根据步骤303中提取出的字段名称拼接出行键值rowkey:
Region ID M 201510性别
Region ID M 201510iphone6s偏好值
Region ID M 201510喜欢颜色
根据这三个rowkey,服务器引擎在各Region上分别执行HBase的APIGet,获取这三个字段对应的属性值(即,存储在HBase表中的属性值数组)。
应理解,此处获取三个字段对应的属性值,实际上,得到了三个属性值数组,每个数组中存储了全部用户的同一个字段的属性值。
需要说明的是,在本发明实施例中,用户数据库中存数的数据可以属于多个分区(或者说,分片)。在每个分区上都根据本发明实施例的查询数据的方法查询数据,最后,对各分区的查询结果(即,各分区的中间结果)进行统计,得到最终的查询结果。
305、执行计算表达式。
具体地说,系统将步骤304中获取到的三个属性值数组,循环提供给步骤303中对规则串进行预编译得到的计算表达式。
新创建结果计数对象count,具体的计算过程如下:
先将三个数组(即,从Hbase数据表中获取的“性别”、“iPhone6s偏好值”和“喜欢颜色”对应的三个属性值数组)的第一个元素提供给计算表达式进行计算。如果结果值为true,则将结果计数器count++。
然后将三个数组的第二个元素提供给计算表达式进行计算。
以此类推,直到将所述三个属性值数组中的最后一个元素提供给计算表达式进行计算,并得到结果值为止。整个查询过程结束,得到查询结果。
306、服务器引擎将查询结果发送给客户端引擎。
307、客户端引擎将查询结果发送给应用服务器。
在本发明实施例中,通过根据不同的查询条件执行不同的查询顺序,在查询满足查询条件的目标用户群时,通过先执行针对属性的查询,后执行针对用户的查询,避免了查询与查询条件中涉及的目标属性无关的属性,可以降低查询的数据量。
以上结合如1至图3,详细说明了根据本发明实施例的查询数据的方法。以下结合图4和图5,说明根据本发明实施例的用于查询数据的装置和设备。
图4是根据本发明实施例的用于查询数据的装置400的示意性框图。如图4所示,该装置400包括:
获取单元410,用于获取查询请求,该查询请求用于指示查询条件,该查询条件是根据至少一个第一目标属性标识设定的,该至少一个第一目标属性标识用于标识至少一个第一目标属性,该查询请求用于请求查询至少一个第一目标用户,每个第一目标用户的该至少一个第一目标属性的属性值满足该查询条件,或者,该查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的,该至少一个第二目标用户标识用于标识至少一个第二目标用户,该至少一个第二属性标识用于标识至少一个第二目标属性,该查询请求用于请求查询该至少一个第二目标用户的该至少一个第二目标属性的属性值;
处理单元420,根据该查询条件确定查询顺序,该查询顺序用于指示在该用户数据库中查询数据时,针对用户标识的查询与针对属性标识的查询相互之间的先后顺序;
该处理单元430还用于:
当该查询条件是根据该至少一个第一目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第一目标用户;
当该查询条件是根据该至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第二目标用户的该至少一个第二目标属性的属性值。
根据本发明实施例的查询数据的装置400中的各单元和上述其它操作或功能分别为了方法100中的相应流程。为了简洁,此处不再赘述。
因此,根据本发明实施例的用于查询数据的装置,通过根据不同的查询条件执行不同的查询顺序,在查询满足查询条件的目标用户群时,通过先执行针对属性的查询,后执行针对用户的查询,避免了查询与查询条件中涉及的目标属性无关的属性,可以降低查询的数据量。
图5是根据本发明实施例的用于查询数据的设备500的示意性结构图。如图5所示,该设备500包括:接收器510、发送器520、处理器530、存储器540和总线系统550。其中,接收器510、发送器520、处理器530和存储器540通过总线系统550相连,该存储器540用于存储指令,该处理器530用于执行该存储器540存储的指令,以控制接收器510接收信号,并控制发送器520发送信号,其中,
该接收器510用于获取查询请求,该查询请求用于指示查询条件,该查询条件是根据至少一个第一目标属性标识设定的,该至少一个第一目标属性标识用于标识至少一个第一目标属性,该查询请求用于请求查询至少一个第一目标用户,每个第一目标用户的该至少一个第一目标属性的属性值满足该查询条件,或者,该查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的,该至少一个第二目标用户标识用于标识至少一个第二目标用户,该至少一个第二属性标识用于标识至少一个第二目标属性,该查询请求用于请求查询该至少一个第二目标用户的该至少一个第二目标属性的属性值;
该处理器530用于根据该查询条件确定查询顺序,该查询顺序用于指示在该用户数据库中查询数据时,针对用户标识的查询与针对属性标识的查询相互之间的先后顺序;
该处理器530还用于:
当该查询条件是根据该至少一个第一目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第一目标用户;
当该查询条件是根据该至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据该查询条件和该查询顺序,查询该至少一个第二目标用户的该至少一个第二目标属性的属性值。
应理解,在本发明实施例中,该处理器530可以是中央处理单元(centralprocessing unit,简称为“CPU”),该处理器530还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器540可以包括只读存储器和随机存取存储器,并向处理器530提供指令和数据。存储器540的一部分还可以包括非易失性随机存取存储器。例如,存储器540还可以存储设备类型的信息。
该总线系统550除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统550。
在实现过程中,上述方法的各步骤可以通过处理器530中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的用于查询数据的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器540,处理器530读取存储器540中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的用于查询数据的设备500中的各单元和上述其它操作或功能分别为了执行方法100中的相应流程。为了简洁,此处不再赘述。
因此,根据本发明实施例的用于查询数据的设备,通过根据不同的查询条件执行不同的查询顺序,在查询满足查询条件的目标用户群时,通过先执行针对属性的查询,后执行针对用户的查询,避免了查询与查询条件中涉及的目标属性无关的属性,可以降低查询的数据量。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例的技术方案。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,RAM)、随机存取存储器(random access memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种用于查询数据的方法,其特征在于,应用于存储有多个用户的数据的用户数据库,每个用户在所述用户数据库中存储有至少一个数据,所述至少一个数据与用户的至少一个属性一一对应,每个数据用于记录所对应的属性的属性值,每个数据包括用户标识和属性标识,所述用户标识用于标识一个数据所属于的用户,所述属性标识用于标识一个数据所对应的属性,所述方法包括:
获取查询请求,所述查询请求用于指示查询条件,所述查询条件是根据至少一个第一目标属性标识设定的,所述至少一个第一目标属性标识用于标识至少一个第一目标属性,所述查询请求用于请求查询至少一个第一目标用户,每个第一目标用户的所述至少一个第一目标属性的属性值满足所述查询条件,或者,
所述查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的,所述至少一个第二目标用户标识用于标识至少一个第二目标用户,所述至少一个第二属性标识用于标识至少一个第二目标属性,所述查询请求用于请求查询所述至少一个第二目标用户的所述至少一个第二目标属性的属性值;
根据所述查询条件确定查询顺序,所述查询顺序是指在所述用户数据库中查询数据时,针对用户标识的查询与针对属性标识的查询相互之间的先后顺序;
当所述查询条件是根据所述至少一个第一目标属性标识设定的时,根据所述查询条件和所述查询顺序,查询所述至少一个第一目标用户;
当所述查询条件是根据所述至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据所述查询条件和所述查询顺序,查询所述至少一个第二目标用户的所述至少一个第二目标属性的属性值。
2.根据权利要求1所述的方法,其特征在于,当所述查询条件是根据所述至少一个第一目标属性标识设定的时,根据所述查询条件和所述查询顺序,查询所述至少一个第一目标用户,包括:
根据所述至少一个第一目标属性标识,确定所述至少一个第一目标属性;
从所述用户数据库中获取所述至少一个第一目标属性对应的第一目标数据;
根据所述第一目标数据记录的属性值、所述第一目标数据的用户标识和所述查询条件,确定所述至少一个第一目标用户。
3.根据权利要求1所述的方法,其特征在于,当所述查询条件是根据所述至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据所述查询条件和所述查询顺序,查询所述至少一个第二目标用户的所述至少一个第二目标属性的属性值,包括:
根据所述至少一个第二目标用户标识,从所述用户数据库中获取用户标识为第二目标用户标识的第二目标数据;
根据所述第二目标数据的属性标识,确定所述至少一个第二目标用户的所述至少一个第二目标属性的属性值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述多个用户的数据存储在数据表中,所述数据表包括多个行和多个列,每个行存储所述多个用户的同一个属性的属性值,每个列存储所述多个用户中的一个用户的全部属性的属性值。
5.一种用于查询数据的装置,其特征在于,所述装置中配置有存储有多个用户的数据的用户数据库,每个用户在所述用户数据库中存储有至少一个数据,所述至少一个数据与用户的至少一个属性一一对应,每个数据用于记录所对应的属性的属性值,每个数据包括用户标识和属性标识,所述用户标识用于标识一个数据所属于的用户,所述属性标识用于标识一个数据所对应的属性,所述装置包括:
获取单元,用于获取查询请求,所述查询请求用于指示查询条件,所述查询条件是根据至少一个第一目标属性标识设定的,所述至少一个第一目标属性标识用于标识至少一个第一目标属性,所述查询请求用于请求查询至少一个第一目标用户,每个第一目标用户的所述至少一个第一目标属性的属性值满足所述查询条件,或者,
所述查询条件是根据至少一个第二目标用户标识和至少一个第二目标属性标识设定的,所述至少一个第二目标用户标识用于标识至少一个第二目标用户,所述至少一个第二属性标识用于标识至少一个第二目标属性,所述查询请求用于请求查询所述至少一个第二目标用户的所述至少一个第二目标属性的属性值;
处理单元,用于根据所述查询条件确定查询顺序,所述查询顺序是指在所述用户数据库中查询数据时,针对用户标识的查询与针对属性标识的查询相互之间的先后顺序;
所述处理单元还用于:
当所述查询条件是根据所述至少一个第一目标属性标识设定的时,根据所述查询条件和所述查询顺序,查询所述至少一个第一目标用户;
当所述查询条件是根据所述至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,根据所述查询条件和所述查询顺序,查询所述至少一个第二目标用户的所述至少一个第二目标属性的属性值。
6.根据权利要求5所述的装置,其特征在于,当所述查询条件是根据所述至少一个第一目标属性标识设定的时,所述处理单元具体用于:
根据所述至少一个第一目标属性标识,确定所述至少一个第一目标属性;
从所述用户数据库中获取所述至少一个第一目标属性对应的第一目标数据;
根据所述第一目标数据的用户标识、所述第一目标数据记录的属性值和所述查询条件,确定所述至少一个第一目标用户。
7.根据权利要求5所述的装置,其特征在于,当所述查询条件是根据所述至少一个第二目标用户标识和至少一个第二目标属性标识设定的时,所述处理单元具体用于:
根据所述至少一个第二目标用户标识,从所述用户数据库中获取用户标识为第二目标属性标识的第二目标数据;
根据所述第二目标数据的属性标识,确定所述至少一个第二目标用户的所述至少一个第二目标属性的属性值。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述多个用户的数据存储在数据表中,所述数据表包括多个行和多个列,每个行存储所述多个用户的同一个属性的属性值,每个列存储所述多个用户中的一个用户的全部属性的属性值。
CN201610322753.3A 2016-05-16 2016-05-16 用于查询数据的方法和装置 Pending CN107391506A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610322753.3A CN107391506A (zh) 2016-05-16 2016-05-16 用于查询数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610322753.3A CN107391506A (zh) 2016-05-16 2016-05-16 用于查询数据的方法和装置

Publications (1)

Publication Number Publication Date
CN107391506A true CN107391506A (zh) 2017-11-24

Family

ID=60337691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610322753.3A Pending CN107391506A (zh) 2016-05-16 2016-05-16 用于查询数据的方法和装置

Country Status (1)

Country Link
CN (1) CN107391506A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062622A (zh) * 2017-12-08 2018-05-22 歌尔股份有限公司 一种儿童对玩具喜好程度收集判别方法、评分方法及系统
CN109271413A (zh) * 2018-10-11 2019-01-25 江苏易润信息技术有限公司 一种数据查询的方法、装置及计算机存储介质
CN110457356A (zh) * 2018-05-02 2019-11-15 珠海金山办公软件有限公司 一种数据筛选方法、装置、电子设备及可读存储介质
CN111159213A (zh) * 2018-11-07 2020-05-15 航天信息股份有限公司 一种数据查询方法、装置、系统和存储介质
CN112464099A (zh) * 2020-12-10 2021-03-09 北京明略软件系统有限公司 基于查询数据生成文档的方法、装置、电子设备及介质
CN112559562A (zh) * 2019-09-25 2021-03-26 上海哔哩哔哩科技有限公司 一种信息处理方法及系统
CN112765176A (zh) * 2021-01-22 2021-05-07 浪潮通用软件有限公司 一种微服务模式下属性扩展方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1779671A (zh) * 2004-11-24 2006-05-31 丁力 电子名片存储方法及系统
CN102201089A (zh) * 2011-06-10 2011-09-28 张宪 物资材料编码和管理方法
CN104424287A (zh) * 2013-08-30 2015-03-18 深圳市腾讯计算机系统有限公司 数据查询方法和装置
CN104574159A (zh) * 2015-01-30 2015-04-29 华为技术有限公司 数据存储、查询方法和装置
CN104598520A (zh) * 2014-12-12 2015-05-06 北京京东尚科信息技术有限公司 一种处理商品信息的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1779671A (zh) * 2004-11-24 2006-05-31 丁力 电子名片存储方法及系统
CN102201089A (zh) * 2011-06-10 2011-09-28 张宪 物资材料编码和管理方法
CN104424287A (zh) * 2013-08-30 2015-03-18 深圳市腾讯计算机系统有限公司 数据查询方法和装置
CN104598520A (zh) * 2014-12-12 2015-05-06 北京京东尚科信息技术有限公司 一种处理商品信息的方法和装置
CN104574159A (zh) * 2015-01-30 2015-04-29 华为技术有限公司 数据存储、查询方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062622A (zh) * 2017-12-08 2018-05-22 歌尔股份有限公司 一种儿童对玩具喜好程度收集判别方法、评分方法及系统
CN110457356A (zh) * 2018-05-02 2019-11-15 珠海金山办公软件有限公司 一种数据筛选方法、装置、电子设备及可读存储介质
CN109271413A (zh) * 2018-10-11 2019-01-25 江苏易润信息技术有限公司 一种数据查询的方法、装置及计算机存储介质
CN111159213A (zh) * 2018-11-07 2020-05-15 航天信息股份有限公司 一种数据查询方法、装置、系统和存储介质
CN112559562A (zh) * 2019-09-25 2021-03-26 上海哔哩哔哩科技有限公司 一种信息处理方法及系统
CN112464099A (zh) * 2020-12-10 2021-03-09 北京明略软件系统有限公司 基于查询数据生成文档的方法、装置、电子设备及介质
CN112765176A (zh) * 2021-01-22 2021-05-07 浪潮通用软件有限公司 一种微服务模式下属性扩展方法、装置及存储介质
CN112765176B (zh) * 2021-01-22 2023-02-03 浪潮通用软件有限公司 一种微服务模式下属性扩展方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN107391506A (zh) 用于查询数据的方法和装置
CN102708130B (zh) 计算用户微细分以用于要约匹配的可扩展引擎
CN105718515B (zh) 数据存储系统及其方法和数据分析系统及其方法
CN104933049B (zh) 生成数字人的方法及系统
CN103902653B (zh) 一种构建数据仓库表血缘关系图的方法和装置
CN108388675A (zh) 一种身份标识拉通方法及终端设备
CN106462583A (zh) 用于快速数据分析的系统和方法
CN109344153A (zh) 业务数据的处理方法及终端设备
CN103314371A (zh) 一种检索的方法和系统
CN106708841B (zh) 网站访问路径的聚合方法和装置
CN106649602B (zh) 业务对象数据处理方法、装置和服务器
US20140053087A1 (en) Friend recommendation method, apparatus and storage medium
CN111414410B (zh) 数据处理方法、装置、设备和存储介质
CN105550375A (zh) 一种异构数据的整合方法及系统
CN108460102A (zh) 社交网络数据查询方法、装置、计算机设备和存储介质
CN106933935A (zh) 任务存储方法和装置
CN109615172A (zh) 一种处理考核数据的方法及终端
CN107944866B (zh) 交易记录排重方法及计算机可读存储介质
CN102521713B (zh) 数据处理装置和数据处理方法
CN103064908A (zh) 一种通过内存快速去重名单的方法
CN106933927A (zh) 数据表的连接方法和装置
CN108228787A (zh) 按照多级类目处理信息的方法和装置
CN106649385B (zh) 基于HBase数据库的数据排序方法和装置
CN110442585A (zh) 数据更新方法、数据更新装置、计算机设备及存储介质
CN106326295B (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171124