System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及消息处理,特别是涉及一种控制消息发送的数据处理系统。
技术介绍
1、对于消息发送端,向消息接收端发送与其相关的消息,能够令使用目标接收端的用户对消息发送端更加了解,因此,消息发送端向消息接收端发送消息是令用户了解消息发送端的重要渠道之一,现有技术中,消息发送端往往会对针对消息接收端设置一个消息限速值,且消息发送端针对不同的消息接收端会设置不同的消息限速值,当消息发送端向消息接收端发送消息请求时,基于消息限速值以及所述消息请求通过消息接收端对应的消息推动平台向消息接收端发送消息,以使得使用消息接收端的用户通过所述消息来了解消息发送端。
2、但是上述方法也存在以下技术问题:
3、上述方法无法同时处理多个消息请求,一次只能处理一个消息请求,当消息发送端同时向多个消息接收端发送消息请求时,消息发送端不能够在同一时间向多个消息接收端发送消息,容易引起消息阻塞,进而容易造成消息丢失且当消息发送端同时向多个消息接收端发送多个消息请求时,容易导致消息发送端频繁的向同一个消息接收端发送信息,只能偶尔或者不能给与所述消息接收端不同的其他消息接收端发送信息,影响用户体验。
技术实现思路
1、针对上述技术问题,本专利技术采用的技术方案为:
2、一种控制消息发送的数据处理系统,系统包括:处理器、存储有计算机程序的存储器、消息发送端id列表a={a1,a2,……,ai,……,am}和预设消息限速信息集合的集合a0={a01,a02,……,a0i,……,a0m}
3、s100、获取b={b1,b2,……,bi,……,bm},bi={bi1,bi2,……,bij,……,bin(i)},其
4、中,b为a对应的初始消息队列集合的集合,bi为ai对应的初始消息队列集合,bij为ai对应的第j个初始消息队列,j的取值为1到n(i),n(i)为ai对应的初始消息队列数量,初始消息队列的结构是redis结构的数据库,且初始消息队列为null。
5、s200、当a01ir对应的消息接收端接收到ai对应的消息发送端向a01ir对应的消息接收端发送的消息请求时,将a01ij、a02ir以及消息请求中的消息插入到为null的列表中并将此列表作为第一消息列表存储到任一bij中,以生成bij对应的第一消息队列fij并构建bi对应的第一消息队列集合fi={fi1,fi2,……,fij,……,fim}。
6、s300、根据fij获取gij={g1ij,g2ij,……,grij,……,gsij},grij={gr1ij,gr2ij,……,greij,……,
7、grf(ij)ij},其中,gij为fij对应的第二消息列表集合的集合,grij为gij中a01ir对应的第二消息列表集合,greij为grij中a01ir对应的第e个第二消息列表,e的取值为1到f(ij),f(ij)为gij中a01ir对应的第二消息列表数量,a01ir对应的第二消息列表为fij中包括a01ir的第一消息列表。
8、s400、若grij中greij中的e符合e-z0≥△z,依次将greij至grf(ij)ij对应的第一消息列表的排序序号设置为fij中的目标排序序号以使得对fij进行更新并将更新后的fij作为bij对应的待发送消息队列cij构建bi对应的待发送消息队列集合ci={ci1,ci2,……,cij,……,cim},若grij中所有greij中的e均符合e-z0<△z,将未更新的fij作为cij构建ci,其中,z0为目标消息数量值,△z为预设消息数量差值,目标排序序号为第一消息队列中最后一个被输出的第一消息列表对应的排序序号。
9、s500、基于cij中的待发送消息列表中存储的a02ir,将待发送消息列表中存储的消息发送至待发送消息列表中存储的a01ir对应的消息接收端。
10、本专利技术至少具有以下有益效果:
11、本专利技术提供了一种控制消息发送的数据处理系统,对于每一个消息发送端,所述系统都基于redis结构的数据库构建若干个为null的初始消息队列,当消息接收端接收到消息发送端发送的消息请求时,则将所述消息接收端的消息接收端id、所述消息接收端对应的候选消息的预设消息限速值以及所述消息请求中的消息插入到为null的列表,并将此列表存储到任意一个所述消息发送端对应的初始消息队列中构建第一消息队列集合,根据第一消息列表获取第二消息列表,根据第二消息列表在第二消息列表集合中的位置序号、目标消息数量值和预设消息数量差值判断是否需要对第一消息队列进行更新,进一步的确定待发送消息队列,将存储在待发送消息队列中的消息发送给存储在待发送消息队列中的消息接收端id对应的消息接收端,系统能够同时对若干个待发送消息队列进行处理,因此,所述系统能够同时处理多个消息请求,能够避免引起消息阻塞进而不会造成消息丢失,且能够避免待发送消息队列中存储有同一个消息接收端id的待发送消息列表数量过多引起的消息发送端频繁的向所述消息接收端id对应的消息接收端发送信息、只能偶尔或者不能给与所述消息接收端id不同的其他消息接收端id对应的消息接收端发送信息,有利于提高用户体验感。
本文档来自技高网...【技术保护点】
1.一种控制消息发送的数据处理系统,其特征在于,所述系统包括:处理器、存储有计算机程序的存储器、消息发送端ID列表A={A1,A2,……,Ai,……,Am}和预设消息限速信息集合的集合A0={A01,A02,……,A0i,……,A0m},其中,Ai为第i个消息发送端ID,i的取值为1到m,m为消息发送端ID的数量,A0i={A0i1,A0i2,……,A0ir,……,A0is},A0ir={A01ir,A02ir},A0i为Ai对应的预设消息限速信息集合,A0ir为Ai对应的第r个消息接收端的预设消息限速信息列表,r的取值为1到s,s为消息接收端的数量,A01ir为第r个消息接收端ID,A02ir为A01ir对应的消息接收端对应的候选消息的预设消息限速值,A01ir对应的消息接收端对应的候选消息为Ai对应消息发送端需要发送至A01ir对应的消息接收端的消息,当所述计算机程序被所述处理器执行时,实现如下步骤:
2.根据权利要求1所述的控制消息发送的数据处理系统,其特征在于,每一Ai对应的消息发送端同时可以向一个或者多个消息接收端发送消息请求。
3.根据权利要求
4.根据权利要求1所述的控制消息发送的数据处理系统,其特征在于,每一初始消息队列中最多能够存储ΔD个第一消息列表,ΔD为预设的消息数量阈值。
5.根据权利要求4所述的控制消息发送的数据处理系统,其特征在于,在步骤S500中还包括如下子步骤:
6.根据权利要求5所述的控制消息发送的数据处理系统,其特征在于,当A01ir对应的消息接收端对应的候选消息的实际消息发送速率小于A02ir时,将存储在Ai对应的预设存储空间内的中间消息列表中存储的消息发送至所述中间消息列表中存储的A01ir对应的消息接收端。
7.根据权利要求5所述的控制消息发送的数据处理系统,其特征在于,所述预设存储空间为本地存储器内的存储空间。
8.根据权利要求5所述的控制消息发送的数据处理系统,其特征在于,h(ik)≤△D。
9.根据权利要求5所述的控制消息发送的数据处理系统,其特征在于,u(i)≥n(i)。
...【技术特征摘要】
1.一种控制消息发送的数据处理系统,其特征在于,所述系统包括:处理器、存储有计算机程序的存储器、消息发送端id列表a={a1,a2,……,ai,……,am}和预设消息限速信息集合的集合a0={a01,a02,……,a0i,……,a0m},其中,ai为第i个消息发送端id,i的取值为1到m,m为消息发送端id的数量,a0i={a0i1,a0i2,……,a0ir,……,a0is},a0ir={a01ir,a02ir},a0i为ai对应的预设消息限速信息集合,a0ir为ai对应的第r个消息接收端的预设消息限速信息列表,r的取值为1到s,s为消息接收端的数量,a01ir为第r个消息接收端id,a02ir为a01ir对应的消息接收端对应的候选消息的预设消息限速值,a01ir对应的消息接收端对应的候选消息为ai对应消息发送端需要发送至a01ir对应的消息接收端的消息,当所述计算机程序被所述处理器执行时,实现如下步骤:
2.根据权利要求1所述的控制消息发送的数据处理系统,其特征在于,每一ai对应的消息发送端同时可以向一个或者多个消息接收端发送消...
【专利技术属性】
技术研发人员:陈建斌,周瑞慧,叶新江,
申请(专利权)人:每日互动股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。