CN108512876A - 数据的推送方法及装置 - Google Patents
数据的推送方法及装置 Download PDFInfo
- Publication number
- CN108512876A CN108512876A CN201710109224.XA CN201710109224A CN108512876A CN 108512876 A CN108512876 A CN 108512876A CN 201710109224 A CN201710109224 A CN 201710109224A CN 108512876 A CN108512876 A CN 108512876A
- Authority
- CN
- China
- Prior art keywords
- default memory
- storage
- data
- propelling data
- identification information
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据的推送方法及装置。其中,该方法包括:获取待推送数据以及待推送数据的标识信息,其中,待推送数据的标识信息用于唯一标识待推送数据;当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据,其中,目标存储位置包括与待推送数据的标识信息对应的存储位置,预定指示信息用于指示已推送过的数据的标识信息。本发明解决了现有技术中已推送过的数据的存储成本过高的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据的推送方法及装置。
背景技术
现有曝光历史存储方案是利用缓存(CACHE)方式直接存储文章docId。
在这个信息大爆发的时代,资讯的更新速度越来越迅速,人们对最新资讯的需求也越来越迫切,数据推送类的应用为用户推送数据时的效率和实时性成为了吸引用户的重要因素。用户在刷新资讯数据时如果一直重复看到相同的资讯或者无法刷新数据都将严重影响用户的留存率。因此,在为用户推送数据时,高效地将推送的历史曝光数据过滤掉就成为了维护用户的关键。
在现有技术中,历史曝光数据的存储方案是利用缓存(CACHE)方式直接存储文章docId,图1是根据相关技术的一种存储历史曝光数据的示意图,如图1所示,历史曝光数据的标识信息(docId)存储在缓存(CACHE)区域中,当数据(例如:资讯Feeds)的用户数和刷新数过多时,会出现文章重复露出、刷新不出数据等不良体验,无法实现Feeds无限刷新的需求。其主要原因是因为现有历史曝光数据的存储方案是利用CACHE方式直接存储文章标识信息(docId),当用户刷新量过多时会导致存储空间耗用过高使得成本急剧上升,出现存储溢出而淘汰旧曝光记录的现象,导致多数重复文章被推荐出。此外,用户曝光历史记录是存在远程CACHE服务节点,当存储量大时也会因远程读取单条历史记录过大而导致网络超时无法返回历史曝光记录和无资讯Feeds推荐数据返回。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据的推送方法及装置,以至少解决现有技术中已推送过的数据的存储成本过高的技术问题。
根据本发明实施例的一个方面,提供了一种数据的推送方法,包括:获取待推送数据以及所述待推送数据的标识信息,其中,所述待推送数据的标识信息用于唯一标识所述待推送数据;当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送所述待推送数据,其中,所述目标存储位置包括与所述待推送数据的标识信息对应的存储位置,所述预定指示信息用于指示已推送过的数据的标识信息。
根据本发明实施例的另一方面,还提供了一种数据的推送装置,包括:获取模块,用于获取待推送数据以及所述待推送数据的标识信息,其中,所述待推送数据的标识信息用于唯一标识所述待推送数据;推送模块,用于当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送所述待推送数据,其中,所述目标存储位置包括与所述待推送数据的标识信息对应的存储位置,所述预定指示信息用于指示已推送过的数据的标识信息。
在本发明实施例中,获取待推送数据以及待推送数据的标识信息,其中,待推送数据的标识信息用于唯一标识待推送数据;当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据,其中,目标存储位置包括与待推送数据的标识信息对应的存储位置,预定指示信息用于指示已推送过的数据的标识信息。也就是说,预设存储空间的存储位置上只存储了用于指示已推送过的数据的标识信息的预定指示信息,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,表示未推送过该待推送数则,则将该待推送数据推送出去,这样以来,利用待推送数据的标识信息对应的目标存储位置上是否存储了预定指示信息表示待推送数据是否是已推送过的数据,从而降低了已推送过的数据的存储成本,进而克服现有技术中已推送过的数据的存储成本过高的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的一种存储历史曝光数据的示意图;
图2是根据本发明实施例的一种可选的数据的推送方法的应用环境示意图;
图3是根据本发明实施例的一种可选的数据的推送方法的示意图;
图4是根据本发明实施例的动态布隆过滤器查询已推送数据的方法的示意图;
图5是根据本发明实施例的动态布隆过滤器扩容方法的示意图;
图6是根据本发明实施例的动态布隆过滤器释放方法的示意图;
图7是根据本发明实施例的一种可选的数据的推送装置的示意图;
图8是根据本发明实施例的资讯Feeds刷新方法的流程图;
图9是根据本发明实施例的用户海量曝光数据的统计的示意图;以及
图10是根据本发明实施例的一种可选的数据的推送设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在本发明实施例中,提供了一种上述数据的推送方法的实施例。作为一种可选的实施方式,该数据的推送方法可以但不限于应用于如图2所示的应用环境中,终端202通过网络206与服务器204连接,终端202用于向服务器204发送推送数据的请求,该推送数据的请求用于请求服务器204为终端202推送数据,终端202通过网络206从服务器204获取服务器204推送的数据;服务器204,用于响应终端202发送的推送数据的请求获取待推送数据以及待推送数据的标识信息,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送所述待推送数据;其中,待推送数据的标识信息用于唯一标识待推送数据,目标存储位置包括与待推送数据的标识信息对应的存储位置,预定指示信息用于指示已推送过的数据的标识信息。
在本实施例中,服务器204中预设存储空间的存储位置上只存储了用于指示已推送过的数据的标识信息的预定指示信息,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,表示未推送过该待推送数则,则将该待推送数据推送出去,这样以来,利用待推送数据的标识信息对应的目标存储位置上是否存储了预定指示信息表示待推送数据是否是已推送过的数据,从而降低了已推送过的数据的存储成本,进而克服现有技术中已推送过的数据的存储成本过高的问题。
可选地,在本实施例中,上述终端可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、台式PC机、数字电视及其他进行区域共享的硬件设备。上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,服务器204用于:从待推送数据的标识信息中提取第一映射信息,其中,第一映射信息用于指示待推送数据的标识信息对应的存储位置;当所述预设存储空间中所述第一映射信息指示的存储位置未存储所述预定指示信息的情况下,推送所述待推送数据。
可选地,在本实施例中,服务器204用于:提取待推送数据的标识信息对应的第一哈希值集合,其中,第一哈希值集合中包括数量为第一预设数量的哈希值,第一预设数量的哈希值中的每一个哈希值对应了目标存储位置中的一个存储位置;当所述第一哈希值集合中的每个哈希值指示的存储位置未均存储所述第一预设值的情况下,推送所述待推送数据。
可选地,在本实施例中,服务器204用于:根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;当所述一个或者多个第一预设存储块中没有所述目标存储位置上存储了所述预定指示信息的第一预设存储块的情况下,推送所述待推送数据。
可选地,在本实施例中,服务器204用于:根据待推送数据的标识信息更新预设存储空间。
可选地,在本实施例中,服务器204用于:从待推送数据的标识信息中提取第二映射信息,其中,第二映射信息用于指示待推送数据的标识信息对应的存储位置;将预设存储空间中第二映射信息指示的存储位置存储的值设置为第二预设值;将待推送数据的推送时间存储到预设存储空间的第一预设存储位置并将第二预设存储位置存储的值加一,其中,第二预设存储位置用于存储预设存储空间中记录的推送过的历史数据的数量。
可选地,在本实施例中,服务器204用于:获取待推送数据的标识信息对应的第二哈希值集合,其中,第二哈希值集合中包括数量为第二预设数量的哈希值,第二预设数量的哈希值中的每一个哈希值对应了预设存储空间中的一个存储位置;将第二哈希值集合中的每个哈希值指示的存储位置存储的值均设置为第二预设值。
可选地,在本实施例中,服务器204用于:当一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中所述第二预设存储位置存储的值未达到第一预设阈值的情况下,将所述一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中所述第二映射信息指示的存储位置存储的值设置为所述第二预设值,其中,所述预设存储空间包括所述一个或者多个第一预设存储块。
可选地,在本实施例中,服务器204还用于:当一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中所述第二预设存储位置存储的值达到所述第一预设阈值的情况下,在预设存储空间中分配第二预设存储块;将第二预设存储块中第二映射信息指示的存储位置存储的值设置为第二预设值。
可选地,在本实施例中,服务器204还用于:当所述一个或者多个第一预设存储块的数量达到第二预设阈值的情况下,释放所述一个或者多个第一预设存储块中记载的存储时间与当前时间的差值最大的第一预设存储块的存储空间。
可选地,在本实施例中,服务器204还用于:根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;释放一个或者多个第一预设存储空间中记载的存储时间早于预设时间的第一预设存储块。
根据本发明实施例,提供了一种数据的推送方法,如图3所示,该方法包括:
S302,获取待推送数据以及待推送数据的标识信息,其中,待推送数据的标识信息用于唯一标识待推送数据;
S304,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据,其中,目标存储位置包括与待推送数据的标识信息对应的存储位置,预定指示信息用于指示已推送过的数据的标识信息。
可选地,在本实施例中,上述数据的推送方法可以但不限于应用于服务器向客户端数据推送的场景中。其中,上述客户端可以但不限于为各种类型的软件,例如,实用工具软件(例如:浏览器、天气日历类软件等等)、新闻阅读软件、即时通讯软件、社区空间软件、游戏软件等。具体的,可以但不限于应用于在上述在浏览器中刷新资讯信息的场景中,或还可以但不限于应用于在上述新闻阅读软件推送新闻的场景中,以实现数据的有效推送。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述预设存储空间可以设计成布隆过滤器的形式。例如:在一个可选的实施方式中,非负整数0到N中的每一个数对应了布隆过滤器中的一个存储位置,对已推送过的数据的标识信息取k个hash值,k为正整数,分别找到这k个hash值在布隆过滤器中对应的存储位置,将找到的存储位置上存储的bit值置位为上述预定指示信息(例如:置位为1),当获取到待推送数据以及待推送数据的标识信息时,对待推送数据的标识信息取k个hash值,从预设存储空间中找到待推送数据的标识信息对应的k个hash值指示的存储位置,该存储位置即上述目标存储位置,如果找到的目标存储位置上存储的bit值均为上述预定指示信息,则表示该待推送数据已经被推送过了,那么就不推送该待推送数据,将其过滤掉,如果找到的目标存储位置上存储的bit值不均为上述预定指示信息,则表示该待推送数据未被推送过,那么就推送该待推送数据。
可选地,在本实施例中,上述预定指示信息用于指示已推送过的数据的标识信息,其中,预定指示信息的形式可以但不限于为预定的值(例如:置位为1),或者预定的标记,或者满足预定规则的信息(例如:依次递增的数值)等等。需要说明的是,上述预定指示信息的形式只是本实施例中的可选示例,预定指示信息可以是任何形式的指示信息,本实施例对此不做限定。
可选地,在本实施例中,当预设存储空间中的目标存储位置上存储了预定指示信息的情况下,则不推送获取的待推送数据,此时可以但不限于是将待推送数据从待推送的数据池中删除,也可以为该待推送数据添加指定的标记,用来表示该数据时已经推送过的数据,不再进行推送。
可见,通过上述步骤,预设存储空间的存储位置上只存储了用于指示已推送过的数据的标识信息的预定指示信息,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,表示未推送过该待推送数则,则将该待推送数据推送出去,这样以来,利用待推送数据的标识信息对应的目标存储位置上是否存储了预定指示信息表示待推送数据是否是已推送过的数据,从而降低了已推送过的数据的存储成本,进而克服现有技术中已推送过的数据的存储成本过高的问题。
进一步,在预设存储空间中只存储用于指示已推送过的数据的标识信息的预定指示信息,可以有效地减少预设存储空间的存储信息,在降低了已推送过的数据的存储成本的同时使得相同容量的预设存储空间中能够存储更多的已推送过的数据,从而避免出现存储溢出而淘汰旧曝光记录导致多数重复数据被推荐出的现象发生,进而实现了推荐数据无重复且成本更低。
此外,当已推送过的数据存储量大时会因远程读取单条历史记录过大而导致网络超时无法返回历史曝光记录和无推送数据返回,导致数据无法推送,资讯Feeds无法刷新,在预设存储空间中只存储用于指示已推送过的数据的标识信息的预定指示信息,在有效地减少了预设存储空间的存储信息,降低了已推送过的数据的存储成本的同时,使得读取出的历史记录的数据量变小,从而避免出现无法刷新数据的现象,进而实现了推荐数据的无限刷新。
作为一种可选的方案,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据包括:
S1,从待推送数据的标识信息中提取第一映射信息,其中,第一映射信息用于指示待推送数据的标识信息对应的存储位置;
S2,当预设存储空间中第一映射信息指示的存储位置未存储预定指示信息的情况下,推送待推送数据。
可选地,在本实施例中,从待推送数据的标识信息中提取第一映射信息的方式可以但不限于是获取待推送数据的标识信息的哈希值,提取的哈希值可以是多个哈希值组成一个哈希值集合。例如:提取待推送数据的标识信息对应的包括数量为第一预设数量的哈希值的第一哈希值集合,这些第一预设数量的哈希值中的每一个哈希值对应了目标存储位置中的一个存储位置。那么,可以通过第一哈希值集合中的每个哈希值指示的存储位置是否均存储第一预设值来表示预设存储空间中第一映射信息指示的存储位置是否存储了预定指示信息,当第一哈希值集合中的每个哈希值指示的存储位置未均存储第一预设值的情况下,推送待推送数据。
作为一种可选的方案,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据包括:
S1,根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;
S2,当一个或者多个第一预设存储块中没有目标存储位置上存储了预定指示信息的第一预设存储块的情况下,推送待推送数据。
可选地,在本实施例中,根据存储时间遍历第一预设存储块的顺序可以预先设置,可以是从第一块第一预设存储块(即存储时间最晚的第一预设存储块)开始遍历,或者也可以从最后一块第一预设存储块(即存储时间最早的第一预设存储块)开始遍历。
作为一个可选的实施方式,预设存储空间可以但不限于设计为动态布隆过滤器,利用动态布隆过滤器查询待推送的数据是否是已推送过的数据,也就是说,利用动态布隆过滤器过滤曝光历史,可以对待推送数据的标识信息(例如:需要推荐曝光的文章docID)按与存储时相同的hash取值方式取k个值。最后一块第一预设存储块(BF)存储区往往存着最近的推荐数据,可以从最后一块BF存储区开始遍历,可提高遍历查询效率。查询时若所有hash值在同一个BF中对应位bit都为1,则表示该文章已经曝光过,此次不需要再重复曝光,需过滤掉,否则继续查询前一块。
图4是根据本发明实施例的动态布隆过滤器查询已推送数据的方法的示意图,如图4所示,一篇资讯文章docID取k个hash值,从最后一个BF块开始遍历至第一个BF块,或者从第一个BF块开始遍历至最后一个BF块,中间某块若满足k个对应位bit全为1,则表示这篇文章命中历史曝光记录,即已推送过该数据,需要过滤;若所有块遍历后仍未命中,则表示这篇文章不在历史曝光记录中,可推送至用户。
可见,通过上述步骤,将预设存储空间分配为一个或者多个第一预设存储块,从而可以实现已推送的数据的分别管理,提高了数据的管理效率。
作为一种可选的方案,在推送待推送数据之后,还包括:
S1,根据待推送数据的标识信息更新预设存储空间。
可选地,在本实施例中,如果推送了待推送数据,那么就表示该待推送数据对于下一次数据推送来说成为了已推送过的数据,可以将该待推送数据的推送历史记录到预设存储空间中,实现预设存储空间的更新,从而确保已推送过的数据的实时性。
可选地,在本实施例中,可以但不限于采用以下方式对预设存储空间进行更新:从待推送数据的标识信息中提取用于指示待推送数据的标识信息对应的存储位置的第二映射信息,并将预设存储空间中第二映射信息指示的存储位置存储的值设置为第二预设值,同时可以将待推送数据的推送时间存储到预设存储空间的第一预设存储位置并将第二预设存储位置存储的值加一,其中,第二预设存储位置用于存储预设存储空间中记录的推送过的历史数据的数量。
可选地,在本实施例中,可以通过待推送数据的标识信息对应的第二预设数量的哈希值组成第二哈希值集合,将第二哈希值集合作为从待推送数据的标识信息中提取的第二映射信息,并将第二哈希值集合的信息记录到预设存储空间中。例如:获取待推送数据的标识信息对应的第二哈希值集合,其中,第二哈希值集合中包括数量为第二预设数量的哈希值,第二预设数量的哈希值中的每一个哈希值对应了预设存储空间中的一个存储位置,并将第二哈希值集合中的每个哈希值指示的存储位置存储的值均设置为第二预设值。
作为一个可选的实施方式,存储已推送过的数据(例如:资讯曝光文章)时,根据设计的布隆过滤器位大小,将文章docID取多个hash值,每个hash值映射到对应布隆过滤器位bit中将其置位为1,并存储当前时间戳(即已推送过的数据的存储时间)和累加文章存储数量,其中,布隆过滤器位长度空间设计可以根据海量数据中统计用户刷新资讯Feeds的刷新数量分布取某个阈值作为布隆过滤器存储块的大小,可实现较高使用效率的存储空间分配。
可选地,在本实施例中,可以将预设存储空间划分为一个或者多个第一预设存储块,将带推送过数据的信息存储到记载的存储时间与当前时间最接近的第一预设存储块中第二映射信息对应的存储位置上,在存储待推送数据时,可以为每块第一预设存储块存储已推送过的数据的数量设置一个存储上限,在当前的第一预设存储块存储的已推送过的数据的数量未达到该上限的情况下,将待推送数据的信息存储到当前的第一预设存储块中。例如:当一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中第二预设存储位置存储的值未达到第一预设阈值的情况下,将一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中第二映射信息指示的存储位置存储的值设置为第二预设值,其中,预设存储空间包括一个或者多个第一预设存储块。
可选地,在本实施例中,如果当前的第一预设存储块存储的已推送过的数据的数量已经达到了当前第一预设存储块的存储上限,则在预设存储空间中分配第二预设存储块,并将待推送数据的信息存储到新分配的第二预设存储块中。例如:当第二预设存储位置存储的值达到第一预设阈值的情况下,在预设存储空间中分配第二预设存储块,并将第二预设存储块中第二映射信息指示的存储位置存储的值设置为第二预设值。
作为一个可选的实施方式,对布隆过滤器的动态扩容可以用于当用户的曝光文章数超过一个布隆过滤器可存储数量时,自动扩容增加一块存储块继续存储数据,同时为防止机器爬虫爬取,可以设置一个布隆过滤器存储块数的扩容上限,大部分用户无法达到此上限。
图5是根据本发明实施例的动态布隆过滤器扩容方法的示意图,如图5所示,动态布隆过滤器DBF由多块BF组成,每块BF头部包含推荐时间recTime(相当于上述第一预设存储位置存储的存储时间)和文章数size(相当于上述第二预设存储位置存储的值)。当存储文章时,判断当前存储块是否达到限制的存储数量,若达到存储限制数量且块数小于限制块数上限R,则重新分配一块新的BF。将文章docID取k个hash值,间当前的BF块中k个hash值对应的bit位置为1。动态布隆过滤器扩容方法可以包括如下步骤:
步骤一、判断当前存储块的存储数量是否已满,若未满则对文章docID取k个hash值将其对应的信息存储至当前的BF块中,可以是将k个hash值在BF块中对应的bit位置为1;
步骤二、若当前块已满,则判断当前DBF中的BF块数是否已达到上限,若达到,则释放第一块BF块;
步骤三、若当前BF块数未达到上限,则继续分配一块BF,存储文章docID。
可选地,在本实施例中,如果当前的预设存储空间的存储空间已经达到了最大值,可以将最早存储的第一预设存储块的存储空间释放。例如:在预设存储空间中分配第二预设存储块之前,当一个或者多个第一预设存储块的数量达到第二预设阈值的情况下,释放一个或者多个第一预设存储块中记载的存储时间与当前时间的差值最大的第一预设存储块的存储空间。
作为一种可选的方案,还包括:
S1,根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;
S2,释放一个或者多个第一预设存储空间中记载的存储时间早于预设时间的第一预设存储块。
可选地,在本实施例中,对于存储时间超过一定时长的预设存储块,可以定时将超时的预设存储块的存储空间释放,从而提高预设存储空间的利用率。
作为一个可选的实施方式,当DBF中某些块的时间已超过预设的时间期限时,这部分数据再留在存储空间已无作用,可以选择淘汰释放。DBF中第一块BF的存储时间是最久的,可以从第一块开始依次遍历淘汰,由于DBF每块的时间是一次增大的,故当某块不满足淘汰时间即可终止遍历。若DBF中扩容时块数已达到上限,则从第一块时间最久远的开始淘汰,每次只淘汰一块,如此可以实现在一定范围内不出现重复推荐。
图6是根据本发明实施例的动态布隆过滤器释放方法的示意图,如图6所示,动态布隆过滤器DBF每块的recTime表示最近存储的推荐时间。读取出动态布隆过滤器存储的曝光历史记录时,从第一块开始往后遍历,当某块BF的recTime超过预设的时间时,可以释放该BF块;在存储时,若分配的块数达到限制的上线,可以释放recTime最久的BF块,并重新分配一块。
在一个示例中,动态布隆过滤器可以是以一种有损的方式实现对历史曝光记录的存储的。有损指的是某些不在历史曝光记录中的文章因采用hash的方式而导致被误判为在历史记录中。在本示例中,可以通过控制可接受误判率来实现历史曝光记录的存储。DBF相关参数的计算方式为:根据每块存储文章总数n和可接受的误判率p来计算每个布隆过滤器BF块存储空间最优hash函数的个数一块BF块的误判率表示为fBF(m,k,n)=p,多块BF块之间满足独立性,若扩容分配的BF数量为r,则某个元素在r个填满的DBF中误判率为fDBF(m,k,n,r)=1-(1-fBF(m,k,n))r。通过合理的fDBF的选取,可设计有效的动态布隆过滤器实现资讯Feeds的存储和查询。
可选地,在本实施例中,可以设计随机出数据的方案解决读取DBF记录失败导致的无法刷新出数据的问题。在该方案中,可以从数据池中按指定数量下标开始随机选择指定数量的资讯数据推送给用户,其中指定数量下标是依据用户刷新Feeds的记录数,取平均记录数作为下标,下标之后的数据作为随机起始数据池,可尽量减少用户刷到重复内容。
通过上述可选的实施方式,采用动态布隆过滤器的方案相比传统方案占用更少存储空间,减少网络耗时,且查询效率更高。
在一个可选示例中提供了一种动态布隆过滤器的存储、扩容和释放的方法,该方法包括如下步骤:
步骤一、读取用户存储的曝光历史记录,查询是否存在超时BF块,存在则释放;
步骤二、对文章docID取k个不同hash值;
步骤三、判断当前块是否存满,若存满,则扩容重新分配一块BF;
步骤四、将k个hash值映射到当前BF块中的k个位,将对应的位bit置为1;
步骤五、存储当前写时间(即当前存储的待推送数据的存储时间),并累加当前BF块中的文章数。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据的推送方法的数据的推送装置,如图7所示,该装置包括:
1)获取模块72,用于获取待推送数据以及待推送数据的标识信息,其中,待推送数据的标识信息用于唯一标识待推送数据;
2)推送模块74,用于当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据,其中,目标存储位置包括与待推送数据的标识信息对应的存储位置,预定指示信息用于指示已推送过的数据的标识信息。
可选地,在本实施例中,上述数据的推送装置可以但不限于应用于服务器向客户端数据推送的场景中。其中,上述客户端可以但不限于为各种类型的软件,例如,实用工具软件(例如:浏览器、天气日历类软件等等)、新闻阅读软件、即时通讯软件、社区空间软件、游戏软件等。具体的,可以但不限于应用于在上述在浏览器中刷新资讯信息的场景中,或还可以但不限于应用于在上述新闻阅读软件推送新闻的场景中,以实现数据的有效推送。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述预设存储空间可以设计成布隆过滤器的形式。例如:在一个可选的实施方式中,非负整数0到N中的每一个数对应了布隆过滤器中的一个存储位置,对已推送过的数据的标识信息取k个hash值,k为正整数,分别找到这k个hash值在布隆过滤器中对应的存储位置,将找到的存储位置上存储的bit值置位为上述预定指示信息(例如:置位为1),当获取到待推送数据以及待推送数据的标识信息时,对待推送数据的标识信息取k个hash值,从预设存储空间中找到待推送数据的标识信息对应的k个hash值指示的存储位置,该存储位置即上述目标存储位置,如果找到的目标存储位置上存储的bit值均为上述预定指示信息,则表示该待推送数据已经被推送过了,那么就不推送该待推送数据,将其过滤掉,如果找到的目标存储位置上存储的bit值不均为上述预定指示信息,则表示该待推送数据未被推送过,那么就推送该待推送数据。
可选地,在本实施例中,上述预定指示信息用于指示已推送过的数据的标识信息,其中,预定指示信息的形式可以但不限于为预定的值(例如:置位为1),或者预定的标记,或者满足预定规则的信息(例如:依次递增的数值)等等。需要说明的是,上述预定指示信息的形式只是本实施例中的可选示例,预定指示信息可以是任何形式的指示信息,本实施例对此不做限定。
可选地,在本实施例中,当预设存储空间中的目标存储位置上存储了预定指示信息的情况下,则不推送获取的待推送数据,此时可以但不限于是将待推送数据从待推送的数据池中删除,也可以为该待推送数据添加指定的标记,用来表示该数据时已经推送过的数据,不再进行推送。
可见,通过上述步骤,预设存储空间的存储位置上只存储了用于指示已推送过的数据的标识信息的预定指示信息,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,表示未推送过该待推送数则,则将该待推送数据推送出去,这样以来,利用待推送数据的标识信息对应的目标存储位置上是否存储了预定指示信息表示待推送数据是否是已推送过的数据,从而降低了已推送过的数据的存储成本,进而克服现有技术中已推送过的数据的存储成本过高的问题。
进一步,在预设存储空间中只存储用于指示已推送过的数据的标识信息的预定指示信息,可以有效地减少预设存储空间的存储信息,在降低了已推送过的数据的存储成本的同时使得相同容量的预设存储空间中能够存储更多的已推送过的数据,从而避免出现存储溢出而淘汰旧曝光记录导致多数重复数据被推荐出的现象发生,进而实现了推荐数据无重复且成本更低。
此外,当已推送过的数据存储量大时会因远程读取单条历史记录过大而导致网络超时无法返回历史曝光记录和无推送数据返回,导致数据无法推送,资讯Feeds无法刷新,在预设存储空间中只存储用于指示已推送过的数据的标识信息的预定指示信息,在有效地减少了预设存储空间的存储信息,降低了已推送过的数据的存储成本的同时,使得读取出的历史记录的数据量变小,从而避免出现无法刷新数据的现象,进而实现了推荐数据的无限刷新。
作为一种可选的方案,推送模块74包括:
1)第一提取单元,用于从待推送数据的标识信息中提取第一映射信息,其中,第一映射信息用于指示待推送数据的标识信息对应的存储位置;
2)第一推送单元,用于当预设存储空间中第一映射信息指示的存储位置未存储预定指示信息的情况下,推送待推送数据。
可选地,在本实施例中,第一提取单元用于:提取待推送数据的标识信息对应的第一哈希值集合,其中,第一哈希值集合中包括数量为第一预设数量的哈希值,第一预设数量的哈希值中的每一个哈希值对应了目标存储位置中的一个存储位置;第一推送单元用于:当第一哈希值集合中的每个哈希值指示的存储位置未均存储第一预设值的情况下,推送待推送数据。
可选地,在本实施例中,第一提取单元从待推送数据的标识信息中提取第一映射信息的方式可以但不限于是获取待推送数据的标识信息的哈希值,提取的哈希值可以是多个哈希值组成一个哈希值集合。
作为一种可选的方案,推送模块74包括:
1)遍历单元,用于根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;
2)第二推送单元,用于当一个或者多个第一预设存储块中没有目标存储位置上存储了预定指示信息的第一预设存储块的情况下,推送待推送数据。
可选地,在本实施例中,根据存储时间遍历第一预设存储块的顺序可以预先设置,可以是从第一块第一预设存储块(即存储时间最晚的第一预设存储块)开始遍历,或者也可以从最后一块第一预设存储块(即存储时间最早的第一预设存储块)开始遍历。
作为一个可选的实施方式,预设存储空间可以但不限于设计为动态布隆过滤器,利用动态布隆过滤器查询待推送的数据是否是已推送过的数据,也就是说,利用动态布隆过滤器过滤曝光历史,可以对待推送数据的标识信息(例如:需要推荐曝光的文章docID)按与存储时相同的hash取值方式取k个值。最后一块第一预设存储块(BF)存储区往往存着最近的推荐数据,可以从最后一块BF存储区开始遍历,可提高遍历查询效率。查询时若所有hash值在同一个BF中对应位bit都为1,则表示该文章已经曝光过,此次不需要再重复曝光,需过滤掉,否则继续查询前一块。
图4是根据本发明实施例的动态布隆过滤器查询已推送数据的方法的示意图,如图4所示,一篇资讯文章docID取k个hash值,从最后一个BF块开始遍历至第一个BF块,中间某块若满足k个对应位bit全为1,则表示这篇文章命中历史曝光记录,即已推送过该数据,需要过滤;若所有块遍历后仍未命中,则表示这篇文章不在历史曝光记录中,可推送至用户。
可见,通过上述装置,将预设存储空间分配为一个或者多个第一预设存储块,从而可以实现已推送的数据的分别管理,提高了数据的管理效率。
作为一种可选的方案,上述装置还包括:
1)更新模块,用于根据待推送数据的标识信息更新预设存储空间。
可选地,在本实施例中,如果推送了待推送数据,那么就表示该待推送数据对于下一次数据推送来说成为了已推送过的数据,可以将该待推送数据的推送历史记录到预设存储空间中,实现预设存储空间的更新,从而确保已推送过的数据的实时性。
作为一种可选的方案,更新模块包括:
1)第二提取单元,用于从待推送数据的标识信息中提取第二映射信息,其中,第二映射信息用于指示待推送数据的标识信息对应的存储位置;
2)设置单元,用于将预设存储空间中第二映射信息指示的存储位置存储的值设置为第二预设值;
3)处理单元,用于将待推送数据的推送时间存储到预设存储空间的第一预设存储位置并将第二预设存储位置存储的值加一,其中,第二预设存储位置用于存储预设存储空间中记录的推送过的历史数据的数量。
可选地,在本实施例中,第二提取单元用于:获取待推送数据的标识信息对应的第二哈希值集合,其中,第二哈希值集合中包括数量为第二预设数量的哈希值,第二预设数量的哈希值中的每一个哈希值对应了预设存储空间中的一个存储位置;设置单元用于:将第二哈希值集合中的每个哈希值指示的存储位置存储的值均设置为第二预设值。
可选地,在本实施例中,可以通过待推送数据的标识信息对应的第二预设数量的哈希值组成第二哈希值集合,将第二哈希值集合作为从待推送数据的标识信息中提取的第二映射信息,并将第二哈希值集合的信息记录到预设存储空间中。
作为一种可选的方案,设置单元用于:当一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中第二预设存储位置存储的值未达到第一预设阈值的情况下,将一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中第二映射信息指示的存储位置存储的值设置为第二预设值,其中,预设存储空间包括一个或者多个第一预设存储块。
可选地,在本实施例中,可以将预设存储空间划分为一个或者多个第一预设存储块,将待推送数据的信息存储到记载的存储时间与当前时间最接近的第一预设存储块中第二映射信息对应的存储位置上,在存储待推送数据时,可以为每块第一预设存储块存储已推送过的数据的数量设置一个存储上限,在当前的第一预设存储块存储的已推送过的数据的数量未达到该上限的情况下,将待推送数据的信息存储到当前的第一预设存储块中。
作为一种可选的方案,设置单元还用于:当第二预设存储位置存储的值达到第一预设阈值的情况下,在预设存储空间中分配第二预设存储块;将第二预设存储块中第二映射信息指示的存储位置存储的值设置为第二预设值。
可选地,在本实施例中,如果上述校验不成功或者没能成功下载第一配置文件,则可以但不限于通过下载待更新的配置对象对应的完整的配置信息实现配置对象的更新。可选地,完整的配置信息可以但不限于是经过最优压缩的,如果配置信息是压缩后的信息,则对下载的完整的配置信息进行解压,并将解压后的文件作为更新后的配置对象的配置文件。
可选地,在本实施例中,下载第二配置文件的传输协议可以但不限于是TCP协议。也可以是其他的协议,在这里为了提高下载第二配置文件时的可靠性,可以使用私有协议对第二配置文件进行下载。
作为一种可选的方案,设置单元还用于:在预设存储空间中分配第二预设存储块之前,当一个或者多个第一预设存储块的数量达到第二预设阈值的情况下,释放一个或者多个第一预设存储块中记载的存储时间与当前时间的差值最大的第一预设存储块的存储空间。
可选地,在本实施例中,如果当前的第一预设存储块存储的已推送过的数据的数量已经达到了当前第一预设存储块的存储上限,则在预设存储空间中分配第二预设存储块,并将待推送数据的信息存储到新分配的第二预设存储块中。
作为一种可选的方案,该装置还包括:
1)遍历模块,用于根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;
2)释放模块,用于释放一个或者多个第一预设存储空间中记载的存储时间早于预设时间的第一预设存储块。
可选地,在本实施例中,对于存储时间超过一定时长的预设存储块,可以定时将超时的预设存储块的存储空间释放,从而提高预设存储空间的利用率。
作为一个可选的实施方式,当DBF中某些块的时间已超过预设的时间期限时,这部分数据再留在存储空间已无作用,可以选择淘汰释放。DBF中第一块BF的存储时间是最久的,可以从第一块开始依次遍历淘汰,由于DBF每块的时间是一次增大的,故当某块不满足淘汰时间即可终止遍历。若DBF中扩容时块数已达到上限,则从第一块时间最久远的开始淘汰,每次只淘汰一块,如此可以实现在一定范围内不出现重复推荐。
图6是根据本发明实施例的动态布隆过滤器释放方法的示意图,如图6所示,动态布隆过滤器DBF每块的recTime表示最近存储的推荐时间。读取出动态布隆过滤器存储的曝光历史记录时,从第一块开始往后遍历,当某块BF的recTime超过预设的时间时,可以释放该BF块;在存储时,若分配的块数达到限制的上线,可以释放recTime最久的BF块,并重新分配一块。
实施例3
本发明实施例的应用环境可以但不限于参照实施例1中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述数据的推送方法的一种可选的具体应用示例。
作为一种可选的实施例,上述配置对象的更新方法可以但不限于应用于服务器为客户端推送数据的场景中。在本实施例中提供了一种实现资讯Feeds无限刷新的方法,该方法包括:用户刷新或下拉资讯Feeds;从数据池推荐数据并利用动态布隆过滤器查询过滤用户已曝光的历史数据;存储即将推荐的资讯Feeds数据至动态布隆过滤器并返回数据至客户端展示。其中,动态布隆过滤器由多块带有时间戳和计数的布隆过滤器块组成,包括存储、动态扩容、动态释放、查询过滤等功能。利用动态布隆过滤器推送数据时基于海量用户行为数据设计布隆过滤器块大小,并根据资讯用户刷新Feeds的文章数量来实时动态调整布隆过滤器块数。本发明解决了资讯Feeds随用户数和刷新数增长时,出现的文章重复露出、刷新不出数据等不良体验,并在成本上大幅度下降,实现了资讯Feeds无限刷新。
图8是根据本发明实施例的资讯Feeds刷新方法的流程图,该流程包括步骤如下:
步骤S801,用户刷新或下拉资讯Feeds;
可选的,在资讯Feeds页面刷新或者下拉加载更多资讯数据的场景中,当用户刷新一次后,操作刷新或者往下继续拉取,都会触发资讯Feeds数据的加载。
步骤S802,从数据池推荐数据并利用动态布隆过滤器过滤用户已曝光的历史数据;
可选的,从数据池获取推荐数据,将需要推荐的数据文章docID取k个hash值,通过动态布隆过滤器来查询k个hash值对应的信息是否在曝光历史记录中,若在则过滤已曝光的用户历史数据,防止重复推荐。
步骤S803,存储即将推荐的资讯Feeds数据至动态布隆过滤器并返回数据至客户端展示;
可选的,从步骤S802筛选数据后,需要为即将的曝光数据进行存储,将数据文章docID取k各hash值,存储至动态布隆过滤器的BF块中。
在本实施例中,实现动态布隆过滤器时,每块存储文章总数n和可接受的误判率p来计算每个布隆过滤器BF块空间最优hash函数的个数一块BF的误判率为fBF(m,k,n)=p,多块BF之间满足独立性,若扩容分配的BF数量为r,则某个元素在r个填满的DBF中的误判率可计算为fDBF(m,k,n,r)=1-(1-fBF(m,k,n))r。
在实际使用时,用户海量曝光数据的统计如图9所示,平均一天用户记录数分布集中在1-70篇的占了54%,70-120占11%,120-200分别占了10%,剩余数量占了25%,因此在用户推荐历史中,设计存储量n=70;BF的误判率不能太高,否则很多资讯文章会因被误判而无法推荐,可接受单块BF的误判率设定为fBF(m,k,n)=p=0.5%,则可以计算出容量空间和最优的hash函数个数DBF分配多块BF的误判率fDBF(m,k,n,r)=1-(1-0.5%)r。随着BF块数r增加,会导致fDBF(m,k,n,r)增长,用户3天曝光数平均为200篇,误判率为1.5%,当曝光历史数量为1000篇时,误判率为6.8%,属于可接受范围。因此,综合考虑选择参数n=70,p=0.5%,m=773,k=8。假设每天平均刷新70篇,则传统CACHE方案存储三天历史记录需要(70*32+4)*3=6732bit,采用DBF的方案,三天历史记录需要(773+8)*3=2343bit,相比传统CACHE方案,成本降低了66%,且网络耗时降低。
在实际过程中,可能存在读取曝光历史超时、存储曝光历史失败导致的异常情况而无法返回数据或返回重复数据。在本实施例中可以使用指定下标的随机法避免上述问题的发生,即通过统计用户平均曝光数作为数据池曝光数的随机起始下标开始随机选取数据,这样可避免无法刷新出Feeds数据,且尽量减少用户刷到重复内容。
实施例4
根据本发明实施例,还提供了一种用于实施上述数据的推送方法的数据的推送设备,如图10所示,该设备包括:
1)通讯接口1002,设置为获取待推送数据以及待推送数据的标识信息,其中,待推送数据的标识信息用于唯一标识待推送数据;
2)处理器1004,与通讯接口1002连接,设置为当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据,其中,目标存储位置包括与待推送数据的标识信息对应的存储位置,预定指示信息用于指示已推送过的数据的标识信息。
3)存储器1006,与通讯接口1002及处理器1004连接,设置为上述预设存储空间。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取待推送数据以及待推送数据的标识信息,其中,待推送数据的标识信息用于唯一标识待推送数据;
S2,当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送待推送数据,其中,目标存储位置包括与待推送数据的标识信息对应的存储位置,预定指示信息用于指示已推送过的数据的标识信息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S3,从待推送数据的标识信息中提取第一映射信息,其中,第一映射信息用于指示待推送数据的标识信息对应的存储位置;
S4,当预设存储空间中第一映射信息指示的存储位置未存储预定指示信息的情况下,推送待推送数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:提取待推送数据的标识信息对应的第一哈希值集合,其中,第一哈希值集合中包括数量为第一预设数量的哈希值,第一预设数量的哈希值中的每一个哈希值对应了目标存储位置中的一个存储位置;当第一哈希值集合中的每个哈希值指示的存储位置未均存储第一预设值的情况下,推送待推送数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;当一个或者多个第一预设存储块中没有目标存储位置上存储了预定指示信息的第一预设存储块的情况下,推送待推送数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据待推送数据的标识信息更新预设存储空间。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:从待推送数据的标识信息中提取第二映射信息,其中,第二映射信息用于指示待推送数据的标识信息对应的存储位置;将预设存储空间中第二映射信息指示的存储位置存储的值设置为第二预设值;将待推送数据的推送时间存储到预设存储空间的第一预设存储位置并将第二预设存储位置存储的值加一,其中,第二预设存储位置用于存储预设存储空间中记录的推送过的历史数据的数量。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取待推送数据的标识信息对应的第二哈希值集合,其中,第二哈希值集合中包括数量为第二预设数量的哈希值,第二预设数量的哈希值中的每一个哈希值对应了预设存储空间中的一个存储位置;将预设存储空间中第二映射信息指示的存储位置存储的值设置为第二预设值包括:将第二哈希值集合中的每个哈希值指示的存储位置存储的值均设置为第二预设值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:当一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中第二预设存储位置存储的值未达到第一预设阈值的情况下,将一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中第二映射信息指示的存储位置存储的值设置为第二预设值,其中,预设存储空间包括一个或者多个第一预设存储块。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在预设存储空间中分配第二预设存储块;将第二预设存储块中第二映射信息指示的存储位置存储的值设置为第二预设值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:当一个或者多个第一预设存储块的数量达到第二预设阈值的情况下,释放一个或者多个第一预设存储块中记载的存储时间与当前时间的差值最大的第一预设存储块的存储空间。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据一个或者多个第一预设存储块中记载的存储时间遍历一个或者多个第一预设存储块,其中,预设存储空间包括一个或者多个第一预设存储块;释放一个或者多个第一预设存储空间中记载的存储时间早于预设时间的第一预设存储块。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种数据的推送方法,其特征在于,包括:
获取待推送数据以及所述待推送数据的标识信息,其中,所述待推送数据的标识信息用于唯一标识所述待推送数据;
当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送所述待推送数据,其中,所述目标存储位置包括与所述待推送数据的标识信息对应的存储位置,所述预定指示信息用于指示已推送过的数据的标识信息。
2.根据权利要求1所述的方法,其特征在于,当所述预设存储空间中的所述目标存储位置上未存储所述预定指示信息的情况下,推送所述待推送数据包括:
从所述待推送数据的标识信息中提取第一映射信息,其中,所述第一映射信息用于指示所述待推送数据的标识信息对应的存储位置;
当所述预设存储空间中所述第一映射信息指示的存储位置未存储所述预定指示信息的情况下,推送所述待推送数据。
3.根据权利要求2所述的方法,其特征在于,
从所述待推送数据的标识信息中提取所述第一映射信息包括:提取所述待推送数据的标识信息对应的第一哈希值集合,其中,所述第一哈希值集合中包括数量为第一预设数量的哈希值,第一预设数量的哈希值中的每一个哈希值对应了所述目标存储位置中的一个存储位置;
当所述预设存储空间中所述第一映射信息指示的存储位置未存储所述预定指示信息的情况下,推送所述待推送数据包括:当所述第一哈希值集合中的每个哈希值指示的存储位置未均存储所述第一预设值的情况下,推送所述待推送数据。
4.根据权利要求1所述的方法,其特征在于,当所述预设存储空间中的所述目标存储位置上未存储所述预定指示信息的情况下,推送所述待推送数据包括:
根据一个或者多个第一预设存储块中记载的存储时间遍历所述一个或者多个第一预设存储块,其中,所述预设存储空间包括所述一个或者多个第一预设存储块;
当所述一个或者多个第一预设存储块中没有所述目标存储位置上存储了所述预定指示信息的第一预设存储块的情况下,推送所述待推送数据。
5.根据权利要求1所述的方法,其特征在于,在推送所述待推送数据之后,所述方法还包括:
根据所述待推送数据的标识信息更新所述预设存储空间。
6.根据权利要求5所述的方法,其特征在于,根据所述待推送数据的标识信息更新所述预设存储空间包括:
从所述待推送数据的标识信息中提取第二映射信息,其中,所述第二映射信息用于指示所述待推送数据的标识信息对应的存储位置;
将所述预设存储空间中所述第二映射信息指示的存储位置存储的值设置为第二预设值;
将所述待推送数据的推送时间存储到所述预设存储空间的第一预设存储位置并将第二预设存储位置存储的值加一,其中,所述第二预设存储位置用于存储所述预设存储空间中记录的推送过的历史数据的数量。
7.根据权利要求6所述的方法,其特征在于,
从所述待推送数据的标识信息中提取所述第二映射信息包括:获取所述待推送数据的标识信息对应的第二哈希值集合,其中,所述第二哈希值集合中包括数量为第二预设数量的哈希值,第二预设数量的哈希值中的每一个哈希值对应了所述预设存储空间中的一个存储位置;
将所述预设存储空间中所述第二映射信息指示的存储位置存储的值设置为第二预设值包括:将所述第二哈希值集合中的每个哈希值指示的存储位置存储的值均设置为所述第二预设值。
8.根据权利要求6所述的方法,其特征在于,将所述预设存储空间中所述第二映射信息指示的存储位置存储的值设置为所述第二预设值包括:
当一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中所述第二预设存储位置存储的值未达到第一预设阈值的情况下,将所述一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中所述第二映射信息指示的存储位置存储的值设置为所述第二预设值,其中,所述预设存储空间包括所述一个或者多个第一预设存储块。
9.根据权利要求8所述的方法,其特征在于,当一个或者多个第一预设存储块中记载的存储时间与当前时间最接近的第一预设存储块中所述第二预设存储位置存储的值达到所述第一预设阈值的情况下,所述方法还包括:
在所述预设存储空间中分配第二预设存储块;
将所述第二预设存储块中所述第二映射信息指示的存储位置存储的值设置为所述第二预设值。
10.根据权利要求9所述的方法,其特征在于,在所述预设存储空间中分配所述第二预设存储块之前,所述方法还包括:
当所述一个或者多个第一预设存储块的数量达到第二预设阈值的情况下,释放所述一个或者多个第一预设存储块中记载的存储时间与当前时间的差值最大的第一预设存储块的存储空间。
11.根据权利要求1至10中任一项所述的方法,其特征在于,还包括:
根据一个或者多个第一预设存储块中记载的存储时间遍历所述一个或者多个第一预设存储块,其中,所述预设存储空间包括所述一个或者多个第一预设存储块;
释放所述一个或者多个第一预设存储空间中记载的存储时间早于预设时间的第一预设存储块。
12.一种数据的推送装置,其特征在于,包括:
获取模块,用于获取待推送数据以及所述待推送数据的标识信息,其中,所述待推送数据的标识信息用于唯一标识所述待推送数据;
推送模块,用于当预设存储空间中的目标存储位置上未存储预定指示信息的情况下,推送所述待推送数据,其中,所述目标存储位置包括与所述待推送数据的标识信息对应的存储位置,所述预定指示信息用于指示已推送过的数据的标识信息。
13.根据权利要求12所述的装置,其特征在于,所述推送模块包括:
第一提取单元,用于从所述待推送数据的标识信息中提取第一映射信息,其中,所述第一映射信息用于指示所述待推送数据的标识信息对应的存储位置;
第一推送单元,用于当所述预设存储空间中所述第一映射信息指示的存储位置未存储所述预定指示信息的情况下,推送所述待推送数据。
14.根据权利要求12所述的装置,其特征在于,所述推送模块包括:
遍历单元,用于根据一个或者多个第一预设存储块中记载的存储时间遍历所述一个或者多个第一预设存储块,其中,所述预设存储空间包括所述一个或者多个第一预设存储块;
第二推送单元,用于当所述一个或者多个第一预设存储块中没有所述目标存储位置上存储了所述预定指示信息的第一预设存储块的情况下,推送所述待推送数据。
15.根据权利要求12所述的装置,其特征在于,所述装置还包括:
更新模块,用于根据所述待推送数据的标识信息更新所述预设存储空间。
16.根据权利要求15所述的装置,其特征在于,所述更新模块包括:
第二提取单元,用于从所述待推送数据的标识信息中提取第二映射信息,其中,所述第二映射信息用于指示所述待推送数据的标识信息对应的存储位置;
设置单元,用于将所述预设存储空间中所述第二映射信息指示的存储位置存储的值设置为第二预设值;
处理单元,用于将所述待推送数据的推送时间存储到所述预设存储空间的第一预设存储位置并将第二预设存储位置存储的值加一,其中,所述第二预设存储位置用于存储所述预设存储空间中记录的推送过的历史数据的数量。
17.根据权利要求12至16中任一项所述的装置,其特征在于,所述装置还包括:
遍历模块,用于根据一个或者多个第一预设存储块中记载的存储时间遍历所述一个或者多个第一预设存储块,其中,所述预设存储空间包括所述一个或者多个第一预设存储块;
释放模块,用于释放所述一个或者多个第一预设存储空间中记载的存储时间早于预设时间的第一预设存储块。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710109224.XA CN108512876B (zh) | 2017-02-27 | 2017-02-27 | 数据的推送方法及装置 |
PCT/CN2018/075778 WO2018153271A1 (zh) | 2017-02-27 | 2018-02-08 | 数据的推送方法、装置、存储介质及电子装置 |
US16/357,797 US10949112B2 (en) | 2017-02-27 | 2019-03-19 | Data push method and device, storage medium, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710109224.XA CN108512876B (zh) | 2017-02-27 | 2017-02-27 | 数据的推送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512876A true CN108512876A (zh) | 2018-09-07 |
CN108512876B CN108512876B (zh) | 2020-11-10 |
Family
ID=63252381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710109224.XA Active CN108512876B (zh) | 2017-02-27 | 2017-02-27 | 数据的推送方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10949112B2 (zh) |
CN (1) | CN108512876B (zh) |
WO (1) | WO2018153271A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247963A (zh) * | 2019-05-31 | 2019-09-17 | 北京智慧云行科技有限责任公司 | 一种数据推送方法及系统 |
CN111768130A (zh) * | 2020-08-06 | 2020-10-13 | 京东数字科技控股股份有限公司 | 用户分配方法、装置、电子设备及可读存储介质 |
CN113742388A (zh) * | 2020-05-29 | 2021-12-03 | 北京顺源开华科技有限公司 | 一种数据推送方法、装置、存储介质及电子设备 |
CN114553815A (zh) * | 2022-01-29 | 2022-05-27 | 北京金堤科技有限公司 | 一种对消息进行处理的方法及装置 |
CN114553946A (zh) * | 2022-01-29 | 2022-05-27 | 北京金堤科技有限公司 | 一种对消息进行处理的方法及装置 |
CN115174696A (zh) * | 2022-09-08 | 2022-10-11 | 北京达佳互联信息技术有限公司 | 节点调度方法、装置、电子设备及存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666484B (zh) * | 2019-03-07 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 内容推送方法、推送装置及计算机可读存储介质 |
CN110351371A (zh) * | 2019-07-15 | 2019-10-18 | 星联云服科技有限公司 | 一种在云存储系统中进行数据推送的方法及系统 |
CN110460659A (zh) * | 2019-08-06 | 2019-11-15 | 辽宁途隆科技有限公司 | 数据推送方法及装置、存储介质、计算机设备 |
CN110750746A (zh) * | 2019-10-16 | 2020-02-04 | 支付宝(杭州)信息技术有限公司 | 一种数据接收、推送的方法、装置、设备及可读介质 |
CN113395304A (zh) * | 2020-03-12 | 2021-09-14 | 阿里巴巴集团控股有限公司 | 信息推送方法和系统、客户端、存储介质及计算终端 |
CN111611215B (zh) * | 2020-04-07 | 2023-07-11 | 布比(北京)网络技术有限公司 | 一种基于区块链的网贷风险数据共享方法及系统 |
CN113312118A (zh) * | 2021-06-01 | 2021-08-27 | 中国民航信息网络股份有限公司 | 一种主图推送方法、装置、设备和计算机可读存储介质 |
CN113556352B (zh) * | 2021-07-27 | 2022-10-28 | 北京字跳网络技术有限公司 | 一种信息推送方法、装置、终端设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177042A (zh) * | 2011-12-26 | 2013-06-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种网页浏览的方法及装置 |
US20140136568A1 (en) * | 2012-11-14 | 2014-05-15 | Homer Tlc, Inc. | System and method for automatic wrapper induction using target strings |
CN104244032A (zh) * | 2014-09-11 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 推送多媒体数据的方法和装置 |
CN105824920A (zh) * | 2016-03-16 | 2016-08-03 | 张姬娟 | 信息展现的方法和停止信息展现的方法 |
CN106210127A (zh) * | 2016-08-15 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、服务器及客户端 |
CN106326431A (zh) * | 2016-08-25 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种信息推荐方法和装置 |
CN106411975A (zh) * | 2015-07-30 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种数据输出方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003351A1 (en) * | 2002-06-28 | 2004-01-01 | Microsoft Corporation | Navigating a resource browser session |
US8589391B1 (en) * | 2005-03-31 | 2013-11-19 | Google Inc. | Method and system for generating web site ratings for a user |
US8704863B2 (en) * | 2010-04-07 | 2014-04-22 | Apple Inc. | Transitioning between circuit switched calls and video calls |
US8407776B2 (en) * | 2011-02-11 | 2013-03-26 | Good Technology Corporation | Method, apparatus and system for provisioning a push notification session |
US9294546B2 (en) * | 2011-06-03 | 2016-03-22 | Apple Inc. | Sending files from one device to another device over a network |
CN103581224B (zh) * | 2012-07-25 | 2018-05-22 | 腾讯科技(深圳)有限公司 | 推送信息的方法和装置 |
CN103729142B (zh) * | 2012-10-10 | 2016-12-21 | 华为技术有限公司 | 内存数据的推送方法及装置 |
US20140136948A1 (en) * | 2012-11-09 | 2014-05-15 | Microsoft Corporation | Taxonomy Driven Page Model |
CN103916373A (zh) * | 2013-01-07 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 数据更新的方法、服务器、客户端以及系统 |
US9553838B1 (en) * | 2013-02-08 | 2017-01-24 | Urban Airship, Inc. | Querying for devices based on location |
CN104104707B (zh) * | 2013-04-12 | 2017-02-08 | 腾讯科技(深圳)有限公司 | 网页数据更新方法、终端、缓存服务器及系统 |
GB2516115A (en) * | 2013-07-12 | 2015-01-14 | Canon Kk | Methods and devices for exchanging data |
WO2015103773A1 (zh) * | 2014-01-10 | 2015-07-16 | 华为技术有限公司 | 一种消息推送方法及装置 |
CN104901817B (zh) * | 2014-03-07 | 2018-07-10 | 腾讯科技(北京)有限公司 | 目标信息推送方法及装置 |
GB2534849A (en) * | 2015-01-28 | 2016-08-10 | Canon Kk | Client-driven push of resources by a server device |
CN107665225B (zh) * | 2016-07-29 | 2022-01-28 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
-
2017
- 2017-02-27 CN CN201710109224.XA patent/CN108512876B/zh active Active
-
2018
- 2018-02-08 WO PCT/CN2018/075778 patent/WO2018153271A1/zh active Application Filing
-
2019
- 2019-03-19 US US16/357,797 patent/US10949112B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177042A (zh) * | 2011-12-26 | 2013-06-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种网页浏览的方法及装置 |
US20140136568A1 (en) * | 2012-11-14 | 2014-05-15 | Homer Tlc, Inc. | System and method for automatic wrapper induction using target strings |
CN104244032A (zh) * | 2014-09-11 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 推送多媒体数据的方法和装置 |
CN106411975A (zh) * | 2015-07-30 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种数据输出方法及装置 |
CN105824920A (zh) * | 2016-03-16 | 2016-08-03 | 张姬娟 | 信息展现的方法和停止信息展现的方法 |
CN106210127A (zh) * | 2016-08-15 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、服务器及客户端 |
CN106326431A (zh) * | 2016-08-25 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种信息推荐方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247963A (zh) * | 2019-05-31 | 2019-09-17 | 北京智慧云行科技有限责任公司 | 一种数据推送方法及系统 |
CN113742388A (zh) * | 2020-05-29 | 2021-12-03 | 北京顺源开华科技有限公司 | 一种数据推送方法、装置、存储介质及电子设备 |
CN111768130A (zh) * | 2020-08-06 | 2020-10-13 | 京东数字科技控股股份有限公司 | 用户分配方法、装置、电子设备及可读存储介质 |
CN111768130B (zh) * | 2020-08-06 | 2024-05-17 | 京东科技控股股份有限公司 | 用户分配方法、装置、电子设备及可读存储介质 |
CN114553815A (zh) * | 2022-01-29 | 2022-05-27 | 北京金堤科技有限公司 | 一种对消息进行处理的方法及装置 |
CN114553946A (zh) * | 2022-01-29 | 2022-05-27 | 北京金堤科技有限公司 | 一种对消息进行处理的方法及装置 |
CN114553946B (zh) * | 2022-01-29 | 2024-01-19 | 北京金堤科技有限公司 | 一种对消息进行处理的方法及装置 |
CN115174696A (zh) * | 2022-09-08 | 2022-10-11 | 北京达佳互联信息技术有限公司 | 节点调度方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190212939A1 (en) | 2019-07-11 |
CN108512876B (zh) | 2020-11-10 |
US10949112B2 (en) | 2021-03-16 |
WO2018153271A1 (zh) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512876A (zh) | 数据的推送方法及装置 | |
CN104424229B (zh) | 一种多维度拆分的计算方法及系统 | |
CN105205014B (zh) | 一种数据存储方法和装置 | |
CN105900061B (zh) | 对象存储系统中的业务流控制方法、控制器和系统 | |
CN107679684A (zh) | 保单分配方法、装置、存储介质和计算机设备 | |
CN104346458B (zh) | 数据存储方法和存储设备 | |
CN111506404A (zh) | 一种基于Kubernetes的共享GPU调度方法 | |
CN101277211A (zh) | 数据缓存方法及装置 | |
CN111858067B (zh) | 一种数据处理方法及装置 | |
CN106888381A (zh) | 一种数据资源存储方法及装置 | |
CN106210127A (zh) | 一种信息处理方法、服务器及客户端 | |
CN105119763A (zh) | 基于RIA的Web网管客户端的大数据快速导出方法及系统 | |
CN105847893A (zh) | 广告投放方法、装置及系统 | |
CN110012364A (zh) | 主播推荐方法、装置及存储介质 | |
CN107590157A (zh) | 一种数据存储方法、数据查询方法及相关设备 | |
CN110099108A (zh) | 一种区块链事件去重方法、装置、计算机设备及存储介质 | |
CN105320676A (zh) | 一种客户数据查询服务方法及装置 | |
CN104579753B (zh) | 用户数据统计方法、接入层服务器和统计服务器 | |
CN108268497A (zh) | 关系型数据库的数据同步方法及装置 | |
CN107506242A (zh) | 一种配额申请方法及系统 | |
CN107291881A (zh) | 基于HBase的海量日志存储和查询方法 | |
CN110837511A (zh) | 一种数据处理方法、系统及相关设备 | |
CN110381137A (zh) | 基于ceph的对象存储使用量统计方法及系统 | |
CN110347915A (zh) | 一种信息推送方法和装置 | |
CN109408222A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221124 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518100 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |