CN109067843B - 一种用于发送站内信的方法、装置及计算机设备 - Google Patents
一种用于发送站内信的方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN109067843B CN109067843B CN201810735593.4A CN201810735593A CN109067843B CN 109067843 B CN109067843 B CN 109067843B CN 201810735593 A CN201810735593 A CN 201810735593A CN 109067843 B CN109067843 B CN 109067843B
- Authority
- CN
- China
- Prior art keywords
- time
- user
- time period
- slice
- login
- 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
Links
Images
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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种用于发送站内信的方法、装置及计算机设备,所述方法包括:按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;分别获取每片时间段内的所述用户的登陆信息;基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送所述站内信;如此,对登陆时间段进行分片,在分别获取每片时间段内的所述用户的登陆信息时可以有效对数据进行分流,减少资源消耗,降低服务器的处理压力,进而提高了发送站内信的效率。
Description
技术领域
本发明属于互联网技术领域,尤其涉及一种用于发送站内信的方法、装置及计算机设备。
背景技术
直播网站作为一个开放性、泛娱乐的大众平台,累积了大规模的用户群体,每时每刻都有大量用户的互动参与,且线上活动稍纵即逝,要求活动方提前统筹和发送站内信通知。
目前的站内信发送方式一般采用一次批量发送,比如需要向近3个月的登陆用户发送站内信时,需一次性获取这些用户的信息,再同时向这些用户发送站内信,这种百万级别的数据,需要消耗大量的资源,导致发送效率低。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种用于发送站内信的方法、装置及计算机设备,用于解决现有技术中直播网站在发送站内信时,消耗资源大,发送效率低的技术问题。
本发明提供一种用于发送站内信的方法,应用在直播网站中,所述方法包括:
按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;
分别获取每片时间段内的所述用户的登陆信息;
基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送所述站内信。
上述方案中,所述按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间,包括:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;
当N/M的值为整数时,根据公式dist1=ceil(N/M)确定每片时间段的第一时间跨度基数dist1,所述ceil代表向上取整数;
根据每片时间段的第一时间跨度基数dist1及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
上述方案中,所述按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间,包括:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;
当N/M的值不为整数时,根据公式dist1=ceil(N/M)确定前M-1片时间段的第一时间跨度基数dist1;
根据公式dist2=N-(M-1)*ceil(N/M)确定第M片时间段的第二时间跨度基数dist2;
根据所述第一时间跨度基数dist1、所述第二时间跨度基数dist2及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
上述方案中,所述分别获取每片时间段内的所述用户的登陆信息,包括:
利用串行查询的方式依次查询每片时间段内所述用户的登陆信息,分别获取每片时间段内的登陆信息。
上述方案中,所述分别获取每片时间段内的登陆信息后,包括:
将所述每片时间段内的登陆信息存储至预先设置的数据队列中,所述每片时间段内的登陆信息都具有唯一的密钥key值。
本发明还提供一种用于发送站内信的装置,所述装置包括:
确定单元,用于按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;
获取单元,分别获取每片时间段内的所述用户的登陆信息;
发送单元,用于基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送所述站内信。
上述方案中,所述确定单元具体用于:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;
当N/M的值为整数时,根据公式dist1=ceil(N/M)确定每片时间段的第一时间跨度基数dist1,所述ceil代表向上取整数;
根据每片时间段的第一时间跨度基数dist1及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
上述方案中,所述确定单元具体用于:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;
当N/M的值不为整数时,根据公式dist1=ceil(N/M)确定前M-1片时间段的第一时间跨度基数dist1;
根据公式dist2=N-(M-1)*ceil(N/M)确定第M片时间段的第二时间跨度基数dist2;
根据所述第一时间跨度基数dist1、所述第二时间跨度基数dist2及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的方法。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的方法。
本发明提供了一种用于发送站内信的方法、装置及计算机设备,所述方法包括:按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;分别获取每片时间段内的所述用户的登陆信息;基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送所述站内信;如此,对登陆时间段进行分片,在分别获取每片时间段内的所述用户的登陆信息时可以有效对数据进行分流,减少资源消耗,降低服务器的处理压力,进而提高了发送站内信的效率。
附图说明
图1为本发明实施例提供的用于发送站内信的方法流程示意图;
图2为本发明实施例提供的用于发送站内信的装置结构示意图。
具体实施方式
为了解决现有技术中直播网站在发送站内信时,消耗资源大,发送效率低的技术问题,本发明提供了一种用于发送站内信的方法、装置及计算机设备,所述方法包括:按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;分别获取每片时间段内的所述用户的登陆信息;基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送所述站内信。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
实施例一
本实施例提供一种用于发送站内信的方法,所述方法包括:
S110,按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;
由于直播网站用户量比较多,在发送站内信时,一般情况下会先对用户进行筛选,比如根据登陆时间进行筛选,只对当前时刻之前的三个月或者当前时刻之前的半年内的登陆用户发送站内信,那么待接收站内信的用户对应的登陆时间段就为当前时刻之前的三个月或者当前时刻之前的半年。
为了降低服务器的处理压力,需要按照预设的分片规则登陆时间段进行分片,确定各片时间段对应的时间区间,具体实现如下:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;判断N/M的比值是否为整数,当N/M的比值为整数时,说明每片时间段的时间跨度基数是相同的,那么可以根据公式(1)确定每片时间段的第一时间跨度基数dist1:
dist1=ceil(N/M) (1)
公式(1)中,ceil代表向上取整数。
确定出每片时间段的第一时间跨度基数dist1后,据每片时间段的第一时间跨度基数dist1及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
比如,当前时刻为6月30日12:00,需要对当前时刻前1个月内的登陆用户发送站内信,那么就可以按照公式(1)对该登陆时间段进行分片:
首先确定出分片数量M为6,N为30,登陆时间段的初始时刻为6月1日0点,根据公式(1)可得出每片时间段的第一时间跨度基数dist1为5,也就是说每片时间段包含5天,最后确定出的每片时间段对应的时间区间可如表1所示:
表1
时间段的片序号 | 时间区间 |
1 | 2018-06-01 00:00:00--2018-06-05 23:59:59 |
2 | 2018-06-06 00:00:00--2018-06-10 23:59:59 |
3 | 2018-06-11 00:00:00--2018-06-15 23:59:59 |
4 | 2018-06-16 00:00:00--2018-06-20 23:59:59 |
5 | 2018-06-21 00:00:00--2018-06-25 23:59:59 |
6 | 2018-06-26 00:00:00--2018-06-30 12:00:00 |
而N/M的比值不为整数时,说明每片时间段的时间跨度基数可能是不相同的,可以基于公式(1)定前M-1片时间段的第一时间跨度基数dist1;基于公式(2)确定第M片时间段的第二时间跨度基数dist2;
dist2=N-(M-1)*ceil(N/M) (2)
根据所述第一时间跨度基数dist1、所述第二时间跨度基数dist2及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
比如,当前时刻为7月31日12:00,需要对当前时刻前1个月内的登陆用户发送站内信,那么就可以按照公式(1)对该登陆时间段进行分片:
首先确定出分片数量M为6,N为31,登陆时间段的初始时刻为7月1日0点,根据公式(1)可得出前5片时间段的第一时间跨度基数dist1为6,第6片时间段的第二时间跨度基数dist2为1,也就是说前5片时间段包含5天,第6片时间段包含1天;最后确定出的每片时间段对应的时间区间可如表2所示:
表2
时间段的片序号 | 时间区间 |
1 | 2018-07-01 00:00:00--2018-07-06 23:59:59 |
2 | 2018-07-07 00:00:00--2018-07-12 23:59:59 |
3 | 2018-07-13 00:00:00--2018-07-18 23:59:59 |
4 | 2018-07-19 00:00:00--2018-07-24 23:59:59 |
5 | 2018-07-25 00:00:00--2018-07-30 23:59:59 |
6 | 2018-07-31 00:00:00--2018-07-31 12:00:00 |
S111,分别获取每片时间段内的所述用户的登陆信息;
确定出每片时间段对应的时间区间后,可以对每片时间段内的用户的登陆信息进行分别查询并获取,这样相比一次性全量查询用户的登陆信息可以有效降低服务器的处理压力,降低资源消耗。
这里,可以利用串行查询或并行查询的方式获取每片时间段内的用户的要登录信息。利用串行查询方式获取每片时间段内的用户的要登录信息时,是依次查询每片时间段内的用户登录信息,所需的查询时间是每个分片时间段的查询时间的总和,这样可以很好地控制用户的流量。
利用并行查询方式获取每片时间段内的用户的要登录信息时,是同时对每片时间段内的用户的登陆信息进行查询。
获取到每片时间段内的登陆信息后,将每片时间段内的登陆信息存储至预先设置的数据队列T中,每片时间段内的登陆信息都具有唯一的密钥key值。
这里,每片时间段的登陆信息可记为S(M)={uid1,uid2,uid3,....},M表示每片时间段的分片序号,uid是指用户的登陆信息,每获取一个S(M)后,就将这个S(M)的key值和对应的value值存储至Redis数据库中的数据队列T中,本实施例中每个key值是预先设置的,value为[uid1,uid2,uid3,....]的序列,代码实现如下:
i=1
while i<=M:
S(i)=select i burst
put S(M)to Redis Map<S(i)String,S(i)value>
put S(i)to T
那么,如果M为6的话,经过串行查询获取到的数据队列为T{S(1),S(2),S(3),S(4),S(5),S(6)};而并行查询时由于每片的查询时间可能不同,因此数据队列可能是乱序的,比如:T={S(2),S(1),S(3),S(6),S(5),S(4)}。
这里,若对站内信发送顺序要求严格的场景来说,需采用串行查询的方式获取每片时间段内的登陆信息,若对站内信发送顺序要求不严格的场景来说,可以采用并行或串行查询的方式获取每片时间段内的登陆信息。
S112,基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送所述站内信。
获取到每片时间段内的用户的登陆信息后,基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送站内信。
在发送站内信时,可通过并行发送的方式发送,也可通过串行发送的方式发送。在通过并行方式发送时,需同时获取每片时间段的登陆信息S(M),具体是同时获取S(M)的key值,基于key值基于key值从数据队列T获取S(M)的value值,即获取到每片时间段内每个用户的登陆信息uid,基于每个用户的登陆信息分别向每片时间段内的每个用户发送站内信。
在通过串行方式发送时,需依次获取每片时间段的用户登陆信息S(M),具体是依次获取每个S(M)的key值,基于key值从数据队列T中获取每个S(M)的value值,即获取到每片时间段内每个用户的登陆信息uid,基于每个用户的登陆信息分别向每片时间段内的每个用户发送站内信。
需要说明的是,考虑到站内信是常见需求,无论是串行发送方式还是并行发送方式,若当前分片时间段内的用户的登陆信息获取完毕后,立即向当前分片时间段内的用户发送站内信,发送完毕之后,将当前分片时间段内的用户登陆信息删除掉,避免占用数据库存储空间,消耗数据库的空间,总体的代码实现如下:
while T has element:
e=T.getNext()
set=get value from Redis by e
foreach elem from set:
sendMail to elem
delete set
基于同样的发明构思,本发明还提供一种用于发送站内信的装置,具体参见实施例二。
实施例二
本实施例提供一种用于发送站内信的装置,如图2所示,装置包括:确定单元21、获取单元22及发送单元23;
由于直播网站用户量比较多,在发送站内信时,一般情况下会先对用户进行筛选,比如根据登陆时间进行筛选,只对当前时刻之前的三个月或者当前时刻之前的半年内的登陆用户发送站内信,那么待接收站内信的用户对应的登陆时间段就为当前时刻之前的三个月或者当前时刻之前的半年。
为了降低服务器的处理压力,确定单元21用于按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间。
作为可选的一种实施例,确定单元21具体用于:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;判断N/M的比值是否为整数,当N/M的比值为整数时,说明每片时间段的时间跨度基数是相同的,那么可以根据公式(1)确定每片时间段的第一时间跨度基数dist1:
dist1=ceil(N/M) (1)
公式(1)中,ceil代表向上取整数。
确定出每片时间段的第一时间跨度基数dist1后,据每片时间段的第一时间跨度基数dist1及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
比如,当前时刻为6月30日12:00,需要对当前时刻前1个月内的登陆用户发送站内信,那么就可以按照公式(1)对该登陆时间段进行分片:
首先确定出分片数量M为6,N为30,登陆时间段的初始时刻为6月1日0点,根据公式(1)可得出每片时间段的第一时间跨度基数dist1为5,也就是说每片时间段包含5天,最后确定出的每片时间段对应的时间区间可如表1所示:
表1
而N/M的比值不为整数时,说明每片时间段的时间跨度基数可能是不相同的,可以基于公式(1)定前M-1片时间段的第一时间跨度基数dist1;基于公式(2)确定第M片时间段的第二时间跨度基数dist2;
dist2=N-(M-1)*ceil(N/M) (2)
根据所述第一时间跨度基数dist1、所述第二时间跨度基数dist2及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间。
比如,当前时刻为7月31日12:00,需要对当前时刻前1个月内的登陆用户发送站内信,那么就可以按照公式(1)对该登陆时间段进行分片:
首先确定出分片数量M为6,N为31,登陆时间段的初始时刻为7月1日0点,根据公式(1)可得出前5片时间段的第一时间跨度基数dist1为6,第6片时间段的第二时间跨度基数dist2为1,也就是说前5片时间段包含5天,第6片时间段包含1天;最后确定出的每片时间段对应的时间区间可如表2所示:
表2
时间段的片序号 | 时间区间 |
1 | 2018-07-01 00:00:00--2018-07-06 23:59:59 |
2 | 2018-07-07 00:00:00--2018-07-12 23:59:59 |
3 | 2018-07-13 00:00:00--2018-07-18 23:59:59 |
4 | 2018-07-19 00:00:00--2018-07-24 23:59:59 |
5 | 2018-07-25 00:00:00--2018-07-30 23:59:59 |
6 | 2018-07-31 00:00:00--2018-07-31 12:00:00 |
确定出每片时间段对应的时间区间后,获取单元22分别获取每片时间段内的所述用户的登陆信息。具体地,获取单元22可以对每片时间段内的用户的登陆信息进行分别查询并获取,这样相比一次性全量查询用户的登陆信息可以有效降低服务器的处理压力,降低资源消耗。
这里,获取单元22可以利用串行查询或并行查询的方式获取每片时间段内的用户的要登录信息。利用串行查询方式获取每片时间段内的用户的要登录信息时,是依次查询每片时间段内的用户登录信息,所需的查询时间是每个分片时间段的查询时间的总和,这样可以很好地控制用户的流量。
利用并行查询方式获取每片时间段内的用户的要登录信息时,是同时对每片时间段内的用户的登陆信息进行查询。
获取到每片时间段内的登陆信息后,将每片时间段内的登陆信息存储至预先设置的数据队列T中,每片时间段内的登陆信息都具有唯一的密钥key值。
这里,每片时间段的登陆信息可记为S(M)={uid1,uid2,uid3,....},M表示每片时间段的分片序号,uid是指用户的登陆信息,每获取一个S(M)后,就将这个S(M)的key值和对应的value值存储至Redis数据库中的数据队列T中,本实施例中每个key值是预先设置的,value为[uid1,uid2,uid3,....]的序列,代码实现如下:
i=1
while i<=M:
S(i)=select i burst
put S(M)to Redis Map<S(i)String,S(i)value>
put S(i)to T
那么,如果M为6的话,经过串行查询获取到的数据队列为T{S(1),S(2),S(3),S(4),S(5),S(6)};而并行查询时由于每片的查询时间可能不同,因此数据队列可能是乱序的,比如:T={S(2),S(1),S(3),S(6),S(5),S(4)}。
这里,若对站内信发送顺序要求严格的场景来说,需采用串行查询的方式获取每片时间段内的登陆信息,若对站内信发送顺序要求不严格的场景来说,可以采用并行或串行查询的方式获取每片时间段内的登陆信息。
获取到每片时间段内的用户的登陆信息后,发送单元23用于基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送站内信。
在发送站内信时,发送单元23可通过并行发送的方式发送,也可通过串行发送的方式发送。在通过并行方式发送时,需同时获取每片时间段的登陆信息S(M),具体是同时获取S(M)的key值,基于key值基于key值从数据队列T获取S(M)的value值,即获取到每片时间段内每个用户的登陆信息uid,基于每个用户的登陆信息分别向每片时间段内的每个用户发送站内信。
在通过串行方式发送时,需依次获取每片时间段的用户登陆信息S(M),具体是依次获取每个S(M)的key值,基于key值从数据队列T中获取每个S(M)的value值,即获取到每片时间段内每个用户的登陆信息uid,基于每个用户的登陆信息分别向每片时间段内的每个用户发送站内信。
继续参见图2,装置还包括:删除单元24;需要说明的是,考虑到站内信是常见需求,无论是串行发送方式还是并行发送方式,若当前分片时间段内的用户的登陆信息获取完毕后,发送单元23立即向当前分片时间段内的用户发送站内信,发送完毕之后,删除单元24将当前分片时间段内的用户登陆信息删除掉,避免占用数据库存储空间,消耗数据库的空间,总体的代码实现如下:
while T has element:
e=T.getNext()
set=get value from Redis by e
foreach elem from set:
sendMail to elem
delete set
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本发明提供了一种用于发送站内信的方法、装置及计算机设备,所述方法包括:按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;分别获取每片时间段内的所述用户的登陆信息;基于每片时间段内的所述用户的登陆信息分别向每片时间段内的所述用户发送所述站内信;如此,对登陆时间段进行分片,在分别获取每片时间段内的所述用户的登陆信息时可以有效对数据进行分流,减少资源消耗,降低服务器的处理压力,进而提高了发送站内信的效率;并且一旦当前分片时间段内的用户登录信息获取到之后,即可先向当前分片时间段内的用户发送站内信,发送完毕之后,删除当前片时间段内的用户登录信息,这样也减少了对数据库存储空间的占用,避免消耗数据库的空间。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置、计算机设备的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种用于发送站内信的方法,其特征在于,应用在直播网站中,所述方法包括:
按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;
分别获取每片时间段内的所述用户的登陆信息;
基于每片时间段内的所述用户的登陆信息,利用串行方式分别向每片时间段内的所述用户发送所述站内信;
其中,所述按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间,包括:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;
当N/M的值为整数时,根据公式dist1=ceil(N/M)确定每片时间段的第一时间跨度基数dist1,所述ceil代表向上取整数;
根据每片时间段的第一时间跨度基数dist1及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间;
当N/M的值不为整数时,根据公式dist1=ceil(N/M)确定前M-1片时间段的第一时间跨度基数dist1;
根据公式dist2=N-(M-1)*ceil(N/M)确定第M片时间段的第二时间跨度基数dist2;
根据所述第一时间跨度基数dist1、所述第二时间跨度基数dist2及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间;
其中,所述分别获取每片时间段内的所述用户的登陆信息,包括:
利用串行查询的方式依次查询每片时间段内所述用户的登陆信息,分别获取每片时间段内的登陆信息S(M);
其中,所述分别获取每片时间段内的登陆信息后,包括:
将所述每片时间段内的登陆信息S(M)存储至预先设置的数据队列T中,所述每片时间段内的登陆信息都具有唯一的密钥key值;
其中,S(M)={uid1,uid2,uid3,…};
其中,M表示每片时间段的分片序号;uid表示用户的登录信息;
其中,基于每片时间段内的所述用户的登陆信息,利用串行方式分别向每片时间段内的所述用户发送所述站内信,具体为:
依次获取每个S(M)的key值;
基于所述key值从数据队列T中获取每片时间段内每个用户的登陆信息uid;
基于每个用户的登陆信息分别向每片时间段内的每个用户发送站内信。
2.一种用于发送站内信的装置,其特征在于,所述装置包括:
确定单元,用于按照预设的分片规则对待接收站内信的用户对应的登陆时间段进行分片,确定各片时间段对应的时间区间;
获取单元,分别获取每片时间段内的所述用户的登陆信息;
发送单元,用于基于每片时间段内的所述用户的登陆信息,利用串行方式分别向每片时间段内的所述用户发送所述站内信;
其中,所述确定单元具体用于:
确定分片数量M及所述待接收站内信的用户对应的登陆时间段内的天数N;
当N/M的值为整数时,根据公式dist1=ceil(N/M)确定每片时间段的第一时间跨度基数dist1,所述ceil代表向上取整数;
根据每片时间段的第一时间跨度基数dist1及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间;
当N/M的值不为整数时,根据公式dist1=ceil(N/M)确定前M-1片时间段的第一时间跨度基数dist1;
根据公式dist2=N-(M-1)*ceil(N/M)确定第M片时间段的第二时间跨度基数dist2;
根据所述第一时间跨度基数dist1、所述第二时间跨度基数dist2及所述登陆时间段的初始时刻确定所述各片时间段对应的时间区间;
所述获取单元利用串行查询的方式依次查询每片时间段内所述用户的登陆信息,分别获取每片时间段内的登陆信息;将所述每片时间段内的登陆信息S(M)存储至预先设置的数据队列T中,所述每片时间段内的登陆信息都具有唯一的密钥key值;
其中,S(M)={uid1,uid2,uid3,…};
其中,M表示每片时间段的分片序号;uid表示用户的登录信息;
所述发送单元依次获取每个S(M)的key值;基于所述key值从数据队列T中获取每片时间段内每个用户的登陆信息uid;基于每个用户的登陆信息分别向每片时间段内的每个用户发送站内信。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1所述的方法。
4.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810735593.4A CN109067843B (zh) | 2018-07-06 | 2018-07-06 | 一种用于发送站内信的方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810735593.4A CN109067843B (zh) | 2018-07-06 | 2018-07-06 | 一种用于发送站内信的方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109067843A CN109067843A (zh) | 2018-12-21 |
CN109067843B true CN109067843B (zh) | 2021-07-23 |
Family
ID=64818918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810735593.4A Active CN109067843B (zh) | 2018-07-06 | 2018-07-06 | 一种用于发送站内信的方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067843B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227429A (zh) * | 2014-06-25 | 2016-01-06 | 腾讯科技(深圳)有限公司 | 一种信息推送方法和装置 |
CN107105066A (zh) * | 2017-07-09 | 2017-08-29 | 孝感市青谷信息科技有限公司 | 一种基于用户信息的消息推送方法 |
CN107733967A (zh) * | 2017-07-24 | 2018-02-23 | 上海壹账通金融科技有限公司 | 推送信息的处理方法、装置、计算机设备和存储介质 |
CN107742255A (zh) * | 2017-09-08 | 2018-02-27 | 小草数语(北京)科技有限公司 | 社交网站信息流同步方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013055114A1 (ko) * | 2011-10-13 | 2013-04-18 | 에스케이플래닛 주식회사 | 전자 결제 방법, 시스템 및 장치 |
-
2018
- 2018-07-06 CN CN201810735593.4A patent/CN109067843B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227429A (zh) * | 2014-06-25 | 2016-01-06 | 腾讯科技(深圳)有限公司 | 一种信息推送方法和装置 |
CN107105066A (zh) * | 2017-07-09 | 2017-08-29 | 孝感市青谷信息科技有限公司 | 一种基于用户信息的消息推送方法 |
CN107733967A (zh) * | 2017-07-24 | 2018-02-23 | 上海壹账通金融科技有限公司 | 推送信息的处理方法、装置、计算机设备和存储介质 |
CN107742255A (zh) * | 2017-09-08 | 2018-02-27 | 小草数语(北京)科技有限公司 | 社交网站信息流同步方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109067843A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109076026B (zh) | 用于基于等待时间排队的系统和方法 | |
CN104392535B (zh) | 群组内的投票方法和装置 | |
CN104065565B (zh) | 推送消息的方法、服务器、客户端装置和系统 | |
WO2016131365A1 (zh) | 信息处理方法、客户端、服务器及计算机可读存储介质 | |
CN101505311B (zh) | 一种基于社会化网络的信息传播方法及系统 | |
CN105577772B (zh) | 素材接收方法、素材上传方法及装置 | |
KR20130124945A (ko) | 소셜 네트워크용 고스트 프로필을 생성하는 시스템 및 방법 | |
EP2869532B1 (en) | Service apparatus and method for providing deferred message, and storage medium | |
CN109033404B (zh) | 日志数据处理方法、装置和系统 | |
US20140280610A1 (en) | Identification of users for initiating information spreading in a social network | |
CN109729095B (zh) | 数据处理方法、装置和计算设备及介质 | |
CN107924345B (zh) | 用于度量的聚合测量结果的数据存储区 | |
CN103226780A (zh) | 确定广告位频道的方法及广告投放服务器 | |
CN103905482A (zh) | 推送信息的方法、推送服务器和系统 | |
CN110708360A (zh) | 一种信息处理方法、系统和电子设备 | |
CN104516915A (zh) | 一种基于微博timeline的媒体数据发布方法和装置 | |
WO2016109518A1 (en) | Web page viewership prediction | |
CN109067843B (zh) | 一种用于发送站内信的方法、装置及计算机设备 | |
CN104796440A (zh) | 用于发送定位数据的方法和装置 | |
CN115879889A (zh) | 基于区块链的业务处理方法、装置和计算机设备 | |
EP2798794B1 (en) | Fatigue control-based message float-out method, system and instant messaging client | |
CN102299903B (zh) | 一种处理用户请求的方法、装置和系统 | |
CN112001454B (zh) | 一种集客专线的聚类方法和装置 | |
CN112073454B (zh) | 资源分发方法、装置、电子设备 | |
CN108259588A (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 |