CN109660587B - 基于随机数的数据推送方法、装置、存储介质及服务器 - Google Patents

基于随机数的数据推送方法、装置、存储介质及服务器 Download PDF

Info

Publication number
CN109660587B
CN109660587B CN201811232391.4A CN201811232391A CN109660587B CN 109660587 B CN109660587 B CN 109660587B CN 201811232391 A CN201811232391 A CN 201811232391A CN 109660587 B CN109660587 B CN 109660587B
Authority
CN
China
Prior art keywords
data
fragments
pushing
push
push table
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.)
Active
Application number
CN201811232391.4A
Other languages
English (en)
Other versions
CN109660587A (zh
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811232391.4A priority Critical patent/CN109660587B/zh
Publication of CN109660587A publication Critical patent/CN109660587A/zh
Application granted granted Critical
Publication of CN109660587B publication Critical patent/CN109660587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据处理领域,具体涉及一种基于随机数的数据推送方法、装置、存储介质及服务器,所述方法包括:获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器依次获取对应的分片;服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。本发明能够配置多台服务器准确地获取所需的数据,高效地将数据推送至客户端。

Description

基于随机数的数据推送方法、装置、存储介质及服务器
技术领域
本发明涉及数据处理领域,具体涉及一种基于随机数的数据推送方法、装置、存储介质及服务器。
背景技术
随着互联网技术的发展,客户端的使用人数越来越多,在客户端运营的过程中,存在需要同时向大量客户端用户推送数据的场景,例如客户端每天会对特定的1000万个用户推送指定的消息,而目前,面对大量数据的推送时,大多采用单台服务器实例进行取数据、推送数据的操作,单台服务器实例的处理效率过低,导致推送所有数据耗费的时间过多,客户端无法及时接收到推送的效率,从而会造成一定的损失。
发明内容
为克服以上技术问题,特别是现有技术无法准确、高效地对从大量数据中进行取数据的问题,特提出以下技术方案:
第一方面,本发明提供了一种基于随机数的数据推送方法,包括:
获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;
建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;
服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。
进一步的,所述服务器根据所述分片从所述推送表中获取对应的数据,包括:
服务器根据所述分片查询所述推送表中对应的数据,对所述推送表中的数据添加数据库锁后从所述推送表中获取所需的数据;
所述将所述数据推送至客户端之后,还包括:
删除所述推送表中的数据的数据库锁。
进一步的,所述将所述数据推送至客户端之后,还包括:
判断所述数据是否推送成功;
若所述数据推送不成功,将推送不成功的数据写入二次推送表中。
进一步的,所述将推送不成功的数据写入二次推送表中之后,还包括:
当推送表中的数据推送完成后,配置服务器的所述二次推送表中的数据,以让服务器将所述二次推送表中的数据推送至客户端。
进一步的,所述根据随机整数将所述推送表生成多个分片,包括:
根据随机整数将所述推送表进行水平分割,生成多个推送表分片;
将所述推送表分片存放至不同的数据库中。
进一步的,所述将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片之后,还包括:
获取每个分片的数据量;
若每个分片的数据量大于预设值时,增加所述分片的数量。
第二方面,本发明提供一种基于随机数的数据推送装置,其特征在于,包括:
分片生成模块:用于获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;
分片分配模块:用于建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;
数据推送模块:用于根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。
进一步的,所述分片生成模块执行所述根据随机整数将所述推送表生成多个分片,包括:
根据随机整数将所述推送表进行水平分割,生成多个推送表分片;
将所述推送表分片存放至不同的数据库中。
第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于随机数的数据推送方法。
第四方面,本发明还提供了一服务器,所述服务器包括一个或多个处理器、存储器、一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的基于随机数的数据推送方法。
本发明与现有技术相比,具有以下有益效果:
本发明提供了一种基于随机数的数据推送方法,在需要推送大量的数据时,获取需要推送的数据,然后将该些数据写入推送表中,由于数据量较大,将所述推送表根据随机整数将所述推送表生成多个分片,即生成多个推送表分片,将所述推送表分片存储到不同数据库中,然后再建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表分配每台服务器的任务,配置每台服务器依次获取对应的分片,然后服务器根据所述分片从所述推送表中获取对应的数据后将所述数据推送至客户端,通过将数据表分割成多个分片后让服务器根据所述分片依次地从推送表中取数,避免数据的重复操作导致消息的重复推送,同时避免数据库锁较多而影响对取数据的效率,从而提高消息推送的效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明基于随机数的数据推送方法的一实施例流程示意图;
图2为本发明基于随机数的数据推送方法的另一实施例流程示意图;
图3为本发明基于随机数的数据推送装置的一实施例示意图;
图4为本发明服务器的一实施例结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“计算机程序”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本发明实施例提供一种基于随机数的分布式调度方法,如图1所示,所述方法包括以下步骤:
S10:获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片。
在客户端运营的过程中,存在需要同时向大量客户端用户推送数据的场景,例如客户端每天会对拥有即将过期优惠券的用户发送消息提醒任务,所述消息提醒任务即相当于本实施例的需要推送的数据;本实施例中,根据设定的规则获取需要推送的数据,然后将该些需要推送数据写入推送表中,并根据随机整数将所述推送表生成多个分片,优选的,分片后的数据存放到不同数据库中,每个数据库存放分片后的推送表的部分数据。例如需要推送的数据有1000万条,将该1000万条数据写入推送表后,根据随机整数如100将所述推送表生成100个分片,一般的,每个分片中的数据条数均等,即每个分片中大约有10万条数据。
S20:建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;
将推送表分片后,建立分布式取数调度表,所述分布式取数调度表用于对各个服务器需要进行的消息推送任务进行调度,将分配到多个服务器上的推送表的数据统一管理,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片,然后根据所述分布式取数调度表配置多台服务器依次获取对应的分片,具体的,本实施例中配置每台服务器每次从分布式取数调度表中按顺序获取一个分片,保证分片的有效领取,同时便于对分片的管理。
S30:服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。
当需要向客户端推送数据时,服务器根据上述分布式取数调度表领取所分配的分片,服务器获取到所述分片后,根据所述分片从所述推送表查询该分片对应的数据,并获取对应的所需推送的数据,然后将所述数据推送至客户端,从而达到合理地为多台服务器分片推送任务,多台服务器合理地从数据库中获取推送任务所需的数据。
本实施例提供了一种基于随机数的数据推送方法,在需要推送大量的数据时,获取需要推送的数据,然后将该些数据写入推送表中,由于数据量较大,将所述推送表根据随机整数将所述推送表生成多个分片,即生成多个推送表分片,将所述推送表分片存储到不同数据库中,然后再建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表分配每台服务器的任务,配置每台服务器依次获取对应的分片,然后服务器根据所述分片从所述推送表中获取对应的数据后将所述数据推送至客户端,通过将数据表分割成多个分片后让服务器根据所述分片依次地从推送表中取数,避免数据的重复操作导致消息的重复推送,同时避免数据库锁较多而影响对取数据的效率,从而提高消息推送的效率。
本发明的一种实施例,所述服务器根据所述分片从所述推送表中获取对应的数据,包括:
服务器根据所述分片查询所述推送表中对应的数据,对所述推送表中的数据添加数据库锁后从所述推送表中获取所需的数据;
所述将所述数据推送至客户端之后,还包括:
删除所述推送表中的数据的数据库锁。
当每一台服务器根据分片从所述推送表中查询对应的数据时,为了避免多台服务器对同一数据执行操作,本实施例中,服务器在对推送表中的数据进行操作之前对所述数据添加数据库锁,在一种实施方式中,所述添加的数据库锁为update),然后再执行select操作从所述推送表中获取所需的数据,当服务器对所述数据执行完成后,即服务器将所述数据推送至客户端之后,需要将推送表中的数据的数据库锁释放,即服务器需要删除此前对数据添加的数据库锁,从而让后续服务器能够对该数据进行操作,通过添加数据库锁避免同一数据在被一台服务器操作期间被其他服务器操作,造成数据的重复操作,影响数据的准确性。
本发明的一种实施例,所述将所述数据推送至客户端之后,还包括:
判断所述数据是否推送成功;
若所述数据推送不成功,将推送不成功的数据写入二次推送表中。
本实施例中,推送数据的服务器只负责执行将所述数据推送至相应的客户端,而对于数据是否推送成功不立刻作判断,判断数据是否推送成功由其他服务器执行或由服务器的其他模块执行,在将所述数据推送至客户端之后,存在服务器推送了数据但客户端接收不到数据的现象,本实施例中判断所述数据是否推送成功,若所述数据推送不成功,不将该些数据重新写入原来的推送表中,而是将推送不成功的数据写入二次推送表中,由于推送不成功的比例较低,将推送不成功的数据写入二次推送表,简化数据的处理逻辑,亦方便后续对改写数据进行重新推送。
本发明的一种实施例,所述将推送不成功的数据写入二次推送表中之后,还包括:
当推送表中的数据推送完成后,配置服务器的所述二次推送表中的数据,以让服务器将所述二次推送表中的数据推送至客户端。
在将推送不成功的数据写入二次推送表中之后,监控推送表中的数据是否推送完成,当推送表中的数据推送完成后,配置服务器依次获取二次推送表中的数据,由于二次推送表中存储的是推送不成功的数据,该些数据的量级并非很大,例如1000万条推送的数据中,只有1万条数据推送不成功,而1万条数据只占到上述分片中的1/10,因而,本实施例中,不考虑对二次推送表中的数据进行分片,直接配置服务器依次获取二次推送表中的数据,然后将所述述二次推送表中的数据推送至客户端,完成对推送不成功的数据的补充推送。
本发明的一种实施例,所述根据随机整数将所述推送表生成多个分片,包括:
根据随机整数将所述推送表进行水平分割,生成多个推送表分片;
将所述推送表分片存放至不同的数据库中。
本实施例中,根据随机数将所述推送表进行水平分割,水平分割即将推送表按照一行一行进行分割,保留每一行数据的所有字段,例如数据库表中有字段1、字段2、字段3、字段4、字段5等5列数据,水平分割后每一行数据均保留有字段1、字段2、字段3、字段4、字段5对应的数据,分割后生产多个推送表分片,然后将所述推送表分片存放至不同的数据库中。将一张表(推送表)的数据分割成多个分片后存放到不同数据库中,每个数据库存储推送表的部分数据,单个数据库的数据量不大,当推送表的查询量较大时,由于推送表分布在不同的数据库(主机)上,各数据库(主机)的查询压力得到释放,从而提高数据的处理效率。另一方面,相对于水平分割,还可以对推送表进行垂直分割,将一行数据中的不同字段的数据存放至不同数据库中。
本发明的一种实施例,所述将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片之后,还包括:
获取每个分片的数据量;
若每个分片的数据量大于预设值时,增加所述分片的数量。
由于实际业务是不断增长的,例如客户端的数量不断增长,当客户端的数量越来越多,相应的,每次向客户端推送的数据会越来越多,当推送表的数据量越来越多时,每个分片中的数据量亦会越来越多,为了避免分片中的数据量过大而导致出现数据库锁较多、消息重复推送的现象,本实施例中,按照预设时间间隔获取每个分片的数据量,若每个分片的数据量大于预设值时,则调整所述随机数,增加所述分片的数量,以降低每个分片中的数据量,提高数据的处理效率。
如图3所示,在另一种实施例中,本发明提供了一种基于随机数的数据推送装置,包括:
分片生成模块10:用于获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;
分片分配模块20:用于建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;
数据推送模块30:用于根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。
本发明的一种实施例,所述数据推送模块30执行根据所述分片从所述推送表中获取对应的数据,包括:
根据所述分片查询所述推送表中对应的数据,对所述推送表中的数据添加数据库锁后从所述推送表中获取所需的数据;
所述数据推送模块30将所述数据推送至客户端之后,还包括执行:
删除所述推送表中的数据的数据库锁。
本发明的一种实施例,所述数据推送模块30将所述数据推送至客户端之后,还包括执行:
判断所述数据是否推送成功;
若所述数据推送不成功,将推送不成功的数据写入二次推送表中。
本发明的一种实施例,所述数据推送模块30将推送不成功的数据写入二次推送表中之后,还包括执行:
当推送表中的数据推送完成后,配置服务器的所述二次推送表中的数据,以让服务器将所述二次推送表中的数据推送至客户端。
本发明的一种实施例,所述分片生成模块10根据随机整数将所述推送表生成多个分片,包括:
根据随机整数将所述推送表进行水平分割,生成多个推送表分片;
将所述推送表分片存放至不同的数据库中。
本发明的一种实施例,所述分片生成模块还包括执行:
获取每个分片的数据量;
若每个分片的数据量大于预设值时,增加所述分片的数量。
在另一种实施例中,本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述的基于随机数的数据推送方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSSMemory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明实施例提供的一种计算机可读存储介质,可实现获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。通过提供一种基于随机数的数据推送方法,在需要推送大量的数据时,获取需要推送的数据,然后将该些数据写入推送表中,由于数据量较大,将所述推送表根据随机整数将所述推送表生成多个分片,即生成多个推送表分片,将所述推送表分片存储到不同数据库中,然后再建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表分配每台服务器的任务,配置每台服务器依次获取对应的分片,然后服务器根据所述分片从所述推送表中获取对应的数据后将所述数据推送至客户端,通过将数据表分割成多个分片后让服务器根据所述分片依次地从推送表中取数,避免数据的重复操作导致消息的重复推送,同时避免数据库锁较多而影响对取数据的效率,从而提高消息推送的效率。
本发明实施例提供的计算机可读存储介质可以实现上述基于随机数的数据推送方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,在又一种实施例中,本发明还提供一种服务器,如图4所示,所述服务器包括处理器403、存储器405、输入单元407以及显示单元409等器件。本领域技术人员可以理解,图4示出的结构器件并不构成对所有服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器405可用于存储计算机程序401以及各功能模块,处理器403运行存储在存储器405的计算机程序401,从而执行设备的各种功能应用以及数据处理。存储器405可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器405只作为例子而非作为限定。
输入单元407用于接收信号的输入及接收用户的输入,输入单元407可包括触控面板以及其它输入设备,触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元409可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元409可采用液晶显示器、有机发光二极管等形式。处理器403是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器403内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一种实施方式中,所述服务器包括一个或多个处理器403,以及一个或多个存储器405,一个或多个计算机程序401,其中所述一个或多个计算机程序401被存储在存储器405中并被配置为由所述一个或多个处理器403执行,所述一个或多个计算机程序401配置用于执行以上实施例所述的基于随机数的数据推送方法。图4中所示的一个或多个处理器403能够执行、实现图3中所示的分片生成模块10、分片分配模块20、数据推送模块的功能。
本发明实施例提供的一种服务器,可实现获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。通过提供一种基于随机数的数据推送方法,在需要推送大量的数据时,获取需要推送的数据,然后将该些数据写入推送表中,由于数据量较大,将所述推送表根据随机整数将所述推送表生成多个分片,即生成多个推送表分片,将所述推送表分片存储到不同数据库中,然后再建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表分配每台服务器的任务,配置每台服务器依次获取对应的分片,然后服务器根据所述分片从所述推送表中获取对应的数据后将所述数据推送至客户端,通过将数据表分割成多个分片后让服务器根据所述分片依次地从推送表中取数,避免数据的重复操作导致消息的重复推送,同时避免数据库锁较多而影响对取数据的效率,从而提高消息推送的效率。
本发明实施例提供的服务器可以实现上述提供的基于随机数的数据推送方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于随机数的数据推送方法,其特征在于,包括:
获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;
建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片,包括:根据所述分布式取数调度表分配每一服务器的任务,并配置每一服务器依次获取对应的分片;
每一服务器根据对应的所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述分片从所述推送表中获取对应的数据,包括:
服务器根据所述分片查询所述推送表中对应的数据,对所述推送表中的数据添加数据库锁后从所述推送表中获取所需的数据;
所述将所述数据推送至客户端之后,还包括:
删除所述推送表中的数据的数据库锁。
3.根据权利要求1所述的方法,其特征在于,所述将所述数据推送至客户端之后,还包括:
判断所述数据是否推送成功;若所述数据推送不成功,将推送不成功的数据写入二次推送表中。
4.根据权利要求3所述的方法,其特征在于,所述将推送不成功的数据写入二次推送表中之后,还包括:
当推送表中的数据推送完成后,配置服务器的所述二次推送表中的数据,以让服务器将所述二次推送表中的数据推送至客户端。
5.根据权利要求1所述的方法,其特征在于,所述根据随机整数将所述推送表生成多个分片,包括:
根据随机整数将所述推送表进行水平分割,生成多个推送表分片;
将所述推送表分片存放至不同的数据库中。
6.根据权利要求1所述的方法,其特征在于,所述将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片之后,还包括:
获取每个分片的数据量;
若每个分片的数据量大于预设值时,增加所述分片的数量。
7.一种基于随机数的数据推送装置,其特征在于,包括:
分片生成模块:用于获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;
分片分配模块:用于建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片,包括:根据所述分布式取数调度表分配每一服务器的任务,并配置每一服务器依次获取对应的分片;
数据推送模块:用于每一服务器根据对应的所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。
8.根据权利要求7所述的装置,其特征在于,所述分片生成模块执行所述根据随机整数将所述推送表生成多个分片,包括:
根据随机整数将所述推送表进行水平分割,生成多个推送表分片;
将所述推送表分片存放至不同的数据库中。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至6任一项所述的基于随机数的数据推送方法。
10.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行根据权利要求1至6任一项所述的基于随机数的数据推送方法。
CN201811232391.4A 2018-10-22 2018-10-22 基于随机数的数据推送方法、装置、存储介质及服务器 Active CN109660587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811232391.4A CN109660587B (zh) 2018-10-22 2018-10-22 基于随机数的数据推送方法、装置、存储介质及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811232391.4A CN109660587B (zh) 2018-10-22 2018-10-22 基于随机数的数据推送方法、装置、存储介质及服务器

Publications (2)

Publication Number Publication Date
CN109660587A CN109660587A (zh) 2019-04-19
CN109660587B true CN109660587B (zh) 2022-07-29

Family

ID=66110334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811232391.4A Active CN109660587B (zh) 2018-10-22 2018-10-22 基于随机数的数据推送方法、装置、存储介质及服务器

Country Status (1)

Country Link
CN (1) CN109660587B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061738A (zh) * 2019-12-16 2020-04-24 中国建设银行股份有限公司 数据表预分组方法、装置、设备及存储介质
CN112631551B (zh) * 2020-12-29 2023-05-30 平安科技(深圳)有限公司 随机数生成方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103906013A (zh) * 2014-04-14 2014-07-02 夷希数码科技(上海)有限公司 一种基于移动设备的消息推送方法及装置
CN104735096A (zh) * 2013-12-18 2015-06-24 博雅网络游戏开发(深圳)有限公司 消息推送请求的发送方法和系统
WO2015180339A1 (zh) * 2014-05-30 2015-12-03 中兴通讯股份有限公司 消息推送处理方法、装置、推送服务器及应用服务器
CN107508901A (zh) * 2017-09-04 2017-12-22 北京京东尚科信息技术有限公司 分布式数据处理方法、装置、服务器和系统
WO2018072629A1 (zh) * 2016-10-18 2018-04-26 华为技术有限公司 一种媒体分片的推送方法、服务器及客户端
CN108460115A (zh) * 2018-02-10 2018-08-28 深圳壹账通智能科技有限公司 消息推送方法、装置、计算机设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152739B2 (en) * 2011-04-06 2015-10-06 Nterop Corporation Method and apparatus for pushing situationally relevant data
CN103327110B (zh) * 2013-06-28 2016-05-25 腾讯科技(深圳)有限公司 一种信息推送方法和系统
US20160014057A1 (en) * 2014-07-08 2016-01-14 Samsung Electronics Co., Ltd. Method and system for providing dynamically customized web push messages in a wireless network
CN105791906A (zh) * 2014-12-15 2016-07-20 深圳Tcl数字技术有限公司 信息推送的方法和系统
WO2016187768A1 (zh) * 2015-05-25 2016-12-01 武克易 一种视频信息推送方法及装置
CN107920108A (zh) * 2016-10-11 2018-04-17 华为技术有限公司 一种媒体资源的推送方法、客户端及服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735096A (zh) * 2013-12-18 2015-06-24 博雅网络游戏开发(深圳)有限公司 消息推送请求的发送方法和系统
CN103906013A (zh) * 2014-04-14 2014-07-02 夷希数码科技(上海)有限公司 一种基于移动设备的消息推送方法及装置
WO2015180339A1 (zh) * 2014-05-30 2015-12-03 中兴通讯股份有限公司 消息推送处理方法、装置、推送服务器及应用服务器
WO2018072629A1 (zh) * 2016-10-18 2018-04-26 华为技术有限公司 一种媒体分片的推送方法、服务器及客户端
CN107508901A (zh) * 2017-09-04 2017-12-22 北京京东尚科信息技术有限公司 分布式数据处理方法、装置、服务器和系统
CN108460115A (zh) * 2018-02-10 2018-08-28 深圳壹账通智能科技有限公司 消息推送方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN109660587A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN110795455B (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
US10592532B2 (en) Database sharding
US10592672B2 (en) Testing insecure computing environments using random data sets generated from characterizations of real data sets
US20160335342A1 (en) Determining and extracting changed data from a data source
CN109614347B (zh) 多级缓存数据的处理方法、装置、存储介质及服务器
JP2021518021A (ja) データ処理方法、装置及びコンピュータ読み取り可能な記憶媒体
US20230342353A1 (en) Targeted sweep method for key-value data storage
CN109660587B (zh) 基于随机数的数据推送方法、装置、存储介质及服务器
US8793250B1 (en) Flexible partitioning of data
US12099509B2 (en) Systems and methods for constraint driven database searching
CN113821541A (zh) 数据倾斜处理方法、设备、存储介质及程序产品
CN112905587B (zh) 数据库的数据管理方法、装置及电子设备
US8984514B2 (en) Modifying scheduled execution of object modification methods associated with database objects
CN109582382B (zh) 配置信息的加载方法、装置、存储介质及终端设备
US10402385B1 (en) Database live reindex
CN112434062A (zh) 准实时数据处理方法、装置、服务器及存储介质
CN111930720A (zh) 数据倾斜的处理方法、系统、电子设备和介质
CN109376171B (zh) 数据查询方法、装置、计算机存储介质及服务器
JP7293544B2 (ja) 質問回答システムの更新処理方法及び装置
CN110928665A (zh) 数据处理方法、装置、存储介质及终端
CN118034822A (zh) 页面处理方法、装置、设备和存储介质
US7877422B2 (en) Method and system for processing 1:N relationships between data object nodes
CN114780536A (zh) 一种SQL Server数据库索引创建的方法、装置、电子设备及存储介质
CN108573042B (zh) 报表同步方法、电子设备及计算机可读存储介质
CN111222066A (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