CN114020744A - 数据发送方法、装置、电子设备和计算机可读介质 - Google Patents
数据发送方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN114020744A CN114020744A CN202111294243.7A CN202111294243A CN114020744A CN 114020744 A CN114020744 A CN 114020744A CN 202111294243 A CN202111294243 A CN 202111294243A CN 114020744 A CN114020744 A CN 114020744A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- engine
- snapshot
- data query
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000005540 biological transmission Effects 0.000 title claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims description 41
- 239000012634 fragment Substances 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005192 partition Methods 0.000 claims description 9
- 238000013524 data verification Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008676 import Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
- G06F16/2455—Query execution
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
技术领域
本公开的实施例涉及计算机技术领域,具体涉及数据发送方法、装置、电子设备和计算机可读介质。
背景技术
目前,针对各个平台,往往存在对物品空间中至少一个目标物品进行查询的功能需求。例如,基于物品空间中海量物品数据的简单查询,在简单查询的基础上完成上钻操作、下钻操作、取前top操作、多维排序等操作的复杂查询。对于从物品空间中查询目标数据集的查询,通常采用的方式为:基于开源列式数据库(例如Clickhouse)来实现物品空间中查询目标数据集的查询。
然而,当采用上述方式来查询数据,经常会存在如下技术问题:
一些开源列式数据库有比较严重的并发短板,官方建议业务查询场景下的最高并发不超过100,面对一些比较大的多维统计查询时,会耗用大量的中央处理器(CentralProcessing Unit,CPU)资源,进而影响其他的筛选操作。除此之外,一些开源列式数据库往往存在不支持事务性操作,数据更新操作不便实现,一般通过新增代替更新操作,在查询端进行逻辑处理,但是数据量大了会影响查询性能。进一步地,开源列式数据库的列存储特性,虽然有较好的数据压缩表现,但是历史数据过多后,存储资源上仍是一种浪费,而且会影响查询效率。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了数据发送方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种数据发送方法,包括:响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集,其中,上述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,上述第一目标表为上述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,上述数据查询引擎包括:至少一个数据查询子引擎,上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的;生成与上述第一物品数据集相对应的第一数据快照;将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储,其中,上述快照索引为上述第一目标数据查询子引擎根据上述第一目标任务信息而生成的索引。
可选地,上述方法还包括:响应于接收到针对上述第一目标任务信息的第二数据查询请求,利用数据查询引擎中的第二目标数据查询子引擎,查询第二目标表对应的第二物品数据集,其中,上述第二数据查询请求为以第二目标数据查询方式来查询所需物品数据集的请求,上述第二目标表为上述第二目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表。
可选地,上述方法还包括:生成与上述第二物品数据集相对应的第二数据快照;将上述第二数据快照发送至上述第二目标数据查询子引擎,以供上述第二目标数据查询子引擎对上述第二数据快照和上述第二数据快照的快照索引进行对应存储,其中,上述第二数据快照的快照索引为上述第二目标数据查询子引擎生成的索引。
可选地,上述方法还包括:响应于接收到针对第二目标任务信息的第一数据查询请求,利用上述第一目标数据查询子引擎,查询上述第一数据快照的快照索引以从上述第一数据快照中获取上述第一物品数据集中的至少一个物品数据,其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。
可选地,上述方法还包括:响应于接收到针对第二目标任务信息的第二数据查询请求,利用第二目标数据查询子引擎,查询上述第二数据快照对应的上述第二物品数据集中的至少一个物品数据,其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。
可选地,上述方法还包括:将上述第一数据快照发送至数据处理端;响应于接收到上述数据处理端发送的处理后数据快照,获取上述处理后数据快照对应的第三物品数据集中的各个物品数据的实时标签;将上述第三物品数据集中的各个物品数据的实时标签存储于父子文档中的子文档,以及将上述处理后数据快照对应的快照索引存储于上述父子文档中的父文档。
可选地,上述方法还包括:响应于接收到针对第二目标任务信息的第三数据查询请求,查询上述父子文档中子文档中至少一个实时标签,以获取第三物品数据集中的至少一个物品数据,其中,上述第三数据查询请求是与上述至少一个实时标签相关联的请求。
可选地,上述第二目标数据查询子引擎中第二目标表是通过以下步骤生成的:获取物品数据仓库中预先加工的第一初始物品数据集;对上述第一初始物品数据集进行数据字段处理,得到处理后的物品数据集;确定上述第二目标数据查询子引擎中各个分片中是否存在分布式表和本地表;响应于确定不存在,根据预先获取的表元数据信息,在各个分区中生成分布式表和本地表;按照数据主键字段分配方式,对上述处理后的物品数据集进行数据划分,得到划分后的各个物品数据子集;对上述各个物品数据子集进行数据分区操作,得到操作后的各个物品数据子集;依据预先设置的物品数据推送方式,将操作后的各个物品数据子集分别推送至对应分片中的本地表,以及对上述本地表对应的分布式表进行更新;对各个分片中的物品数据进行数据校验;响应于上述各个分片中的物品数据校验通过,根据上述各个分片的本地表和分布式表,生成上述第二目标表。
可选地,上述方法还包括:响应于确定校验通过,更新上述第二目标数据查询子引擎的第一版本信息,以及将更新后的第一版本信息发送至数据检索端。
可选地,上述第一目标数据查询子引擎中的各个物品数据是通过以下步骤获取的:获取物品数据仓库中预先加工的第二初始物品数据集;对上述第二初始物品数据集进行数据字段处理,得到处理后的物品数据集;生成目标索引集;将上述目标索引集与上述第二初始物品数据集对应的各个类目信息进行一一匹配;获取上述各个类目信息的目标索引;依据上述各个类目信息的目标索引,对上述处理后的物品数据集进行数据分桶处理,得到各个物品数据子集;依据上述各个物品数据子集对应的目标索引,依据预设的数据写入方式,批量写入上述各个物品数据子集;对所写入的各个物品数据子集进行校验。
可选地,上述方法还包括:响应于确定校验通过,更新上述第一目标数据查询子引擎的第二版本信息,以及将更新后的第二版本信息发送至数据检索端。
可选地,上述第一目标表所存储的物品数据集是周期性变换的。
可选地,上述第二目标表所存储的物品数据集是周期性变换的。
第二方面,本公开的一些实施例提供了一种数据发送装置,包括:查询单元,被配置成响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集,其中,上述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,上述第一目标表为上述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,上述数据查询引擎包括:至少一个数据查询子引擎,上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的;生成单元,被配置成生成与上述第一物品数据集相对应的第一数据快照;发送单元,被配置成将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储,其中,上述快照索引为上述第一目标数据查询子引擎根据上述第一目标任务信息而生成的索引。
可选地,上述装置还包括:响应于接收到针对上述第一目标任务信息的第二数据查询请求,利用数据查询引擎中的第二目标数据查询子引擎,查询第二目标表对应的第二物品数据集,其中,上述第二数据查询请求为以第二目标数据查询方式来查询所需物品数据集的请求,上述第二目标表为上述第二目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表。
可选地,上述装置还包括:生成与上述第二物品数据集相对应的第二数据快照;将上述第二数据快照发送至上述第二目标数据查询子引擎,以供上述第二目标数据查询子引擎对上述第二数据快照和上述第二数据快照的快照索引进行对应存储,其中,上述第二数据快照的快照索引为上述第二目标数据查询子引擎生成的索引。
可选地,上述装置还包括:响应于接收到针对第二目标任务信息的第一数据查询请求,利用上述第一目标数据查询子引擎,查询上述第一数据快照的快照索引以从上述第一数据快照中获取上述第一物品数据集中的至少一个物品数据,其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。
可选地,上述装置还包括:响应于接收到针对第二目标任务信息的第二数据查询请求,利用第二目标数据查询子引擎,查询上述第二数据快照对应的上述第二物品数据集中的至少一个物品数据,其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。
可选地,上述装置还包括:将上述第一数据快照发送至数据处理端;响应于接收到上述数据处理端发送的处理后数据快照,获取上述处理后数据快照对应的第三物品数据集中的各个物品数据的实时标签;将上述第三物品数据集中的各个物品数据的实时标签存储于父子文档中的子文档,以及将上述处理后数据快照对应的快照索引存储于上述父子文档中的父文档。
可选地,上述装置还包括:响应于接收到针对第二目标任务信息的第三数据查询请求,查询上述父子文档中子文档中至少一个实时标签,以获取第三物品数据集中的至少一个物品数据,其中,上述第三数据查询请求是与上述至少一个实时标签相关联的请求。
可选地,上述第二目标数据查询子引擎中第二目标表是通过以下步骤生成的:获取物品数据仓库中预先加工的第一初始物品数据集;对上述第一初始物品数据集进行数据字段处理,得到处理后的物品数据集;确定上述第二目标数据查询子引擎中各个分片中是否存在分布式表和本地表;响应于确定不存在,根据预先获取的表元数据信息,在各个分区中生成分布式表和本地表;按照数据主键字段分配方式,对上述处理后的物品数据集进行数据划分,得到划分后的各个物品数据子集;对上述各个物品数据子集进行数据分区操作,得到操作后的各个物品数据子集;依据预先设置的物品数据推送方式,将操作后的各个物品数据子集分别推送至对应分片中的本地表,以及对上述本地表对应的分布式表进行更新;对各个分片中的物品数据进行数据校验;响应于上述各个分片中的物品数据校验通过,根据上述各个分片的本地表和分布式表,生成上述第二目标表。
可选地,上述装置还包括:响应于确定校验通过,更新上述第二目标数据查询子引擎的第一版本信息,以及将更新后的第一版本信息发送至数据检索端。
可选地,上述第一目标数据查询子引擎中的各个物品数据是通过以下步骤获取的:获取物品数据仓库中预先加工的第二初始物品数据集;对上述第二初始物品数据集进行数据字段处理,得到处理后的物品数据集;生成目标索引集;将上述目标索引集与上述第二初始物品数据集对应的各个类目信息进行一一匹配;获取上述各个类目信息的目标索引;依据上述各个类目信息的目标索引,对上述处理后的物品数据集进行数据分桶处理,得到各个物品数据子集;依据上述各个物品数据子集对应的目标索引,依据预设的数据写入方式,批量写入上述各个物品数据子集;对所写入的各个物品数据子集进行校验。
可选地,上述装置还包括:响应于确定校验通过,更新上述第一目标数据查询子引擎的第二版本信息,以及将更新后的第二版本信息发送至数据检索端。
可选地,上述第一目标表所存储的物品数据集是周期性变换的。
可选地,上述第二目标表所存储的物品数据集是周期性变换的。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本公开的上述各个实施例中具有如下有益效果:本公开的一些实施例的数据发送方法可以快捷、高效的针对第一目标任务信息的第一数据查询请求,实现物品数据集的查询和物品数据集的存储。具体来说,造成不能针对第一目标任务信息实现物品数据集的高效查询和存储的原因在于:单一的使用某一物品查询引擎,往往不能同时实现简单查询和复杂查询的操作。基于此,本公开的一些实施例的数据发送方法可以首先响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来高效地获取与上述第一目标任务信息相关联的第一物品数据集。其中,上述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,上述第一目标表为上述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,上述数据查询引擎包括:至少一个数据查询子引擎,上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的。在这里,通过使用数据查询引擎中不同的数据查询子引擎来实现针对不同数据查询方式的数据查询,可以充分利用各个数据查询子引擎的优点,可以兼顾进行简单查询以及复杂查询,在不浪费较多计算机资源的情况下,使得查询任务更为高效。然后,生成与上述第一物品数据集相对应的第一数据快照以用于后续针对第一数据快照的查询,大大提高了查询效率和节约了计算资源。最后,将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储,以用于后续高效、快捷地实现针对第一数据快照的数据查询。其中,上述快照索引为上述第一目标数据查询子引擎根据上述第一目标任务信息而生成的索引。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是根据本公开的一些实施例的数据发送方法的一个应用场景的示意图;
图2是根据本公开的数据发送方法的一些实施例的流程图;
图3是根据本公开的数据发送方法的另一些实施例的流程图;
图4是根据本公开的数据发送方法的又一些实施例的流程图;
图5是根据本公开的数据发送装置的一些实施例的结构示意图;
图6是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开一些实施例的数据发送方法的一个应用场景的示意图。
在图1的应用场景中,电子设备101可以首先响应于接收到针对第一目标任务信息102的第一数据查询请求103,利用数据查询引擎104中的第一目标数据查询子引擎1041,查询第一目标表105中至少一个类目索引来获取与上述第一目标任务信息102相关联的第一物品数据集106。其中,上述第一数据查询请求103为以第一目标数据查询方式来查询所需物品数据集的请求。上述第一目标105表为上述第一目标数据查询子引擎1041中预先建立的、用于数据写入和数据查询的表。上述数据查询引擎104包括:至少一个数据查询子引擎。上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的。在本应用场景中,上述数据查询引擎104包括:第一目标数据查询子引擎1041、第一目标数据查询子引擎1042、第一目标数据查询子引擎1043。然后,电子设备101可以生成与上述第一物品数据集106相对应的第一数据快照107。最后,电子设备101可以将上述第一数据快照107发送至上述第一目标数据查询子引擎1041,以供上述第一目标数据查询子引擎1041对上述第一数据快照107和上述第一数据快照107的快照索引进行对应存储,其中,上述快照索引为上述第一目标数据查询子引擎1041根据上述第一目标任务信息102而生成的索引。需要说明的是,上述电子设备101可以是硬件,也可以是软件。当电子设备为硬件时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。当电子设备体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的电子设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的电子设备。
继续参考图2,示出了根据本公开的数据发送方法的一些实施例的流程200。该数据发送方法,包括以下步骤:
步骤201,响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集。
在一些实施例中,响应于接收到针对第一目标任务信息的第一数据查询请求,上述数据发送方法的执行主体(例如图1所示的电子设备)可以利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集。其中,上述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,上述第一目标表为上述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,上述数据查询引擎包括:至少一个数据查询子引擎,上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的。其中,上述第一目标任务信息可以是第一目标任务的任务信息。例如,第一目标任务的标识信息,第一目标任务的内容信息。上述第一目标任务可以是预先开展的新任务。例如,针对商场营销的场景,第一目标任务可以是由商家发布的、与营销活动相关联的物品画像数据筛选任务。上述第一目标数据查询方式可以是简单数据查询方式。例如,从目标物品数据集中筛选出满足目标特征、且不进行相关数据后续处理操作的目标物品数据。第一目标数据查询子引擎可以是Elasticsearch。Elasticsearch是一个基于Lucene的搜索服务器。Elasticsearch提供了一个分布式多用户能力的全文搜索引擎。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch可以用于云计算中,能够达到实时搜索,存在稳定,可靠,快速,安装使用方便的优点。在这里,上述第一物品数据集中的物品数据可以是物品画像数据。上述第一目标表中存储着物品数据集和物品数据集中每个物品数据的类目索引。上述第一目标表存储着具有一定时效的物品数据集。例如,上述第一目标表中存储着刚写入的一天内的物品数据集。需要说明的是,第一目标数据查询子引擎是依据物品类目信息来生成物品数据集中各个物品数据的类目索引的。这样第一目标数据查询子引擎可以大大提高数据查询的效率。
步骤202,生成与上述第一物品数据集相对应的第一数据快照。
在一些实施例中,上述执行主体可以生成与上述第一物品数据集相对应的第一数据快照。
作为示例,上述执行主体可以将上述第一物品数据集确定为上述第一数据快照。
作为又一个示例,上述执行主体可以对第一物品数据集进行数据调整处理,得到调整后的第一物品数据集。然后,将上述调整后的第一物品数据集确定为第一数据快照。
步骤203,将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储。
在一些实施例中,上述执行主体可以将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储。其中,上述快照索引为上述第一目标数据查询子引擎根据上述第一目标任务信息而生成的索引。例如,上述第一目标任务信息为第一目标任务的标识信息,即,“00112”。则,将“00112”作为快照索引。
在这里,Elasticsearch中的快照索引是根据第一目标任务信息生成的一批索引,不再是根据物品的类目信息,因为后续所有针对第一数据快照的查询,均是在一个任务范围内,这样设计可以提高数据查询效率。
在一些实施例的一些可选的实现方式中,上述步骤还包括:
第一步,上述执行主体可以将上述第一数据快照发送至数据处理端。其中,上述数据处理端可以为数据查询引擎的下一个数据处理节点。上述数据处理端可以用于处理数据查询引擎输入的数据。例如,对数据查询引擎输入的数据进行打标签处理。
第二步,响应于接收到上述数据处理端发送的处理后数据快照,上述执行主体可以获取上述处理后数据快照对应的第三物品数据集中的各个物品数据的实时标签。
作为示例,响应于接收到上述数据处理端发送的处理后数据快照,上述执行主体可以获取上述处理后数据快照对应的第三物品数据集中的各个物品数据的白名单标签和黑名单标签。
第三步,上述执行主体可以将上述第三物品数据集中的各个物品数据的实时标签存储于父子文档中的子文档,以及将上述处理后数据快照对应的快照索引存储于上述父子文档中的父文档。
需要说明的是,上述子文档中所存储的实时标签是根据第三物品数据集实时变换的。即,在这里,第三物品数据集可以是存在一定时效的物品数据集。
在这里,由于父文档中存在数百个标签,每次更新效率低下,将各个物品数据的实时标签放入子文档中更新,会大大提高数据查询效率。
可选地,上述步骤还包括:响应于接收到针对第二目标任务信息的第三数据查询请求,上述执行主体可以查询上述父子文档中子文档中至少一个实时标签,以获取第三物品数据集中的至少一个物品数据。其中,上述第三数据查询请求是与上述至少一个实时标签相关联的请求。
作为示例,响应于接收到针对上述第二目标任务信息的第三数据查询请求,上述执行主体可以查询上述父子文档中子文档中的黑名单标签,以获取第三物品数据集中的为黑名单标签的至少一个物品数据。
在一些实施例的一些可选的实现方式中,上述第一目标数据查询子引擎中的各个物品数据是通过以下步骤获取的:
第一步,获取物品数据仓库中预先加工的第二初始物品数据集。其中,上述第二初始物品数据集可以是以物品数据表的形式在物品数据仓库中进行存储的。
第二步,对上述第二初始物品数据集进行数据字段处理,得到处理后的物品数据集。
作为示例,根据配置文件中的Elasticsearch索引字段类型,对第二初始物品数据集中对应的各个标签字段进行类型转换,用Clickhouse导入模块中相同的方式对空值进行填充处理(保证与Clickhouse中的数据一致性),对需要存储为Array、Nested等结构的字段进行特殊处理、格式转换。当推送的索引为父子文档时,还需要对第二初始物品数据集进行重组,以满足父子文档的数据结构。
第三步,生成目标索引集。
作为示例,依据目标规则来生成目标索引集。例如,依据数字的顺序来生成目标索引集。
第四步,将上述目标索引集与上述第二初始物品数据集对应的各个类目信息进行一一匹配。
作为示例,依据预设的算法逻辑,将每个类目信息分配到目标索引集中的一个目标索引上,保证同一类目信息的物品数据一定处于同一个目标索引中,而且每个目标索引对应的数据量尽可能的均匀。
在这里,这样设计的目的是为了避免一个索引对应的数据量过大影响查询效率,同时能一定程度上提升整体的查询并发性能,而且该方案可依据业务体量进行横向扩充,比如增加集群数量。
第五步,获取上述各个类目信息的目标索引。
第六步,依据上述各个类目信息的目标索引,对上述处理后的物品数据集进行数据分桶处理,得到各个物品数据子集。
第七步,依据上述各个物品数据子集对应的目标索引,依据预设的数据写入方式,批量写入上述各个物品数据子集。
作为示例,以各个物品数据子集的主键为Elasticsearch索引的id,多集群的索引并行写、同集群的索引串行写;采用这种方式能避免同一个Elasticsearch集群存在多个写入点,导致大量错误(例如,reject),致使数据写入效率低下的问题,而多集群不存在共用写入点的问题,可以采用并行写来提升写入效率,同时以主键为id,能避免数据写入重复的问题。
第八步,对所写入的各个物品数据子集进行校验。
作为示例,利用Spark,按照预设规则对Elasticsearch中的各个物品数据子集进行验证。
例如,本申请以物品的类目维度进行校验,即查询Elasticsearch集群每个索引中所有类目下的数据量,和从物品数据仓库中获取到的数据量进行校验,校验过程中会出现以下两种情况:
响应于确定Elasticsearch中数据量与物品数据仓库中统计到的数据量一致,那么当前类目数据验证通过。
响应于确定Elasticsearch中统计到的数据量要小于物品数据仓库中统计到的数据量,这时对当前类目的数据进行重复导入,数据导入完成后,再进行数据验证。
可选地,上述步骤还包括:
响应于确定校验通过,更新上述第一目标数据查询子引擎的第二版本信息,以及将更新后的第二版本信息发送至数据检索端。在这里,将更新后的第二版本信息发送至数据检索端以用于后续第一目标数据查询子引擎的使用。
在一些实施例的一些可选的实现方式中,上述第一目标表所存储的物品数据集是周期性变换的。作为示例,第一目标表所存储的物品数据集可以是一天一更新变换的。
本公开的上述各个实施例中具有如下有益效果:本公开的一些实施例的数据发送方法可以快捷、高效的针对第一目标任务信息的第一数据查询请求,实现物品数据集的查询和物品数据集的存储。具体来说,造成不能针对第一目标任务信息实现物品数据集的高效查询和存储的原因在于:单一的使用某一物品查询引擎,往往不能同时实现简单查询和复杂查询的操作。基于此,本公开的一些实施例的数据发送方法可以首先响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来高效地获取与上述第一目标任务信息相关联的第一物品数据集。其中,上述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,上述第一目标表为上述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,上述数据查询引擎包括:至少一个数据查询子引擎,上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的。在这里,通过使用数据查询引擎中不同的数据查询子引擎来实现针对不同数据查询方式的数据查询,可以充分利用各个数据查询子引擎的优点,可以兼顾进行简单查询以及复杂查询,在不浪费较多计算机资源的情况下,使得查询任务更为高效。然后,生成与上述第一物品数据集相对应的第一数据快照以用于后续针对第一数据快照的查询,大大提高了查询效率和节约了计算资源。最后,将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储,以用于后续高效、快捷地实现针对第一数据快照的数据查询。其中,上述快照索引为上述第一目标数据查询子引擎根据上述第一目标任务信息而生成的索引。
进一步参考图3,示出了根据本公开的数据发送方法的另一些实施例的流程300。该数据发送方法,包括以下步骤:
步骤301,响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集。
步骤302,生成与上述第一物品数据集相对应的第一数据快照。
步骤303,将上述第一数据快照发送至上述第一目标数据查询子引擎。
在一些实施例中,步骤301-303的具体实现及其所带来的技术效果,可以参考图2对应的实施例中的步骤201-203,在此不再赘述。
步骤304,响应于接收到针对上述第一目标任务信息的第二数据查询请求,利用数据查询引擎中的第二目标数据查询子引擎,查询第二目标表对应的第二物品数据集。
在一些实施例中,响应于接收到针对上述第一目标任务信息的第二数据查询请求,执行主体(例如图1所示的电子设备)可以利用数据查询引擎中的第二目标数据查询子引擎,查询第二目标表对应的第二物品数据集。其中,上述第二数据查询请求为以第二目标数据查询方式来查询所需物品数据集的请求,上述第二目标表为上述第二目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表。上述第二目标数据查询方式可以是在简单查询的基础上,对数据进行进一步查询的操作方式。例如,在简单查询的基础上,进行进一步的上钻操作、下钻操作、取前top操作、多维排序等操作的复杂查询。上述第二目标数据查询子引擎可以是Clickhouse。
需要说明的是,上述第二目标表是基于Clickhouse各个分片的本地表和分布式表生成的。
在一些实施例的一些可选的实现方式中,上述步骤还包括:
第一步,上述执行主体可以生成与上述第二物品数据集相对应的第二数据快照。
第二步,上述执行主体可以将上述第二数据快照发送至上述第二目标数据查询子引擎,以供上述第二目标数据查询子引擎对上述第二数据快照和上述第二数据快照的快照索引进行对应存储。其中,上述第二数据快照的快照索引为上述第二目标数据查询子引擎生成的索引。上述第二数据快照的快照索引可以是依据预定规则设计的。
可选地,上述步骤还包括:
响应于接收到针对第二目标任务信息的第二数据查询请求,利用第二目标数据查询子引擎,上述执行主体可以查询上述第二数据快照对应的上述第二物品数据集中的至少一个物品数据。其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。需要进一步说明的是,上述第二目标任务信息是在第一目标任务信息的基础上,增加了查询条件而生成的任务信息。
在一些实施例的一些可选的实现方式中,上述第二目标数据查询子引擎中第二目标表是通过以下步骤生成的:
第一步,获取物品数据仓库中预先加工的第一初始物品数据集。
第二步,对上述第一初始物品数据集进行数据字段处理,得到处理后的物品数据集。在这里,对第一初始物品数据集的数据字段处理可以参考第二初始物品数据集的处理。
第三步,确定上述第二目标数据查询子引擎中各个分片中是否存在分布式表和本地表。
作为示例,通过表查询的方式来确定上述第二目标数据查询子引擎中各个分片中是否存在分布式表和本地表。
第四步,响应于确定不存在,根据预先获取的表元数据信息,在各个分区中生成分布式表和本地表。
作为示例,上述表元数据信息可以是利用Spark任务从配置文件中获取到的。
作为又一个示例,上述执行主体可以首先根据配置文件新建Clickhouse集群每个分片上的本地表,本地表引擎为ReplicatedReplacingMergeTree。而后根据本地表新建分布式表。其中,本地表引擎设计为ReplicatedReplacingMergeTree的目的如下:一是利用Zookeeper的能力,保证Clickhouse每个分片中的副本间数据一致,这样数据导入只需要导入每个分片中的一个节点即可。二是利用ReplacingMergeTree引擎的能力,在数据导入完成后,进行optimize操作,来保证每个节点上没有重复数据。
第五步,上述执行主体可以按照数据主键字段分配方式,对上述处理后的物品数据集进行数据划分,得到划分后的各个物品数据子集。
第六步,上述执行主体可以对上述各个物品数据子集进行数据分区操作,得到操作后的各个物品数据子集。其中,上述数据分区操作可以是repartition操作。
第七步,上述执行主体依据预先设置的物品数据推送方式,将操作后的各个物品数据子集分别推送至对应分片中的本地表,以及对上述本地表对应的分布式表进行更新。
作为示例,上述执行主体可以利用Spark的Driver端,多线程并行启动数据推送程序,利用JDBC的PreparedStatement按一定批次将操作后的各个物品数据子集分别推送至对应分片中的本地表,以降低Spark对Clickhouse的请求频次。
第八步,上述执行主体对各个分片中的物品数据进行数据校验。
作为示例,上述执行主体可以利用Spark,按照预设规则对Clickhouse中的各个分片中的物品数据进行验证。
例如,本申请以物品的类目维度进行校验,即查询Clickhouse中所有类目下的数据量,和从物品数据仓库中获取到的数据量进行校验,校验过程中会出现以下三种情况:
响应于确定Clickhouse中数据量与物品数据仓库中统计到的数据量一致,那么当前类目数据验证通过。
响应于确定Clickhouse中统计到的数据量要大于物品数据仓库中统计到的数据量,这时对各个分片的本地表进行optimize操作,合并数据后,再进行数据验证。
响应于确定Clickhouse中统计到的数据量要小于仓库中统计到的数据量,这时对各个分片的本地表中当前校验类目的数据进行重新推送,推送完成后再进行数据校验。
第九步,响应于上述各个分片中的物品数据校验通过,根据上述各个分片的本地表和分布式表,生成上述第二目标表。
可选地,上述步骤还包括:
响应于确定校验通过,更新上述第二目标数据查询子引擎的第一版本信息,以及将更新后的第一版本信息发送至数据检索端。在这里,将更新后的第一版本信息发送至数据检索端以用于后续第二目标数据查询子引擎的使用。
在一些实施例的一些可选的实现方式中,上述第二目标表所存储的物品数据集是周期性变换的。作为示例,第二目标表所存储的物品数据集可以是一天一更新变换的。
从图3中可以看出,与图2对应的一些实施例的描述相比,图3对应的一些实施例中的数据发送方法的流程300更加突出了利用数据查询引擎中的第二目标数据查询子引擎,查询第二目标表对应的第二物品数据集的具体步骤。由此,这些实施例描述的方案通过第二目标数据查询子引擎来高效、快捷地来实现针对第一目标任务信息的复杂查询。由此,本申请可以利用数据查询引擎在不过多浪费计算资源的情况下,高效的实现物品数据的简单查询和复杂查询。
进一步参考图4,示出了根据本公开的数据发送方法的又一些实施例的流程400。该数据发送方法,包括以下步骤:
步骤401,响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集。
步骤402,生成与上述第一物品数据集相对应的第一数据快照。
步骤403,将上述第一数据快照发送至上述第一目标数据查询子引擎。
在一些实施例中,步骤401-403的具体实现及其所带来的技术效果,可以参考图2对应的实施例中的步骤201-203,在此不再赘述。
步骤404,响应于接收到针对第二目标任务信息的第一数据查询请求,利用上述第一目标数据查询子引擎,查询上述第一数据快照的快照索引以从上述第一数据快照中获取上述第一物品数据集中的至少一个物品数据。
在一些实施例中,响应于接收到针对上述第二目标任务信息的第一数据查询请求,执行主体(例如图1所示的电子设备)可以利用上述第一目标数据查询子引擎,查询上述第一数据快照的快照索引以从上述第一数据快照中获取上述第一物品数据集中的至少一个物品数据。其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。需要进一步说明的是,上述第二目标任务信息是在第一目标任务信息的基础上,增加了查询条件而生成的任务信息。
需要说明的是,上述第二目标表是基于Clickhouse各个分片的本地表和分布式表生成的。
在一些实施例的一些可选的实现方式中,上述步骤还包括:
第一步,上述执行主体可以生成与上述第二物品数据集相对应的第二数据快照。
第二步,上述执行主体可以将上述第二数据快照和上述第二数据快照的快照索引对应存储于上述第二目标数据查询子引擎。其中,上述第二数据快照的快照索引可以是依据预定规则设计的。
从图4中可以看出,与图2对应的一些实施例的描述相比,图4对应的一些实施例中的数据发送方法的流程400更加突出了针对第二目标任务信息的物品数据查询的具体步骤。由此,这些实施例描述的方案可以针对第二目标任务信息的第一数据查询请求,利用第一目标数据查询子引擎高效、快捷的查询上述第一数据快照的快照索引以从上述第一数据快照中获取上述第一物品数据集中的至少一个物品数据。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种数据发送装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,一种数据发送装置500包括:查询单元501、生成单元502和存储单元503。其中,查询单元501,被配置成响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集,其中,上述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,上述第一目标表为上述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,上述数据查询引擎包括:至少一个数据查询子引擎,上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的;生成单元502,被配置成生成与上述第一物品数据集相对应的第一数据快照;发送单元503,被配置成将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储,其中,上述快照索引为上述第一目标数据查询子引擎根据上述第一目标任务信息而生成的索引。
在一些实施例的一些可选的实现方式中,上述装置500还包括:第一数据查询单元(图中未显示)。其中,上述第一数据查询单元可以被配置成:响应于接收到针对上述第一目标任务信息的第二数据查询请求,利用数据查询引擎中的第二目标数据查询子引擎,查询第二目标表对应的第二物品数据集,其中,上述第二数据查询请求为以第二目标数据查询方式来查询所需物品数据集的请求,上述第二目标表为上述第二目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表。
在一些实施例的一些可选的实现方式中,上述装置500还包括:快照生成单元和快照发送单元(图中未显示)。其中,上述快照生成单元可以被配置成:生成与上述第二物品数据集相对应的第二数据快照。上述快照发送单元可以被配置成:将上述第二数据快照发送至上述第二目标数据查询子引擎,以供上述第二目标数据查询子引擎对上述第二数据快照和上述第二数据快照的快照索引进行对应存储,其中,上述第二数据快照的快照索引为上述第二目标数据查询子引擎生成的索引。
在一些实施例的一些可选的实现方式中,上述装置500还包括:第二数据查询单元(图中未显示)。其中,上述第二数据查询单元可以被配置成:响应于接收到针对第二目标任务信息的第一数据查询请求,利用上述第一目标数据查询子引擎,查询上述第一数据快照的快照索引以从上述第一数据快照中获取上述第一物品数据集中的至少一个物品数据,其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。
在一些实施例的一些可选的实现方式中,上述装置500还包括:第三数据查询单元(图中未显示)。其中,上述第三数据查询单元可以被配置成:响应于接收到针对第二目标任务信息的第二数据查询请求,利用第二目标数据查询子引擎,查询上述第二数据快照对应的上述第二物品数据集中的至少一个物品数据,其中,上述第二目标任务信息为针对上述第一目标任务信息而开展的任务的信息。
在一些实施例的一些可选的实现方式中,上述装置500还包括:发送单元、获取单元和标签存储单元(图中未显示)。其中,上述发送单元可以被配置成:将上述第一数据快照发送至数据处理端。获取单元可以被配置成:响应于接收到上述数据处理端发送的处理后数据快照,获取上述处理后数据快照对应的第三物品数据集中的各个物品数据的实时标签。标签存储单元可以被配置成:将上述第三物品数据集中的各个物品数据的实时标签存储于父子文档中的子文档,以及将上述处理后数据快照对应的快照索引存储于上述父子文档中的父文档
在一些实施例的一些可选的实现方式中,上述装置500还包括:第三数据查询单元(图中未显示)。其中,上述第三数据查询单元可以被配置成:响应于接收到针对第二目标任务信息的第三数据查询请求,查询上述父子文档中子文档中至少一个实时标签,以获取第三物品数据集中的至少一个物品数据,其中,上述第三数据查询请求是与上述至少一个实时标签相关联的请求。
在一些实施例的一些可选的实现方式中,上述第二目标数据查询子引擎中第二目标表是通过以下步骤生成的:获取物品数据仓库中预先加工的第一初始物品数据集;对上述第一初始物品数据集进行数据字段处理,得到处理后的物品数据集;确定上述第二目标数据查询子引擎中各个分片中是否存在分布式表和本地表;响应于确定不存在,根据预先获取的表元数据信息,在各个分区中生成分布式表和本地表;按照数据主键字段分配方式,对上述处理后的物品数据集进行数据划分,得到划分后的各个物品数据子集;对上述各个物品数据子集进行数据分区操作,得到操作后的各个物品数据子集;依据预先设置的物品数据推送方式,将操作后的各个物品数据子集分别推送至对应分片中的本地表,以及对上述本地表对应的分布式表进行更新;对各个分片中的物品数据进行数据校验;响应于上述各个分片中的物品数据校验通过,根据上述各个分片的本地表和分布式表,生成上述第二目标表。
在一些实施例的一些可选的实现方式中,上述装置500还包括:第一更新单元(图中未显示)。其中,上述第一更新单元可以被配置成:响应于确定校验通过,更新上述第二目标数据查询子引擎的第一版本信息,以及将更新后的第一版本信息发送至数据检索端。
在一些实施例的一些可选的实现方式中,上述第一目标数据查询子引擎中的各个物品数据是通过以下步骤获取的:获取物品数据仓库中预先加工的第二初始物品数据集;对上述第二初始物品数据集进行数据字段处理,得到处理后的物品数据集;生成目标索引集;将上述目标索引集与上述第二初始物品数据集对应的各个类目信息进行一一匹配;获取上述各个类目信息的目标索引;依据上述各个类目信息的目标索引,对上述处理后的物品数据集进行数据分桶处理,得到各个物品数据子集;依据上述各个物品数据子集对应的目标索引,依据预设的数据写入方式,批量写入上述各个物品数据子集;对所写入的各个物品数据子集进行校验。
在一些实施例的一些可选的实现方式中,上述装置500还包括:第二更新单元(图中未显示)。其中,上述第二更新单元可以被配置成:响应于确定校验通过,更新上述第一目标数据查询子引擎的第二版本信息,以及将更新后的第二版本信息发送至数据检索端。
在一些实施例的一些可选的实现方式中,上述第一目标表所存储的物品数据集是周期性变换的。
在一些实施例的一些可选的实现方式中,上述第二目标表所存储的物品数据集是周期性变换的。
可以理解的是,该装置500中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置500及其中包含的单元,在此不再赘述。
下面参考图6,其示出了适于用来实现本公开的一些实施例的电子设备(例如图1中的电子设备)600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与上述第一目标任务信息相关联的第一物品数据集,其中,上述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,上述第一目标表为上述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,上述数据查询引擎包括:至少一个数据查询子引擎,上述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的;生成与上述第一物品数据集相对应的第一数据快照;将上述第一数据快照发送至上述第一目标数据查询子引擎,以供上述第一目标数据查询子引擎对上述第一数据快照和上述第一数据快照的快照索引进行对应存储,其中,上述快照索引为上述第一目标数据查询子引擎根据上述第一目标任务信息而生成的索引。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括查询单元、生成单元和发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“将上述第一数据快照发送至上述第一目标数据查询子引擎的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (16)
1.一种数据发送方法,包括:
响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与所述第一目标任务信息相关联的第一物品数据集,其中,所述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,所述第一目标表为所述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,所述数据查询引擎包括:至少一个数据查询子引擎,所述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的;
生成与所述第一物品数据集相对应的第一数据快照;
将所述第一数据快照发送至所述第一目标数据查询子引擎,以供所述第一目标数据查询子引擎对所述第一数据快照和所述第一数据快照的快照索引进行对应存储,其中,所述快照索引为所述第一目标数据查询子引擎根据所述第一目标任务信息而生成的索引。
2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于接收到针对所述第一目标任务信息的第二数据查询请求,利用数据查询引擎中的第二目标数据查询子引擎,查询第二目标表对应的第二物品数据集,其中,所述第二数据查询请求为以第二目标数据查询方式来查询所需物品数据集的请求,所述第二目标表为所述第二目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表。
3.根据权利要求2所述的方法,其中,所述方法还包括:
生成与所述第二物品数据集相对应的第二数据快照;
将所述第二数据快照发送至所述第二目标数据查询子引擎,以供所述第二目标数据查询子引擎对所述第二数据快照和所述第二数据快照的快照索引进行对应存储,其中,所述第二数据快照的快照索引为所述第二目标数据查询子引擎生成的索引。
4.根据权利要求1所述的方法,其中,所述方法还包括:
响应于接收到针对第二目标任务信息的第一数据查询请求,利用所述第一目标数据查询子引擎,查询所述第一数据快照的快照索引以从所述第一数据快照中获取所述第一物品数据集中的至少一个物品数据,其中,所述第二目标任务信息为针对所述第一目标任务信息而开展的任务的信息。
5.根据权利要求3所述的方法,其中,所述方法还包括:
响应于接收到针对第二目标任务信息的第二数据查询请求,利用所述第二目标数据查询子引擎,查询所述第二数据快照对应的所述第二物品数据集中的至少一个物品数据,其中,所述第二目标任务信息为针对所述第一目标任务信息而开展的任务的信息。
6.根据权利要求1所述的方法,其中,所述方法还包括:
将所述第一数据快照发送至数据处理端;
响应于接收到所述数据处理端发送的处理后数据快照,获取所述处理后数据快照对应的第三物品数据集中的各个物品数据的实时标签;
将所述第三物品数据集中的各个物品数据的实时标签存储于父子文档中的子文档,以及将所述处理后数据快照对应的快照索引存储于所述父子文档中的父文档。
7.根据权利要求6所述的方法,其中,所述方法还包括:
响应于接收到针对第二目标任务信息的第三数据查询请求,查询所述父子文档中子文档中至少一个实时标签,以获取第三物品数据集中的至少一个物品数据,其中,所述第三数据查询请求是与所述至少一个实时标签相关联的请求。
8.根据权利要求2所述的方法,其中,所述第二目标数据查询子引擎中第二目标表是通过以下步骤生成的:
获取物品数据仓库中预先加工的第一初始物品数据集;
对所述第一初始物品数据集进行数据字段处理,得到处理后的物品数据集;
确定所述第二目标数据查询子引擎中各个分片中是否存在分布式表和本地表;
响应于确定不存在,根据预先获取的表元数据信息,在各个分区中生成分布式表和本地表;
按照数据主键字段分配方式,对所述处理后的物品数据集进行数据划分,得到划分后的各个物品数据子集;
对所述各个物品数据子集进行数据分区操作,得到操作后的各个物品数据子集;
依据预先设置的物品数据推送方式,将操作后的各个物品数据子集分别推送至对应分片中的本地表,以及对所述本地表对应的分布式表进行更新;
对各个分片中的物品数据进行数据校验;
响应于所述各个分片中的物品数据校验通过,根据所述各个分片的本地表和分布式表,生成所述第二目标表。
9.根据权利要求8所述的方法,其中,所述方法还包括:
响应于确定校验通过,更新所述第二目标数据查询子引擎的第一版本信息,以及将更新后的第一版本信息发送至数据检索端。
10.根据权利要求1所述的方法,其中,所述第一目标数据查询子引擎中的各个物品数据是通过以下步骤获取的:
获取物品数据仓库中预先加工的第二初始物品数据集;
对所述第二初始物品数据集进行数据字段处理,得到处理后的物品数据集;
生成目标索引集;
将所述目标索引集与所述第二初始物品数据集对应的各个类目信息进行一一匹配;
获取所述各个类目信息的目标索引;
依据所述各个类目信息的目标索引,对所述处理后的物品数据集进行数据分桶处理,得到各个物品数据子集;
依据所述各个物品数据子集对应的目标索引,依据预设的数据写入方式,批量写入所述各个物品数据子集;
对所写入的各个物品数据子集进行校验。
11.根据权利要求10所述的方法,其中,所述方法还包括:
响应于确定校验通过,更新所述第一目标数据查询子引擎的第二版本信息,以及将更新后的第二版本信息发送至数据检索端。
12.根据权利要求1所述的方法,其中,所述第一目标表所存储的物品数据集是周期性变换的。
13.根据权利要求2所述的方法,其中,所述第二目标表所存储的物品数据集是周期性变换的。
14.一种数据发送装置,包括:
查询单元,被配置成响应于接收到针对第一目标任务信息的第一数据查询请求,利用数据查询引擎中的第一目标数据查询子引擎,查询第一目标表中至少一个类目索引来获取与所述第一目标任务信息相关联的第一物品数据集,其中,所述第一数据查询请求为以第一目标数据查询方式来查询所需物品数据集的请求,所述第一目标表为所述第一目标数据查询子引擎中预先建立的、用于数据写入和数据查询的表,所述数据查询引擎包括:至少一个数据查询子引擎,所述至少一个数据查询子引擎中各个数据查询子引擎是针对不同数据查询方式设置的;
生成单元,被配置成生成与所述第一物品数据集相对应的第一数据快照;
发送单元,被配置成将所述第一数据快照发送至所述第一目标数据查询子引擎,以供所述第一目标数据查询子引擎对所述第一数据快照和所述第一数据快照的快照索引进行对应存储,其中,所述快照索引为所述第一目标数据查询子引擎根据所述第一目标任务信息而生成的索引。
15.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-13中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111294243.7A CN114020744A (zh) | 2021-11-03 | 2021-11-03 | 数据发送方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111294243.7A CN114020744A (zh) | 2021-11-03 | 2021-11-03 | 数据发送方法、装置、电子设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020744A true CN114020744A (zh) | 2022-02-08 |
Family
ID=80060282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111294243.7A Pending CN114020744A (zh) | 2021-11-03 | 2021-11-03 | 数据发送方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020744A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140324806A1 (en) * | 2013-04-30 | 2014-10-30 | International Business Machines Corporation | Extending document editors to assimilate documents returned by a search engine |
CN111767287A (zh) * | 2020-06-30 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 数据导入方法、装置、设备及计算机存储介质 |
CN111797091A (zh) * | 2019-10-18 | 2020-10-20 | 北京沃东天骏信息技术有限公司 | 数据库中数据查询的方法、装置、电子设备和存储介质 |
CN112395308A (zh) * | 2020-11-05 | 2021-02-23 | 深圳市中博科创信息技术有限公司 | 一种基于hdfs数据库的数据查询方法 |
-
2021
- 2021-11-03 CN CN202111294243.7A patent/CN114020744A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140324806A1 (en) * | 2013-04-30 | 2014-10-30 | International Business Machines Corporation | Extending document editors to assimilate documents returned by a search engine |
CN111797091A (zh) * | 2019-10-18 | 2020-10-20 | 北京沃东天骏信息技术有限公司 | 数据库中数据查询的方法、装置、电子设备和存储介质 |
CN111767287A (zh) * | 2020-06-30 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 数据导入方法、装置、设备及计算机存储介质 |
CN112395308A (zh) * | 2020-11-05 | 2021-02-23 | 深圳市中博科创信息技术有限公司 | 一种基于hdfs数据库的数据查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210263906A1 (en) | Recreating an oltp table and reapplying database transactions for real-time analytics | |
US8458203B2 (en) | Optimizing data processing using dynamic schemas | |
CN107229718B (zh) | 处理报表数据的方法和装置 | |
US20130191523A1 (en) | Real-time analytics for large data sets | |
CN109614402B (zh) | 多维数据查询方法和装置 | |
EP3188051B1 (en) | Systems and methods for search template generation | |
CN108897874B (zh) | 用于处理数据的方法和装置 | |
CN110019258A (zh) | 处理订单数据的方法和装置 | |
US10496645B1 (en) | System and method for analysis of a database proxy | |
CN111061680A (zh) | 一种数据检索的方法和装置 | |
US10866960B2 (en) | Dynamic execution of ETL jobs without metadata repository | |
CN113704291A (zh) | 数据查询方法、装置、存储介质及电子设备 | |
CN110909022A (zh) | 一种数据查询方法和装置 | |
CN113157731A (zh) | 符号解析方法、装置、设备及存储介质 | |
CN115168362A (zh) | 数据处理方法、装置、可读介质及电子设备 | |
CN111241137A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US11704327B2 (en) | Querying distributed databases | |
CN110705935B (zh) | 一种物流单据的处理方法和装置 | |
US8874682B2 (en) | Composite graph cache management | |
CN111104408A (zh) | 基于地图数据的数据交换方法、装置及存储介质 | |
CN115391605A (zh) | 数据查询方法、装置、设备、计算机可读介质和程序产品 | |
US11727022B2 (en) | Generating a global delta in distributed databases | |
CN112699149B (zh) | 目标数据获取方法、装置和存储介质及电子装置 | |
CN114020744A (zh) | 数据发送方法、装置、电子设备和计算机可读介质 | |
US10114864B1 (en) | List element query support and processing |
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 |