CN110781203A - 一种数据宽表的确定方法及装置 - Google Patents
一种数据宽表的确定方法及装置 Download PDFInfo
- Publication number
- CN110781203A CN110781203A CN201910849187.5A CN201910849187A CN110781203A CN 110781203 A CN110781203 A CN 110781203A CN 201910849187 A CN201910849187 A CN 201910849187A CN 110781203 A CN110781203 A CN 110781203A
- Authority
- CN
- China
- Prior art keywords
- data
- data information
- database
- field
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了数据宽表的确定方法及装置,涉及数据处理技术领域,用于提高电商服务器的查询效率。应用于电商服务器,所述电商服务器包括多张单表;所述多张单表中每张单表包括至少一种商品的数据信息;所述方法包括:根据用户的检索数据信息确定所述数据宽表的字段;其中,所述检索数据信息包括商品名称,所述字段与所述商品名称之间具有对应关系;根据所述字段查询所述每张单表中与所述字段对应的数据信息;根据所述字段及所述字段对应的数据信息,确定所述数据宽表。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据宽表的确定方法及装置。
背景技术
随着互联网技术的不断发展,数据量越来越多。以电商系统为例,传统的电商系统一般将数据通过多表形式存储于一个关系型数据库,例如mysql数据库。电商系统的关系型数据库包括多张单表(例如,商品图片表,商品店铺名称表),每张单表包括多个数据。由于电商系统的数据涉及的内容非常广泛,当用户查询一种商品时,则电商服务器需要查询关系型数据库中与该商品有关的每张表中的数据,也即需要跨表查询。
随着电商系统中商品数量的不断变化,电商系统的关系型数据库中表的数量越来越多且每张表的数据量也越来越大,会导致跨表查询的速度逐渐变慢,因此传统的关系型数据库已经不能满足电商系统海量数据的查询需求。
发明内容
本申请实施例提供了一种数据宽表的确定方法及装置,用以提高电商服务器的查询效率。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种数据宽表的确定方法,应用于电商服务器,电商服务器包括多张单表;多张单表中每张单表包括至少一种商品的数据信息。该方法包括:根据用户的检索数据信息确定数据宽表的字段;其中,检索数据信息包括商品名称,字段与商品名称之间具有对应关系;根据字段查询每张单表中与字段对应的数据信息;根据字段及字段对应的数据信息,确定数据宽表。
基于上述技术方案,通过用户的检索数据信息确定数据宽表的字段,根据字段查询多张单表中与字段对应的至少一个数据信息,以得到该数据宽表的数据值。根据字段与字段对应的数据值,得到完整的数据宽表。现有技术中查询时需要查询多张关联的单表,才能确定数据信息,也就是说,每张单表都要进行数据信息的查询,导致查询效率较慢。本申请中将多张单表的数据信息导入一张数据宽表中,这样查询数据信息时,只需要在一张表中查询数据信息,因此可以提高数据信息的查询效率。
第二方面,提供了一种数据宽表的确定装置,该确定装置可以实现第一方面的方法,该装置包括:存储单元,处理单元,查询单元。
存储单元,用于存储多张单表;多张单表中每张单表包括至少一种商品的数据信息。处理单元,用于根据用户的检索数据信息确定数据宽表的字段;其中,检索数据信息包括商品名称,字段与商品名称之间具有对应关系。查询单元,用于根据字段查询每张单表中与字段对应的数据信息。处理单元,还用于根据字段及字段对应的数据信息,确定数据宽表。
第三方面,提供了一种可读存储介质,所述可读存储介质中存储有指令,所述指令当被执行时,实现第一方面所述的数据宽表的确定方法。
第四方面,提供了一种计算机程序产品,计算机程序产品包含至少一个指令,当所述指令在计算机上运行时,使得计算机执行如第一方面所述的数据宽表的确定方法。
第五方面,提供一种芯片,芯片包括至少一个处理器及通信接口,通信接口和至少一个处理器耦合,至少一个处理器用于运行计算机程序或指令,以实现第一方面的方法。
上述提供的任一种装置或计算机存储介质或计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文提供的对应的方法中对应方案的有益效果,此处不再赘述。
附图说明
图1为本申请的实施例提供的一种数据处理的示意图;
图2为本申请的实施例提供的一种数据宽表的确定方法的流程示意图;
图3为本申请的实施例提供的另一种数据宽表的确定方法的流程示意图;
图4为本申请的实施例提供的一种数据宽表的确定装置的结构示意图;
图5为本申请的实施例提供的又一种数据宽表的确定装置的结构示意图;
图6为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
为了便于理解本申请的技术方案,下面对一些技术术语进行介绍。
1、数据宽表
数据宽表指包括多个字段的数据库表,每个字段对应至少一个数据值。例如,字段为空调,则对应的数据值可以包括空调型号,生产厂家、生产日期、空调颜色等中的一个或多个。数据宽表可以将业务主体相关的指标、维度、属性关联在一起。其中,指标指业务的参数,例如CPU的利用率;维度指业务的评估角度,如时间维度、大小维度;属性指业务的属性,例如空调的颜色、空调的尺寸等。
数据宽表具有开发方便、迅速的特点,同时通过数据宽表还可以提高数据查询速度。宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算的效率。
2、hbase数据库
hbase(Hadoop Database)数据库,是一种高可靠性、高性能、面向列、可伸缩的分布式存储系统。在低配置的电脑服务器(PC Server)上利用hbase数据库,可构建大规模结构化存储集群。hbase数据库具有成本较低、高性能、高负载、分布式处理的特点。
对于电商服务器中的图片,视频,本文,音频等海量数据,hbase数据库采用分布式存储检索技术,能够多结点分布式处理这些数据。
3、mysql数据库
mysql数据库是一种关系数据库管理系统。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内mysql数据库具有体积小、速度快、成本低、开发源码的特点。
4、es数据库
es数据库是一种分布式文档数据库。es数据库包括多个文档,每个文档包括多个字段。其中,每个字段均可被索引,而且每个字段的数据均可被搜索。es数据库能够横向扩展至数以百计的服务器存储以及处理拍字节(petabytes,PB)级的数据。可以在极短的时间内存储、搜索和分析大量的数据。ES具有高可用性和可扩展性,一方面可以通过升级硬件来完成系统扩展,另一方面,可通过增加更多的服务器来完成系统扩展。
5、fastdfs数据库
fastdfs数据库是一种开源的轻量级分布式文件系统。fastdfs数据库可以用于管理文件,例如:文件存储、文件同步、文件访问(文件上传、下载)等。fastdfs数据库可以安装插件模块,例如Nginx模块(用于保证文件访问的负载均衡)。同时Fastdfs数据库还支持横向组拓展、同步热备、token防盗链等。目前支持Fastdfs数据库的平台有java,php,c,python。
6、Redis数据库
Redis数据库是一个完全开源、免费的高性能的键值对(key-value)数据库。
Redis数据库有以下三个特点:
1)、Redis数据库支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2)、Redis数据库不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3)、Redis数据库支持数据的备份,即主从设备(master-slave)模式的数据备份。
Redis数据库具有如下优势:
1)、高性能。Redis数据库能读的速度是110000次/s,写的速度是81000次/s。
2)、丰富的数据类型。Redis数据库支持二进制案例的字符串(Strings)、列(Lists)、哈希(Hashes)集合(Sets)及有序集合(Ordered Sets)等数据类型操作。
3)、原子性。Redis数据库的所有操作都是原子性的,原子性指所有操作结果只有全部成功或全部失败。
4)、丰富的特性。Redis数据库支持发布(publish)/订阅(subscribe)、通知、key过期等等特性。
现有技术中,电商系统一般将商品的数据信息以多张单表的形式,存储在关系型数据库中。其中,多张单表之间通过关键字关联,例如,商品的标识(如商品编号)。当电商服务器接收到查询商品信息的指令时,电商服务器需根据各张单表中具有相同的关键字段为条件进行查询。示例性的,电商系统包括单表1(商品信息表)、单表2(商品订单表)。如需要对这两张单表建立关联查询,当每张单表的数据量不大时,查询的速度会很快。而电商系统的业务多、数据复杂多样、数据量大,需要处理的数据通常是TB甚至PB级。在这种情况下,如果两张单表规模均为10万数据时,查询响应时间超过5min。如果两张单表规模均达到百万条时,那查询响应时间则会更长。如果再进行复杂查询,检索速度会更慢,导致无法满足数据查询的需求。
鉴于此,本申请实施例提供了一种数据宽表的确定方法,用以解决电商服务器检索速度慢的问题。
如图1所示,本申请实施例提供了一种数据处理的示意图,包括:数据初始化、数据存储、数据更新、数据查询。
其中,数据初始化,也即确定数据宽表。例如,图1中,表A、表B、表C为单表,每张单表中包括一种数据信息。电商服务器需要进行数据初始化,也就是,根据多张单表确定数据宽表。
数据存储,指将数据宽表存储到数据库。例如,图1中,表A、表B、表C等单表存储在关系型数据库中。为了提高查询速度,则需要将根据表A、表B、表C等单表确定的数据宽表存储到其他数据库中,如,es数据库、hbase数据库、fastdfs数据库、redis数据库等。
数据更新,指多张单表中任一单表的数据信息发生变化,则需要更新数据宽表中的相应的数据值。其中,当多张单表中的数据信息发生变化时,数据宽表中相应的数据值可以实时进行更新。当然数据宽表中的数据值也可以按照预设周期进行更新,本申请实施例不予限制。
数据查询,指数据宽表存储到数据库后,查询数据宽表中的的数据值。本申请实施例中,当数据宽表存储在hbase数据库中,电商服务器可以采用行键(rowkey)查询方式。当数据宽表存储在es数据库中,电商服务器可以采用倒排索引查询方式。行键查询方式和倒排索引查询方式可以参照现有技术,本申请实施例不再赘述。
图1中,对于关系型数据库中的数据信息,可以采用常规查询方式,例如多表关联查询。
对于es数据库以及hbase数据库中数据宽表的数据值,若数据值的查询频率超过阈值,则可以将该数据值储存在redis数据库,也即redis查询结果缓存。数据检索接口指查询数据宽表的通道,例如http接口,远程过程调用(remote orocedure call,RPC)接口。业务系统指电商系统对外的业务界面,包括电商运营商的商品信息,例如电商系统的网站页面。
如图2所示,本申请实施例提供了一种数据宽表的确定方法。该方法的执行主体可以为服务器。下述实施例以执行主体为服务器为例描述。
需要说明的是,本申请实施例中的服务器为电商服务器。该电商服务器包括多张单表,例如,图1中的表A、表B、表C。该多张单表储存于关系型数据库。每张单表包括至少一种商品的数据信息。
如图2所示,本申请实施例提供的数据宽表的确定方法,包括:
步骤101、根据用户的检索数据信息确定数据宽表的字段。
其中,用户的检索数据信息包括商品名称,字段与商品名称之间具有对应关系。
示例性的,用户的检索数据信息为A空调,则A空调对应的数据宽表的字段为空调。该字段还可以包括子字段,该子字段为A空调。用户的检索数据为手机,则手机对应的数据宽表的字段为手机。
步骤102、根据字段查询每张单表中与字段对应的数据信息。
电商服务器根据字段查询关系型数据库中的每张单表,以得到与该字段对应的数据信息。
具体的,电商服务器根据字段确定字段对应的数据信息的来源,也即数据信息对应的关系型数据库中的单表。电商服务器在确定数据信息的来源后,还需要确定各个单表之间的数据逻辑。
示例性的,数据宽表的字段为空调,则电商服务器可以从关系型数据库中筛选出与空调有关的多张单表,例如,空调店铺表、空调价格表、空调图片表、空调订单表,空调数目表。其中,该多张单表通过关键字关联,例如空调或空调编号等。电商服务器在该多张单表中查询空调A的数量,则可以查询到空调A对应的各个店铺表分别对应的空调A的数量。电商服务器根据每个店铺对应的空调A的数量,进行求和可以得到数据宽表中空调A字段的总数量。
一种可能的实现方式中,由于数据库极易受数据噪声、缺失值和不一致数据的影响。同时数据库中的数据来自多个异构数据源,导致数据混乱。因此在对数据库中的数据进行存储或挖掘前,需要进行数据预处理。
本申请实施中,电商服务器可以对数据库中的数据信息进行初始化或者预处理。
数据信息的预处理包括:数据清理,数据集成,数据变换,数据归约等中的至少一种。
其中,数据清理指删除单表中的一些无用的数据信息,例如,商品A已经从电商平台下架,则电商服务器可以将商品A的数据信息做删除处理。
数据集成指电商服务器将多张单表中数据信息集中到一张表,以也即将多张单表的数据信息导入到数据宽表。
数据变换指将不同格式的数据信息处理成相同的数据格式。例如商品A的数据信息来自MongoDB数据库,则该数据信息为JSON格式;商品B的数据信息来自mysql数据库,则该数据信息为列格式。电商服务器需要将商品A的数据信息和商品B的数据信息进行处理,以使得商品A的数据信息和商品B的数据信息的格式一致,也即将JSON格式的数据信息和列格式的数据信息处理成数据宽表对应的数据格式。
数据归约指将多个不同文档的数据归到一个文档。例如,对于商品A的多个订单信息,电商服务器可以将商品的多个订单信息归到一个文档中,这样可以便于查询。
本申请实施例中,电商服务器通过数据预处理,可以消除数据噪声,避免数据宽表中的数据值不完整和不一致的情况。同时提高了数据质量,降低挖掘所需要的时间,增加数据挖掘价值。
步骤103、根据字段及字段对应的数据信息,确定数据宽表。
作为一种实现方式,电商服务器根据字段对应的数据信息确定数据宽表的数据值;通过多线程技术将字段对应的数据值,导入数据宽表。
其中,多线程技术指一个CPU同时执行多个程序。
一种可能的实施例中,电商系统包括几百万条数据量,电商服务器每天需要处理几千亿甚至几万亿的数据,这些数据都需要实时存储。并且能够处理拍字节(petabytes,PB)甚至比PB更高的实时数据。其中,1PB=1024TB==2^50字节。
示例性的,店铺A中商品a的数量为100个,店铺B中商品a的数量为200个,则关系型数据库的店铺单表如表1所示,店铺A中商品a对应的数量单表如表2所示,店铺B中商品a对应的数量单表如表3所示。对应的数据宽表如表4所示。
表1店铺单表
店铺序号 | 店铺名称 |
1 | A |
2 | B |
… | … |
表2店铺A中商品对应的数量单表
商品名称 | 数量 |
a | 100 |
b | 100 |
… | … |
表3店铺B中商品对应的数量单表
商品名称 | 数量 |
a | 200 |
c | 150 |
… | … |
表4数据宽表
本申请实施例中,通过用户的检索数据信息确定数据宽表的字段,根据字段查询多张单表中与字段对应的至少一个数据信息,以得到该数据宽表的数据值。根据字段与字段对应的数据值,得到完整的数据宽表。现有技术中查询时需要查询多张关联的单表,才能确定数据信息,也就是说,每张单表都要进行数据信息的查询,导致查询效率较慢。本申请中将多张单表的数据信息导入一张数据宽表中,这样查询数据信息时,只需要在一张表中查询数据信息,因此可以提高数据信息的查询效率。
如图3所示,本申请实施例提供的方法,还可以包括步骤201和步骤202:
步骤201、若数据宽表的数据信息的数量大于或等于第一阈值,则将数据宽表存储在第一类型数据库;第一类型数据库包括分布式检索es数据库、分布式存储hbase数据库中的任一个。
一种可能的实现方式中,若电商服务器的第一类型数据库中第一数据信息的检索频率大于或等于第二阈值,则将第一数据信息存储在redis数据库。具体的,该实现方式可以包括以下两种情况:
1、电商服务器可以统计出用户检索频率高的商品信息,如家用电器、服装、鞋子等。对于用户的检索频率高的商品信息,电商服务器可以从第一类型数据库中查询该类商品信息对应的数据信息(如服装的店铺信息、型号等),并将数据信息存储到redis数据库,以提高数据信息的读写速度。
2、电商运营商还可以根据需求进行设置。示例性的,电商运营商为推广商品A,将第一类数据库中商品A的广告数据存储于redis数据库。这样,当用户登录电商系统的网页时,电商服务器可以快速从redis数据库中读出商品A的广告数据,并将该广告数据展示在电商系统的网页。
步骤202、若数据宽表的数据信息的检索频率小于第二阈值,则将数据宽表存储在fastdfs数据库。
对于数据宽表中的历史数据信息(如历史订单),由于历史数据信息的检索次数过低且数据量过大,因此可以将该数据信息存储在fastdfs数据库。一方面可以将该数据信息存储在同一类型的数据库中,便于查询,另一方面,由于fastdfs数据库的价格较低,因此可以降低电商运营商的成本。
如图3所示,本申请实施例提供的方法还可以包括:
步骤301、检测电商服务器中的多张单表中每张单表的数据信息是否发生变化。
本申请实施例中,电商服务器可以通过数据联动监听检测多张单表的数据信息是否发生变化。
其中,数据联动监听指当数据库某对象的某一个元素发生变化时,判断对象另一元素,并进行赋值,实现数据变更联动监听。数据联动监听包括程序埋点、安装OGG监控软件等技术手段中的任一种,当然,还可以通过其他技术手段实现,本申请实施例不予限制。
步骤302、若多张单表中任一单表中的数据信息发生变化,则更新数据宽表中与发生变化的数据信息对应的数据值。
示例性的,当店铺A中商品a售出了3个,店铺B中商品a售出了4个,则店铺A中商品对应的数量单表2、店铺B中商品对应的数量单表3中商品a的数量会各自按照售出的数量减少。电商服务器检测到关系型数据库中商品a对应的数量单表发生了变化,相应的,电商服务器可以更新数据宽表中商品a的总数,也即将商品a的总数变成293。
本申请实施例可以根据上述方法示例对数据宽表的确定装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图4所示,本申请实施例提供了一种数据宽表的确定装置,该确定装置包括存储单元401、处理单元402、查询单元403。
存储单元401,用于存储多张单表;多张单表中每张单表包括至少一种商品的数据信息。
处理单元402,用于根据用户的检索数据信息确定数据宽表的字段;其中,检索数据信息包括商品名称,字段与商品名称之间具有对应关系。
查询单元403,用于根据字段查询每张单表中与字段对应的数据信息。
处理单元402,还用于根据字段及字段对应的数据信息,确定数据宽表。
一种可能的实现方式中,处理单元402具体用于:根据字段对应的数据信息确定数据宽表的数据值;通过多线程技术将字段对应的数据值,导入数据宽表。
一种可能的实现方式中,处理单元402,还用于若数据宽表的数据信息的数量大于或等于第一阈值,则将数据宽表存储在第一类型数据库;第一类型数据库包括es数据库、hbase数据库中的任一个。
处理单元402,还用于若数据宽表的数据信息的检索频率小于第二阈值,则将数据宽表存储在fastdfs数据库。
一种可能的实现方式中,处理单元402,还用于若第一类型数据库中第一数据信息的检索频率大于或等于第二阈值,则将第一数据信息存储在redis数据库。
一种可能的实现方式中,处理单元402,还用于检测电商服务器中的多张单表中每张单表的数据信息是否发生变化。处理单元402,还用于若多张单表中任一单表中的数据信息发生变化,则更新数据宽表中与发生变化的数据信息对应的数据值。
图5示出了上述实施例中所涉及数据宽表的确定装置的又一种可能的结构示意图。该装置包括:一个或多个处理器501和通信接口502。处理器501用于对装置的动作进行控制管理,例如,执行上述处理单元402执行的步骤,和/或用于执行本文所描述的技术的其它过程。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图5中的CPU0和CPU1。
在具体实现中,作为一种实施例,通信设备可以包括多个处理器,例如图5中的处理器501。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
可选的,该装置还可以包括存储器503和通信线路504,存储器503用于存储装置的程序代码和数据。
图6是本申请实施例提供的芯片60的结构示意图。芯片60包括一个或两个以上(包括两个)处理器601和通信接口603。
可选的,该芯片60还包括存储器604,存储器604可以包括只读存储器和随机存取存储器,并向处理器601提供操作指令和数据。存储器604的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,存储器604存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器604存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
其中,上述处理器601可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器604可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线602可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线602可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种网络的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图2、图3中所述的数据宽表的确定方法。
由于本发明的实施例中的数据宽表的确定装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种数据宽表的确定方法,其特征在于,应用于电商服务器,所述电商服务器包括多张单表;所述多张单表中每张单表包括至少一种商品的数据信息;所述方法包括:
根据用户的检索数据信息确定所述数据宽表的字段;其中,所述检索数据信息包括商品名称,所述字段与所述商品名称之间具有对应关系;
根据所述字段查询所述每张单表中与所述字段对应的数据信息;
根据所述字段及所述字段对应的数据信息,确定所述数据宽表。
2.根据权利要求1所述的确定方法,其特征在于,所述根据所述字段及所述字段对应的数据信息,确定所述数据宽表,包括:
根据所述字段对应的数据信息确定所述数据宽表的数据值;
通过多线程技术将所述字段对应的数据值,导入所述数据宽表。
3.根据权利要求1所述的确定方法,其特征在于,所述方法还包括:
若所述数据宽表的数据信息的数量大于或等于第一阈值,则将所述数据宽表存储在第一类型数据库;所述第一类型数据库包括es数据库、hbase数据库中的任一个;
若所述数据宽表的数据信息的检索频率小于第二阈值,则将所述数据宽表存储在fastdfs数据库。
4.根据权利要求3所述的确定方法,其特征在于,所述方法还包括:
若所述第一类型数据库中第一数据信息的检索频率大于或等于所述第二阈值,则将所述第一数据信息存储在redis数据库。
5.根据权利要求1-4任一项所述的确定方法,其特征在于,所述方法还包括:
检测所述电商服务器中的多张单表中每张单表的数据信息是否发生变化;
若所述多张单表中任一单表中的数据信息发生变化,则更新所述数据宽表中与发生变化的数据信息对应的数据值。
6.一种数据宽表的确定装置,其特征在于,应用于电商服务器,所述确定装置包括:存储单元,处理单元,查询单元;
所述存储单元,用于存储多张单表;所述多张单表中每张单表包括至少一种商品的数据信息;
所述处理单元,用于根据用户的检索数据信息确定所述数据宽表的字段;其中,所述检索数据信息包括商品名称,所述字段与所述商品名称之间具有对应关系;
所述查询单元,用于根据所述字段查询所述每张单表中与所述字段对应的数据信息;
所述处理单元,还用于根据所述字段及所述字段对应的数据信息,确定所述数据宽表。
7.根据权利要求6所述的确定装置,其特征在于,所述处理单元具体用于:
根据所述字段对应的数据信息确定所述数据宽表的数据值;
通过多线程技术将所述字段对应的数据值,导入所述数据宽表。
8.根据权利要求6所述的确定装置,其特征在于,
所述处理单元,还用于若所述数据宽表的数据信息的数量大于或等于第一阈值,则将所述数据宽表存储在第一类型数据库;所述第一类型数据库包括es数据库、hbase数据库中的任一个;
所述处理单元,还用于若所述数据宽表的数据信息的检索频率小于第二阈值,则将所述数据宽表存储在fastdfs数据库。
9.根据权利要求8所述的确定装置,其特征在于,
所述处理单元,还用于若所述第一类型数据库中第一数据信息的检索频率大于或等于所述第二阈值,则将所述第一数据信息存储在redis数据库。
10.根据权利要求6-9任一项所述的确定装置,其特征在于,
所述处理单元,还用于检测所述电商服务器中的多张单表中每张单表的数据信息是否发生变化;
所述处理单元,还用于若所述多张单表中任一单表中的数据信息发生变化,则更新所述数据宽表中与发生变化的数据信息对应的数据值。
11.一种可读存储介质,其特征在于,所述可读存储介质中存储有指令,当所述指令被执行时,实现如权利要求1-5任一项所述的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849187.5A CN110781203A (zh) | 2019-09-09 | 2019-09-09 | 一种数据宽表的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849187.5A CN110781203A (zh) | 2019-09-09 | 2019-09-09 | 一种数据宽表的确定方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110781203A true CN110781203A (zh) | 2020-02-11 |
Family
ID=69383434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910849187.5A Pending CN110781203A (zh) | 2019-09-09 | 2019-09-09 | 一种数据宽表的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781203A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199393A (zh) * | 2020-09-18 | 2021-01-08 | 深圳希施玛数据科技有限公司 | 基于跨表查询的数据表生成方法、装置、设备及存储介质 |
CN112685415A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN112925808A (zh) * | 2021-02-23 | 2021-06-08 | 上海哔哩哔哩科技有限公司 | 数据处理方法、装置及电子设备 |
CN113505265A (zh) * | 2021-07-27 | 2021-10-15 | 北京达佳互联信息技术有限公司 | 数据的查询方法、装置及电子设备、存储介质、程序产品 |
CN113760836A (zh) * | 2021-01-27 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种宽表计算方法和装置 |
CN114238458A (zh) * | 2022-02-23 | 2022-03-25 | 国网北京市电力公司 | 数据查询方法、其装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150302058A1 (en) * | 2014-04-17 | 2015-10-22 | Wisconsin Alumni Research Foundation | Database system with highly denormalized database structure |
CN109189835A (zh) * | 2018-08-21 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 实时生成数据宽表的方法和装置 |
CN109388637A (zh) * | 2018-09-21 | 2019-02-26 | 北京京东金融科技控股有限公司 | 数据仓库信息处理方法、装置、系统、介质 |
CN109933514A (zh) * | 2017-12-18 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 一种数据测试方法和装置 |
-
2019
- 2019-09-09 CN CN201910849187.5A patent/CN110781203A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150302058A1 (en) * | 2014-04-17 | 2015-10-22 | Wisconsin Alumni Research Foundation | Database system with highly denormalized database structure |
CN109933514A (zh) * | 2017-12-18 | 2019-06-25 | 北京京东尚科信息技术有限公司 | 一种数据测试方法和装置 |
CN109189835A (zh) * | 2018-08-21 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 实时生成数据宽表的方法和装置 |
CN109388637A (zh) * | 2018-09-21 | 2019-02-26 | 北京京东金融科技控股有限公司 | 数据仓库信息处理方法、装置、系统、介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199393A (zh) * | 2020-09-18 | 2021-01-08 | 深圳希施玛数据科技有限公司 | 基于跨表查询的数据表生成方法、装置、设备及存储介质 |
CN112199393B (zh) * | 2020-09-18 | 2024-05-10 | 深圳希施玛数据科技有限公司 | 基于跨表查询的数据表生成方法、装置、设备及存储介质 |
CN112685415A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN113760836A (zh) * | 2021-01-27 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种宽表计算方法和装置 |
CN113760836B (zh) * | 2021-01-27 | 2024-04-12 | 北京京东振世信息技术有限公司 | 一种宽表计算方法和装置 |
CN112925808A (zh) * | 2021-02-23 | 2021-06-08 | 上海哔哩哔哩科技有限公司 | 数据处理方法、装置及电子设备 |
CN112925808B (zh) * | 2021-02-23 | 2023-08-15 | 上海哔哩哔哩科技有限公司 | 数据处理方法、装置及电子设备 |
CN113505265A (zh) * | 2021-07-27 | 2021-10-15 | 北京达佳互联信息技术有限公司 | 数据的查询方法、装置及电子设备、存储介质、程序产品 |
CN113505265B (zh) * | 2021-07-27 | 2024-03-01 | 北京达佳互联信息技术有限公司 | 数据的查询方法、装置及电子设备、存储介质、程序产品 |
CN114238458A (zh) * | 2022-02-23 | 2022-03-25 | 国网北京市电力公司 | 数据查询方法、其装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781203A (zh) | 一种数据宽表的确定方法及装置 | |
US10521404B2 (en) | Data transformations with metadata | |
US10372723B2 (en) | Efficient query processing using histograms in a columnar database | |
CN109189835B (zh) | 实时生成数据宽表的方法和装置 | |
US9043310B2 (en) | Accessing a dimensional data model when processing a query | |
TWI522942B (zh) | 用戶收藏夾資料的處理方法與裝置、用戶收藏夾資料的搜尋方法與裝置、及用戶收藏夾系統 | |
CN111400308B (zh) | 缓存数据的处理方法、电子装置及可读存储介质 | |
CN111523977B (zh) | 波次订单集合的创建方法、装置、计算设备和介质 | |
CN113220657B (zh) | 数据处理方法、装置及计算机设备 | |
US20230205755A1 (en) | Methods and systems for improved search for data loss prevention | |
US9619805B1 (en) | Predictive fact generation for query optimization | |
CN112181386B (zh) | 一种基于软件持续集成的代码构建方法、装置及终端 | |
US8856090B1 (en) | Client-based computation of checksums for product information | |
CN111753019A (zh) | 一种应用于数据仓库的数据分区方法和装置 | |
US8539492B1 (en) | Managing data dependencies among multiple jobs using separate tables that store job results and dependency satisfaction | |
US9654623B1 (en) | Data aggregation service | |
CN107888686B (zh) | 一种位于HBase客户端的用户数据有效性验证方法 | |
CN107562533B (zh) | 一种数据加载处理方法及装置 | |
CN113342822B (zh) | 基于多类型数据库的数据查询方法、装置、电子设备及介质 | |
CN105183749A (zh) | 一种爬取推广内容并供搜索使用的方法和装置 | |
CN112699149B (zh) | 目标数据获取方法、装置和存储介质及电子装置 | |
CN114549125A (zh) | 物品推荐方法及装置、电子设备和计算机可读存储介质 | |
CN111611056A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114356930A (zh) | 舆情数据的查询方法及相关装置 | |
CN114510640A (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 |
Application publication date: 20200211 |
|
RJ01 | Rejection of invention patent application after publication |