CN107548039B - 一种短消息重试处理方法及装置、系统 - Google Patents

一种短消息重试处理方法及装置、系统 Download PDF

Info

Publication number
CN107548039B
CN107548039B CN201610474139.9A CN201610474139A CN107548039B CN 107548039 B CN107548039 B CN 107548039B CN 201610474139 A CN201610474139 A CN 201610474139A CN 107548039 B CN107548039 B CN 107548039B
Authority
CN
China
Prior art keywords
timing data
retry
timing
fragment
processing
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
CN201610474139.9A
Other languages
English (en)
Other versions
CN107548039A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610474139.9A priority Critical patent/CN107548039B/zh
Priority to PCT/CN2017/087501 priority patent/WO2017219867A1/zh
Publication of CN107548039A publication Critical patent/CN107548039A/zh
Application granted granted Critical
Publication of CN107548039B publication Critical patent/CN107548039B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供了一种短消息重试处理方法及其装置、系统,通过对各定时数据按照过期时间顺序进行切片处理,生成定时数据分片,并对各分片进行存储,存储的每个分片对应一个键‑值数据对,根据当前扫描时间确定对应的分片,查找该分片中对应的定时数据,如果当前扫描时间中存在定时数据,则将该定时数据从该分片中删除,并执行定时数据的重试,同时按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试;通过定时数据对短消息控制,避免了在对数据扫描时出现数据丢失,同时也保证了对短消息重试处理的正常执行,通过分片的扫描提高系统对短消息重试处理的处理效率。

Description

一种短消息重试处理方法及装置、系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种算消息重试处理方法及装置、系统。
背景技术
随着通信领域云化NFV(Network Function Virtualization,网络功能虚拟化)平台架构的建设,短信控制中心也在往适应NFV平台架构的方向进行改造,在网络功能虚拟化技术中,要求业务节点可以进行动态的伸缩,这对传统的短消息控制中心的适应改造就会比较难。短消息的定时重试功能是短消息控制中心的一项基本功能,然而传统的短息控制中心要在NFV架构下实现业务节点的动态伸缩的过程中,必须要保证新消息的正常重试,以及旧消息的定时重试信息不会丢失。为了满足上述的需求,短消息控制中心引入了分布式存储系统,所有业务节点的重试信息都存储于该分布式存储系统中,但是,分布式存储系统对于短消息重试的实现方式与存储于设备内存上的不相同,使得在业务节点伸缩时会出现数据丢失,重试功能执行不正常的现象。
发明内容
本发明实施例提供了一种短消息重试处理方法及装置,以解决现有技术中短消息控制中心在控制短消息进行定时重试过程中,可能会出现短消息的数据丢失,导致短消息无法实现重试处理的技术问题。
为解决上述技术问题,本发明实施例提供一种短消息重试处理方法,包括:
对定时数据进行存储处理:对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片,存储各分片;每个分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据;
对分片进行扫描处理:根据当前扫描时间确定对应的分片,查找所述分片中对应的定时数据;将所述定时数据从所述分片中删除,并执行所述定时数据的重试;按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试。
一方面,本发明实施例还提供一种短消息重试处理装置,包括:切片模块、存储模块和定时处理模块;
所述切片模块用于对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片,每个分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据;
所述存储模块用于存储所述切片模块进行切片处理得到的分片;
所述定时处理模块用于根据当前扫描时间确定对应的分片,查找所述分片中对应的定时数据,将所述定时数据从所述分片中删除,并执行所述定时数据的重试,按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试。
另一方面,本发明实施例还提供一种短消息重试处理系统,包括:业务处理子系统和储存子系统;
所述业务处理子系统,用于对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片,并将各定时数据分片存储到所述存储子系统中;
所述业务处理子系统,还用于根据当前扫描时间查询并确定所述存储子系统中对应的分片,并查找所述分片中对应的定时数据;将分片中对应定时数据从所述存储子系统中删除,并执行所述定时数据的重试;按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试;
所述每个分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据。
另一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的短消息重试处理方法。
本发明的有益效果是:
根据本发明实施例提供的短消息重试处理方法、装置、系统以及计算机存储介质,通过对各定时数据按照过期时间顺序进行切片处理,生成定时数据分片,并对各分片进行存储,存储的每个分片对应一个键-值数据对,根据当前扫描时间确定对应的分片,查找该分片中对应的定时数据,如果当前扫描时间中存在定时数据,则将该定时数据从该分片中删除,并执行定时数据的重试,同时按照预设规则更新当前扫描时间;由于在各分片中插入了定时数据,所以在对各分片进行扫描处理时,是通过对分片中的定时数据进行扫描,将当前扫描时间与分片中的定时数据相比,查找分片中过期的定时数据,将过期的定时数据从分片中进行删除,并该定时数据进行重试,从而实现了对需要重试的数据进行定时控制,对于定时数据是否过期的判断是与当前扫描时间来判断,所以再要系统中存在该定时数据就不会出现重试数据的丢失或者遗漏的情况。
附图说明
图1为本发明第一实施例的短消息重试处理装置的结构示意图;
图2为本发明第二实施例的短消息重试处理方法的流程图;
图3为本发明第二实施例的定时数据的存储流程图图;
图4为本发明第三实施例的插入定时数据的处理流程图;
图5为本发明第三实施例的对分片进行扫描重试的扫描流程图;
图6为本发明第三实施例的目的用户重试短消息存储流程图;
图7为本发明第三实施例的短消息重试处理时序图;
图8为本发明第四实施例的短消息重试处理系统的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
为了保证在传统的短消息控制中心能实现新消息的正常重试和旧消息的定时重试不丢失,短消息控制中心引入了分布式存储系统来实现对需要重试的短消息进行存储,但是这与原来通过本地内存中的定时队列实现方式相比,就需要重新提供一种新的短消息重试方法才可以实现定时重试功能的正常,因此,本发明实施例提供了一种短消息重试处理方法和装置,通过对重试的定时数据按照过期时间顺序进行切片处理,生成定时数据分片,并对生成的各分片进行存储,在对短消息进行重试处理时,通过扫描分片中的定时数据,获取分片中的过期数据从而实现对需要重试处理的数据的定时重试控制;在对分片扫描时,只要分片中存在定时数据过期,就将对应的数据进行重试处理,通过定时的控制,避免了在对数据扫描时出现数据丢失,同时也保证了对短消息重试处理的正常执行,通过分片的扫描提高系统对短消息重试处理的处理效率;在将各分片存储时,具体是存储于分布式存储系统中,所以每个分片还对应于分布式存储系统中的一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长内的所有定时数据,从而实现了在扫描分片时,对一时间段的所有定时数据进行扫描,避免了单个定时数据的扫描,提高了扫描和插入、删除定时数据的效率;进一步的本发明实施例提供的方法中,还按照预设规则更新当前扫描时间,使得系统在重启时,根据跟更新的时间从上次扫描时间点继续扫描,进一步避免了数据丢失的问题。
第一实施例:
请参见图1,图1为本实施例提供的一种短消息重试处理装置的结构示意图。通过本实施例提供的短消息重试处理装置,保证了通过分布式Key-Value存储系统对短消息定时重试功能的正常实施,避免重试短消息数据丢失的情况,如图1所示,该短消息重试处理装置1包括:切片模块11、存储模块12和定时处理模块13,其中:
切片模块11用于对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片;
存储模块12用于存储切片模块11进行切片处理得到的分片;
定时处理模块13用于根据当前扫描时间确定对应的分片,查找改分片中对应的定时数据,将该定时数据从该分片中删除,并执行该定时数据的重试,按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试。
在本实施例中,将切片模块11切分好的分片进行存储,具体是存储于分布式存储系统中,这就要求切片模块11对各定时数据进行切片处理后,还需要将各分片转换成与分布式存储系统存储格式相对应的键-值数据对(Key-Value数据对),这时,每个分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据,并将转换后的Key-Value数据对发送至存储模块12中,这里的存储模块12具体为分布式Key-Value存储系统,将Key-Value数据对存储到分布式存储系统中,进一步的,定时处理模块13根据对应的扫描规则对分布式存储系统中的定时数据进行扫描,具体的该扫描规则为算法规则或者按照优先级别顺序或者按照存储的时间顺序等等,根据时间的顺序对存储的分片中的所有定时数据进行扫描,查找出分片中过期的定时数据,并进行重试处理。
在本实施例中,14除了控制对各分片进行循环扫描处理,还根据定时数据管理分片中短消息的重试,切片模块11将切片处理后的定时数据保存到分布式存储系统后,通过14对分片中的所有定时数据进行监控,若有过期的定时数据,则通知定时处理模块13,触发该定时数据对应的短消息进行重试。
在本实施例中,切片模块11将各定时数据进行切片处理并转换对应于一个键-值数据对,然后将键-值数据对存储到分布式存储系统中,其中定时数据包括过期时间和数据类型,该数据类型是由系统自身进行定义的,切片模块11在切片处理时,预先要设置一个时间长度,该时间长度是系统的最小时间间隔的倍数,根据设置时间长度对定时数据中的过期时间进行分片,例如:设置的时间长度为20秒,则以20秒为划分的时间间隔进行分片,那么在时间段为2016/06/15 10:26:00~2016/06/15 10:26:19内的所有定时数据均为同一个分片,保存在同一个Key-Value数据对中,在扫描时,定时处理模块13根据当前的扫描时间与扫描到的分片中的定时数据的过期时间进行比较,若过期时间小于等于当前扫描时间,则该定时数据过期,触发该短消息进行重试。定时处理模块13保存一个当前扫描时间,根据当前扫描时间定位到存储于分布式存储系统中的某一个分片,读取分片中的定时数据,如果存在过期的定时数据,则将该定时数据从该分片中删除,并将处理后的分片更新存储到分布式存储系统中,同时把过期的定时数据发送给定时处理模块13进行重试处理。
在本实施例中,再将所述键-值数据对保存到分布式存储系统中时没具体是以索引表的方式进行存储,其中,是索引表中的索引项按照预设的最小时间间隔配置,各索引项对应不同的定时数据存储位置,通过索引的方式存储,在进行查找定时数据时通过查询索引,根据查询到的索引作为指向针直接定位至对应的定时数据,通过这样的方式大大提高了在查找定时数据时效率。
在本实施例中,对于定时处理模块13其还用于确定待插入定时数据,根据所述定时数据中的过期时间确定对应的分片,将所述定时数据插入对应的分片中。
具体的,定时处理模块13在接收到短消息执行失败的需要进行重试的请求信息,定时处理模块13根据预先设置的重试策略为短消息设置过期时间,然后根据过期时间从存储系统中查找与该过期时间对应的分片,若存储系统中存在对应的分片,则根据过期时间定位到对应的分片,将包括该过期时间的定时数据插入到该分片中,同时将插入后的分片保存到分布式Key-Value存储系统中,实现分片中定时数据的更新,防止在进行短消息重试时,由于没更新分片中的定时数据而导致重试短消息的丢失;另外,根据过期时间查找存储系统中是否存在对应的分片,若不存在时,则定时处理模块13根据该过期时间新建一个空白的分片,并将包括该过期时间的定时数据插入该空白分片中,同时将该空白分片保存到分布式存储系统中,当扫描该空白分片中的定时数据过期了,则调取该定时数据对应的短消息进行重试。
在本实施例中,定时处理模块13接收的请求信息包括新的短消息终呼失败响应或者旧的短消息重试处理失败响应,根据请求信息确定定时数据,查找对应的分片,并插入该定时数据。若定时处理模块13接收到的请求信息是新的短消息终呼失败响应时,定时处理模块13根据预设的重试策略提交定时请求,并生成定时数据,该定时数据包括过期时间,该过期时间是由重试策略来确定设置的,生成定时数据后,定时处理模块13还根据定时数据中的过期时间查找存储系统中对应的分片,若存储系统中存在对应的分片,则将该定时数据插入到该分片中,并将更新后的分片保存到分布式存储系统中;若存储系统中不存在对应的分片时,则新建一个空白分片,并将定时消息插入到空白分片中,同时也保存到分布式存储系统中,在后续的扫描重试处理时,可以直接扫描分片中定时数据即可。
若定时处理模块13接收到的请求信息是旧的短消息重试处理失败响应时,则定时处理模块13将当前扫描时间更新保存到存储系统中,根据重试策略为旧的短消息生成定时数据,并查找对应的分片,插入定时数据,同时保存更新到存储系统中,等待下一次对该短消息重试触发命令的到来。
在本实施例中,切片模块11将所述定时数据进行切片处理具体包括先对定时数据按照其目的号码进行分组,每个分组对应至少一个目的号码,然后对各分组中的定时数据分别按照其过期时间顺序进行切分处理,具体的,将定时数据根据目的号码进行切分,为每个业务节点进行固定目的号码的短消息的分配管理。
在本实施例中,所述切片模块11在切片时根据目的号码进行切分,那么在存储时,也根据目的号码进行分布式存储,具体的切片模块11是根据短消息的目的号码进行取模归属存储,在分布式存储系统中,所有的分片数据根据模值相互独立的。当定时处理模块13接收到请求信息后,获取短消息的目的号码,根据目的号码取模值,并分配到模值对应的业务节点上,根据重试策略生成定时数据,查找该业务节点上是否存在与过期时间对应的分片,若存在则将定时数据插入到该业务节点中对应的分片中,若不存在,则新建新的分片,并保存到该业务节点对应的存储系统中。
在本实施例中,由于通过根据目的号码进行分布式存储,因此,当业务节点进行缩容时,具体可理解为删除业务节点,这时,则需要对该节点管理的短消息进行重新分配给其他业务节点进行管理,由于在存储时是根据目的号码取模值的方式进行存储,所以在重新分配时,其他的业务节点在获取管理时,通过对应的模值进行读取对应的分片即可,具体是加载该模值对应的定时数据,具体方式如下:
首先读取在删除业务节点之前,该业务节点所保存的当前扫描时间,根据读取到的当前扫描时间继续对该模值对应的定时数据进行扫描,如果读取不到当前扫描时间,说明该模值还没有定时数据,这时,则将系统当前时间作为当前扫描时间并更新到分布式存储系统中。定时处理模块13在对分片扫描时,增加对该模值定时数据的扫描。
进一步地,在通过目的号码进行归属存储后,当定时处理模块13在对短消息进行重试处理时,扫描到过期时间的定时数据,将该定时数据从分片中删除,然后从存储模块12中提取定时数据对应的短消息的重试时间和目的号码发送给定时处理模块13,由定时处理模块13将该定时数据进行重试;当定时处理模块13接收到短消息终呼失败时,切片模块11将对应的短消息的过期时间和目的号码发送给定时处理模块13,由定时处理模块13根据预设规则将定时数据插入分片并保存到分布式系统中。
综上所述,本发明实施例提供的短消息处理装置,通过对各定时数据的切分处理,将所有的定时数据按照过期时间进行分片,该分片包括预设时长范围内的所有定时数据,通过定时数据将对应的短消息进行定时控制,在对分片进行扫描处理时,扫描分片中的定时数据与当前扫描时间对比,获取分片中过期的定时数据,并进行重试处理,同时将当前扫描时间更新至存储系统中,避免了在对数据扫描时出现数据丢失,同时也保证了对短消息重试处理的正常执行,通过分片的扫描提高系统对短消息重试处理的处理效率。
第二实施例:
请参见图2,图2为本实施例提供的短消息重试处理方法的流程图。如图2所示,本实施例中的短消息重试处理方法的处理步骤包括如下步骤:
S202,对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片。
在通过该步骤进行切片处理之前,还包括设置分片的时间长度,该时间长度是系统的最小时间间隔的倍数,短消息重试处理装置根据预先设置的时间长度将定时数据切分为至少一个分片,具体可以根据过期时间顺序进行切分,例如:设置的时间长度为20秒,则以20秒为划分的时间间隔进行分片,那么在时间段为2016/06/15 10:26:00~2016/06/1510:26:19内的所有定时数据均为同一个分片。
S204,将切片处理得到的分片进行存储。
在该步骤中,将分片进行存储,具体的可以将分片存储于分布式存储系统中,实现对定时数据的分类存储,存储于分布式存储系统中之前,还包括对切分得到的分片进行转换,转换成与分布式系统存储格式一致的Key-Value数据对,其中Key包括分片的开始时间,Value包括在预设时长范围内的所有定时数据。
在本实施例中,所述键-值数据对中的值以索引表的方式进行存储,其中所述索引表中的索引项按照预设的最小时间间隔配置,各索引项对应不同的定时数据存储位置。如图3所示,为本实施例定时数据的存储结构示意图,将定时数据按照预设的时间长度20秒分为多个分片,各分片在分布式存储系统中的存储方式是以索引表的方式存储,具体的,在当前扫描时间进行扫描,分别对各分片进行扫描,判断分片的定时数据和当前扫描时间是否满足条件,若定时数据中的过期时间小于等于当前扫描时间时,则说明该分片中存在过期的定时数据,例如,扫描分片1中的定时数据,存过期定时数据,优选的,这里的扫描方式的通过索引的方式进行扫描,通过索引表可以快速的定位到需要扫描的定时数据,并快速的比较两个时间的大小关系,如,扫描定时数据0,在扫描的过程中国,从索引表中找到第0秒的索引,根据索引与定时数据的对应关系直接进行定时数据的定位,从而获取该定时数据中的过期时间,与当前扫描时间相比较,若定时数据小于等于当前扫描时间,则将定时数据0从分片1中删除,并对定时数据进行重试处理。
S206,根据当前扫描时间确定对应的分片,查找所述分片中对应的定时数据,将所述定时数据从所述分片中删除,并执行所述定时数据的重试,按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试。
在该步骤中,在根据当前扫描时间扫描各分片中的定时数据时,具体根据预设的扫描规则对存储系统中的各个分片进行扫描,具体的该扫描规则为算法规则或者按照优先级别顺序或者按照存储的时间顺序等等,根据时间的顺序对存储系统中的各分片中的所有定时数据进行扫描;同理在对分片内的所有定时数据进行扫描时也可以根据时间的顺序对存储的分片中的所有定时数据进行扫描。
在本实施例中,短消息重试处理装置还包括对操作失败的短消息进行设置重试处理,首先需要确定待插入定时数据,然后根据所述定时数据中的过期时间确定对应的分片,将所述定时数据插入对应的分片中。
具体的,若接收到的请求信息是新的短消息终呼失败响应时,根据预设的重试策略提交定时请求,并生成定时数据,该定时数据包括过期时间,该过期时间是由重试策略来确定设置的,生成定时数据后,根据定时数据中的过期时间查找存储系统中对应的分片,若存储系统中存在对应的分片,则将该定时数据插入到该分片中,并将更新后的分片保存到分布式存储系统中;若存储系统中不存在对应的分片时,则新建一个空白分片,并将定时消息插入到空白分片中,同时也保存到分布式存储系统中,在后续的扫描重试处理时,可以直接扫描分片中定时数据即可。
若接收到的请求信息是旧的短消息重试处理失败响应时,根据预设的重试策略提交定时请求,并生成定时数据,同时将当前扫描时间更新保存到存储系统中,根据重试策略为旧的短消息生成定时数据,并查找对应的分片,插入定时数据,同时保存更新到存储系统中,等待下一次对该短消息重试触发命令的到来。
在本实施例中,在对各定时数据按照其过期时间顺序进行切片处理时,具体包括:对所述定时数据按照其目的号码进行分组,每个分组对应至少一个目的号码;对各分组中的定时数据分别按照其过期时间顺序进行切分处理。
具体的,根据短消息的目的号码进行取模归属存储,在分布式存储系统中,所有的分片数据根据模值相互独立的。当接收到请求信息后,获取短消息的目的号码,根据目的号码取模值,并分配到模值对应的业务节点上,根据重试策略生成定时数据,查找该业务节点上是否存在与过期时间对应的分片,若存在则将定时数据插入到该业务节点中对应的分片中,若不存在,则新建新的分片,并保存到该业务节点对应的存储系统中。
在本实施例中,由于通过根据目的号码进行分布式存储,因此,当业务节点进行缩容时,具体可理解为删除业务节点,这时,则需要对该节点管理的短消息进行重新分配给其他业务节点进行管理,由于在存储时是根据目的号码取模值的方式进行存储,所以在重新分配时,其他的业务节点在获取管理时,通过对应的模值进行读取对应的分片即可。
第三实施例:
请参见图4,图4为本实施例中插入定时数据的处理流程图,具体如下:
S402,插入定时数据,具体的根据接收到的新的短消息终呼失败响应或者旧的短消息重试处理失败响应,根据预设的重试策略提交定时请求,并生成定时数据,所述定时数据包括短消息的过期时间。
S404,根据过期时间定位到对应的分片。
具体的,根据步骤S402中得到过期时间查询存储系统中是中存在对应的分片,若存在,则读取对应的分片,并将定时数据插入到该分片中。
S406,向分布式存储系统查询分片数据,具体是指通过重试策略生成的定时数据查询分布式存储系统中的存储的所有分片中符合定时数据的分片。
S408,判断是否存在过期时间对应的分片数据,若存在,则执行步骤S412,否则,执行S410。
S410,新建空表分片数据。
S412,将定时数据插入到对应的分片中。
S414,将处理后的分片保存到分布式存储系统中。
S416,结束。
请参见图5,图5为本实施例提供的对分片进行扫描重试的扫描处理过程,其具体操作步骤包括:
步骤1,对分片进行扫描,具体的,对分布式Key-Value存储系统中的存储的由各分片组成的定时队列,根据定时队列的时间顺序进行扫描,判断当前扫描时间是否小于等于当前系统时间,若是,则读取定时分片扫描过期数据;否则,等待1秒后继续循环扫描判断。
步骤2,根据当前扫描时间从分布式存储系统中读取分片。
步骤3,如果“当前扫描时间”存在定时数据,说明该数据已经过期;将定时数据从分片中删除,同时业务处理系统,并将更新后的分片数据更新到分布式存储系统中;继续步骤3循环处理。
步骤4,如果“当前扫描时间”不存在定时数据,将“当前扫描时间”加1,并更新到分布式存储系统中;跳到步骤1再次扫描。
如图6所示,在本实施例中,若在对分片进行扫描的过程中,接收到有短消息需要设置重试的请求信息时,先获取短消息的目的号码,根据重试策略设置过期时间,并发送定时请求生成定时数据,该定时数据包括过期时间和目的号码,查询与过期时间对应的分片,然后将该定时数据插入到对应的分片中,保存到分布式存储系统中。
具体的,如图7所示,需要设置重试的短消息的目的号码为8613900000001,根据重试策略提交定时请求,生成定时数据,这里的重试策略该短消息必须在60秒后进行重试,提交定时请求,定时数据包括:过期时间(60秒后),和目的用户:8613900000001;接收到定时请求后,根据过期时间,向分布式存储系统查询该过期时间对应的定时分片;分布式存储系统返回定时分片,例如分片数据中已经有两个定时数据,分别是目的用户8613900000003和8613900000004;将8613900000001定时数据插入到分片中;并将新的分片数据更新到分布式存储系统中。同时返回业务处理系统,定时数据插入成功。
进一步的,根据上述的存储方式存储定时数据后,开始对分片进行扫描处理,短消息重试处理装置扫描分片,具体的分布式存储系统查询分片,定位到某一分片后,对分片中的所有定时数据进行扫描,假如该分片包括三个定时数据,其目的号码分别为:8613900000001、8613900000003和8613900000004,将三个定时数据中的过期时间与当前扫描时间进行比较判断,发现该分片中只有目的号码为8613900000001的定时数据的过期时间小于等于当前扫描时间,然后通知短消息重试处理装置目的号码为8613900000001的定时数据过期,需要进行重试处理,短消息重试处理装置根据通知将8613900000001的定时数据从分片中删除,并将删除后的分片更新至分布式存储系统中,并将定时数据根据目的号码8613900000001触发对应的短消息进行处重试处理。
第四实施例:
请参见图8,图8为本实施例提供的短消息重试处理系统的结构示意图。在本实施例中,所述短消息重试处理系统8包括业务处理子系统81和存储子系统82,其中:
所述业务处理子系统81用于对各定时数据按照其过期时间的顺序进行切分处理,生成定时数据分片,并将各定时分片存储到所述存储子系统82中,每个分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据;优选的,存储子系统82包括至少一个分布式存储单元821,每个存储单元对应存储一个处理单元切分处理后生成定时数据分片。
具体的,业务处理子系统81在将定时数据存储于存储子系统82之前,还需要对定时数据进行转换,转换成于存储子系统82对应的存储格式的数据对。
所述业务处理子系统81还用于根据当前扫描时间查询并确定所述存储子系统中对应的分片,并查找所述分片中对应的定时数据;将分片中对应定时数据从所述存储子系统中删除,并执行所述定时数据的重试;按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试。
在本实施例中,所述短消息重试处理系统8中的业务处理子系统81包括至少一个处理子单元811,每个处理单元811对应至少一个目的号码;所述对各定时数据按照其过期时间顺序进行切片处理包括:对所述定时数据按照其目的号码进行分组,每个分组对应一个处理单元;各处理单元811对其对应的分组中的定时数据分别按照其过期时间顺序进行切分处理。
具体的,本实施例中的处理子单元811具体是业务节点,在业务节点中还包括设置有定时子模块,定时子模块根据接收业务处理系统的请求,将定时数据转换键-值数据,保存到分布式存储单元中。
在本实施例中,在业务处理子系统81将各定时数据切分存储完成后,将需要定时重试的过期时间发送至定时子模块,定时子模块根据当前扫描时间定位到某个分片,读取该分片,如果分片中的数据的过期时间小于等于当前扫描时间,表示该定时数据已经过期,则将该定时数据从分片中删除,并保存到存储系统中。并把过期的定时数据提交给业务处理子系统进行处理。
综上所述,在本发明实施例提供的短消息重试处理方法及其装置、系统,通过对各定时数据按照过期时间顺序进行切片处理,生成定时数据分片,并对生成的各分片进行存储,在对短消息进行重试处理时,通过扫描分片中的定时数据,获取分片中的过期数据从而实现对需要重试处理的数据的定时重试控制;在对分片扫描时,只要分片中存在定时数据过期,就将对应的数据进行重试处理,通过定时的控制,避免了在对数据扫描时出现数据丢失,同时也保证了对短消息重试处理的正常执行,通过分片的扫描提高系统对短消息重试处理的处理效率,解决了现有技术中短消息控制中心在控制短消息进行定时重试过程中,可能会出现短消息的数据丢失,导致短消息无法实现重试处理的技术问题。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (11)

1.一种短消息重试处理方法,应用于短消息重试处理装置,所述短消息重试处理方法包括:
对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片,存储各分片;每个分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据;
根据当前扫描时间确定对应的分片,查找所述分片中对应的定时数据;将所述定时数据从所述分片中删除,并执行所述定时数据的重试;按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试。
2.根据权利要求1所述的短消息重试处理方法,其特征在于,还包括:确定待插入定时数据,根据所述定时数据中的过期时间确定对应的分片,将所述定时数据插入对应的分片中。
3.根据权利要求2所述的短消息重试处理方法,其特征在于,所述确定插入定时数据包括:
接收新的短消息终呼失败响应,根据预设的重试策略提交定时请求,并生成定时数据;
或者,接收短消息重试处理失败响应,根据预设的重试策略提交定时请求,并生成定时数据。
4.根据权利要求1至3任一项所述的短消息重试处理方法,其特征在于,所述对各定时数据按照其过期时间顺序进行切片处理包括:对所述定时数据按照其目的号码进行分组,每个分组对应至少一个目的号码;对各分组中的定时数据分别按照其过期时间顺序进行切分处理。
5.根据权利要求1至3任一项所述的短消息重试处理方法,其特征在于,所述键-值数据对中的值以索引表的方式进行存储,其中所述索引表中的索引项按照预设的最小时间间隔配置,各索引项对应不同的定时数据存储位置。
6.一种短消息重试处理装置,包括:切片模块、存储模块和定时处理模块;
所述切片模块用于对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片,每个分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据;
所述存储模块用于存储所述切片模块进行切片处理得到的分片;
所述定时处理模块用于根据当前扫描时间确定对应的分片,查找所述分片中对应的定时数据,将所述定时数据从所述分片中删除,并执行所述定时数据的重试,按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试。
7.根据权利要求6所述的短消息重试处理装置,其特征在于,所述定时处理模块还用于接收新的短消息终呼失败响应或者短消息重试处理失败响应,根据预设的重试策略提交定时请求,并生成定时数据,根据所述定时数据中的过期时间确定对应的分片,将所述定时数据插入对应的分片中。
8.根据权利要求6或7所述的短消息重试处理装置,其特征在于,所述切片模块对所述定时数据按照其目的号码进行分组,每个分组对应至少一个目的号码,对各分组中的定时数据分别按照其过期时间顺序进行切分处理。
9.一种短消息重试处理系统,其特征在于,包括:业务处理子系统和储存子系统;
所述业务处理子系统,用于对各定时数据按照其过期时间顺序进行切片处理,生成定时数据分片,并将各定时数据分片存储到所述存储子系统中;
所述业务处理子系统,还用于根据当前扫描时间查询并确定所述存储子系统中对应的分片,并查找所述分片中对应的定时数据;将分片中对应定时数据从所述存储子系统中删除,并执行所述定时数据的重试;按照预设规则更新当前扫描时间,直至执行完所有分片中的定时数据的重试;
每个所述分片对应一个键-值数据对,其中键包括分片的开始时间,值包括在预设时长范围内的所有定时数据。
10.根据权利要求9所述的短消息重试处理系统,其特征在于,所述业务处理子系统包括至少一个处理单元,每个处理单元对应至少一个目的号码;所述对各定时数据按照其过期时间顺序进行切片处理包括:对所述定时数据按照其目的号码进行分组,每个分组对应一个处理单元;各处理单元对其对应的分组中的定时数据分别按照其过期时间顺序进行切分处理。
11.根据权利要求10所述的短消息重试处理系统,其特征在于,所述存储子系统包括至少一个分布式存储单元,每个存储单元对应存储一个处理单元切分处理后生成定时数据分片。
CN201610474139.9A 2016-06-24 2016-06-24 一种短消息重试处理方法及装置、系统 Active CN107548039B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610474139.9A CN107548039B (zh) 2016-06-24 2016-06-24 一种短消息重试处理方法及装置、系统
PCT/CN2017/087501 WO2017219867A1 (zh) 2016-06-24 2017-06-08 一种短消息重试处理方法及装置、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610474139.9A CN107548039B (zh) 2016-06-24 2016-06-24 一种短消息重试处理方法及装置、系统

Publications (2)

Publication Number Publication Date
CN107548039A CN107548039A (zh) 2018-01-05
CN107548039B true CN107548039B (zh) 2021-06-25

Family

ID=60784359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610474139.9A Active CN107548039B (zh) 2016-06-24 2016-06-24 一种短消息重试处理方法及装置、系统

Country Status (2)

Country Link
CN (1) CN107548039B (zh)
WO (1) WO2017219867A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510469B (zh) * 2019-01-31 2023-04-25 上海哔哩哔哩科技有限公司 一种消息处理方法和装置
CN110049120A (zh) * 2019-04-12 2019-07-23 海能达通信股份有限公司 多媒体文件传输方法、系统、核心网及装置
CN112905638B (zh) * 2021-02-02 2022-05-17 浙江邦盛科技有限公司 一种基于喇叭状的时间切片处理方法
CN112819600B (zh) * 2021-02-25 2024-06-07 深圳前海微众银行股份有限公司 定时任务的执行方法、装置、设备及计算机存储介质
CN113064741B (zh) * 2021-04-07 2022-04-12 上海万物新生环保科技集团有限公司 一种消息队列重试方法及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461882C (zh) * 2005-07-04 2009-02-11 中兴通讯股份有限公司 一种短消息系统中对网元进行重试的方法
CN101127950B (zh) * 2007-09-04 2010-06-23 中兴通讯股份有限公司 一种短消息重试处理方法、装置及应用其的短消息中心
CN101616365B (zh) * 2008-06-24 2012-12-05 中兴通讯股份有限公司 一种基于并行队列的短消息重试系统及方法
CN101420661B (zh) * 2008-11-11 2010-09-29 中兴通讯股份有限公司 短消息重试方法和装置
CN101646142A (zh) * 2009-09-03 2010-02-10 中兴通讯股份有限公司 短消息重发的方法及短消息中心
CN103067895B (zh) * 2013-01-04 2015-11-25 东莞宇龙通信科技有限公司 长短信的重发方法及通信终端
CN103973419A (zh) * 2013-01-31 2014-08-06 中兴通讯股份有限公司 一种短消息服务中心及短消息重发的方法
CN104936156B (zh) * 2015-06-25 2018-09-07 走遍世界(北京)信息技术有限公司 短信发送方法和装置

Also Published As

Publication number Publication date
CN107548039A (zh) 2018-01-05
WO2017219867A1 (zh) 2017-12-28

Similar Documents

Publication Publication Date Title
CN107548039B (zh) 一种短消息重试处理方法及装置、系统
US10574752B2 (en) Distributed data storage method, apparatus, and system
US20150293816A1 (en) Data processing method and apparatus
EP3131246B1 (en) Method, device and storage medium for rapidly synchronizing medium access control address table
CN111930770A (zh) 数据查询方法、装置及电子设备
US20140372396A1 (en) Database System Lock Operation Method and Device
EP4198861A1 (en) Information processing method and apparatus for blockchain network, and device and storage medium
US20170318521A1 (en) Method for realizing resource attribute notification, and common service entity
CN111694811A (zh) 一种批量数据入库方法及装置
JP6586174B2 (ja) データベースシステム、トランザクション管理ノード、方法およびプログラム
EP2416526A1 (en) Task switching method, server node and cluster system
CN114130035A (zh) 一种用户匹配方法、装置、设备及存储介质
CN105653556B (zh) 一种数据老化方法及装置
CN112804276B (zh) 虚拟化宽带远程接入服务器及其控制方法、通信系统
CN110798492B (zh) 数据存储方法及装置、数据处理系统
CN110502574B (zh) 跨系统的信息同步方法、用户设备、存储介质及装置
CN110955460A (zh) 一种服务进程启动方法、装置、电子设备和存储介质
CN110765125B (zh) 一种存储数据的方法及装置
CN112749172A (zh) 一种缓存与数据库之间的数据同步方法及系统
US11782752B1 (en) System and method for assigning tasks
CN112637206B (zh) 一种业务数据主动获取方法和系统
CN111881086B (zh) 大数据的存储方法、查询方法、电子装置及存储介质
CN113901076A (zh) 数据同步方法、装置、服务器及存储介质
CN113608856A (zh) 节点调度方法、系统及装置
US20190361755A1 (en) Method, system and apparatus for dynamically allocating event data

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