基于随机数的数据推送方法、装置、存储介质及服务器制造方法及图纸

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

Data Push Method, Device, Storage Media and Server Based on Random Number

The invention relates to the field of data processing, in particular to a data push method, device, storage medium and server based on random number. The method includes: acquiring data to be pushed, writing the data to be pushed into a push table, and generating multiple pieces of the push table according to random integers; establishing a distributed fetch scheduling table, and the distributed fetch scheduling. The tables include message push tasks, multiple records corresponding to each message push task, and the fragmentation of data corresponding to the multiple records; according to the distributed fetch scheduling table, multiple servers are configured to acquire corresponding fragmentation in turn; and the server obtains corresponding data from the push tables according to the fragmentation and pushes the data to the client. The invention can configure multiple servers to obtain the required data accurately and efficiently push the data to the client.

【技术实现步骤摘要】
基于随机数的数据推送方法、装置、存储介质及服务器
本专利技术涉及数据处理领域,具体涉及一种基于随机数的数据推送方法、装置、存储介质及服务器。
技术介绍
随着互联网技术的发展,客户端的使用人数越来越多,在客户端运营的过程中,存在需要同时向大量客户端用户推送数据的场景,例如客户端每天会对特定的1000万个用户推送指定的消息,而目前,面对大量数据的推送时,大多采用单台服务器实例进行取数据、推送数据的操作,单台服务器实例的处理效率过低,导致推送所有数据耗费的时间过多,客户端无法及时接收到推送的效率,从而会造成一定的损失。
技术实现思路
为克服以上技术问题,特别是现有技术无法准确、高效地对从大量数据中进行取数据的问题,特提出以下技术方案:第一方面,本专利技术提供了一种基于随机数的数据推送方法,包括:获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。进一步的,所述服务器根据所述分片从所述推送表中获取对应的数据,包括:服务器根据所述分片查询所述推送表中对应的数据,对所述推送表中的数据添加数据库锁后从所述推送表中获取所需的数据;所述将所述数据推送至客户端之后,还包括:删除所述推送表中的数据的数据库锁。进一步的,所述将所述数据推送至客户端之后,还包括:判断所述数据是否推送成功;若所述数据推送不成功,将推送不成功的数据写入二次推送表中。进一步的,所述将推送不成功的数据写入二次推送表中之后,还包括:当推送表中的数据推送完成后,配置服务器的所述二次推送表中的数据,以让服务器将所述二次推送表中的数据推送至客户端。进一步的,所述根据随机整数将所述推送表生成多个分片,包括:根据随机整数将所述推送表进行水平分割,生成多个推送表分片;将所述推送表分片存放至不同的数据库中。进一步的,所述将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片之后,还包括:获取每个分片的数据量;若每个分片的数据量大于预设值时,增加所述分片的数量。第二方面,本专利技术提供一种基于随机数的数据推送装置,其特征在于,包括:分片生成模块:用于获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;分片分配模块:用于建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;数据推送模块:用于根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。进一步的,所述分片生成模块执行所述根据随机整数将所述推送表生成多个分片,包括:根据随机整数将所述推送表进行水平分割,生成多个推送表分片;将所述推送表分片存放至不同的数据库中。第三方面,本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于随机数的数据推送方法。第四方面,本专利技术还提供了一服务器,所述服务器包括一个或多个处理器、存储器、一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的基于随机数的数据推送方法。本专利技术与现有技术相比,具有以下有益效果:本专利技术提供了一种基于随机数的数据推送方法,在需要推送大量的数据时,获取需要推送的数据,然后将该些数据写入推送表中,由于数据量较大,将所述推送表根据随机整数将所述推送表生成多个分片,即生成多个推送表分片,将所述推送表分片存储到不同数据库中,然后再建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表分配每台服务器的任务,配置每台服务器依次获取对应的分片,然后服务器根据所述分片从所述推送表中获取对应的数据后将所述数据推送至客户端,通过将数据表分割成多个分片后让服务器根据所述分片依次地从推送表中取数,避免数据的重复操作导致消息的重复推送,同时避免数据库锁较多而影响对取数据的效率,从而提高消息推送的效率。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术基于随机数的数据推送方法的一实施例流程示意图;图2为本专利技术基于随机数的数据推送方法的另一实施例流程示意图;图3为本专利技术基于随机数的数据推送装置的一实施例示意图;图4为本专利技术服务器的一实施例结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。本领域技术人员应当理解,本专利技术所称的“应用”、“应用程序”、“计算机程序”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。本专利技术实施例提供一种基于随机数的分布式调度方法,如图1所示,所述方法包括以下步骤:S10:获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片。在客户端运营的过程中,存在需要同时向大量客户端用户推送数据的场景,例如客户端每天会对拥有即将过期优惠券的用户发送消息提醒任务,所述消息提醒任务即相当于本实施例的需要推送的数据;本实施例中,根据设定的规则获取需要推送的数据,然后将该些需要推送数据写入推送表中,并根据随机整数将所述推送表生成多个分片,优选的,分片后的数据存放到不同数据库中,每个数据库存放分片后的推送表的部分数据。例如需要推送的数据有1000万条,将该1000万条数据写入推送表后,根据随机整数如100将所述推送表生成100个分片,一般的,每个分片中的数据条数均等,即每个分片中大约有10万条数据。S20:建本文档来自技高网
...

【技术保护点】
1.一种基于随机数的数据推送方法,其特征在于,包括:获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。

【技术特征摘要】
1.一种基于随机数的数据推送方法,其特征在于,包括:获取需要推送的数据,将所述需要推送的数据写入推送表,并根据随机整数将所述推送表生成多个分片;建立分布式取数调度表,所述分布式取数调度表包含消息推送任务、每个消息推送任务对应的多条记录、以及该多条记录对应的数据所在的分片;根据所述分布式取数调度表配置多台服务器对应的分片;服务器根据所述分片从所述推送表中获取对应的数据,将所述数据推送至客户端。2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述分片从所述推送表中获取对应的数据,包括:服务器根据所述分片查询所述推送表中对应的数据,对所述推送表中的数据添加数据库锁后从所述推送表中获取所需的数据;所述将所述数据推送至客户端之后,还包括:删除所述推送表中的数据的数据库锁。3.根据权利要求1所述的方法,其特征在于,所述将所述数据推送至客户端之后,还包括:判断所述数据是否推送成功;若所述数据推送不成功,将推送不成功的数据写入二次推送表中。4.根据权利要求3所述的方法,其特征在于,所述将推送不成功的数据写入二次推送表中之后,还包括:当推送表中的数据推送完成后,配置服务器的所述二次推送表中的数据,以让服务器将所述二次推送表中的数据推送至客户端。5.根据权利要求1所述的方法,其特征在于,所述根据随机整数将所述推送表生成多个分片,包括:根据随机整数将所述推送表进行水平分割,生成多个推送表分片;将所述推送表分片存放至不同的数据库中。6.根据权利要求1所...

【专利技术属性】
技术研发人员:曹朋飞
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1