CN104113830A - 一种基于md5和分布式缓存的大规模短信防重发方法 - Google Patents
一种基于md5和分布式缓存的大规模短信防重发方法 Download PDFInfo
- Publication number
- CN104113830A CN104113830A CN201410367794.5A CN201410367794A CN104113830A CN 104113830 A CN104113830 A CN 104113830A CN 201410367794 A CN201410367794 A CN 201410367794A CN 104113830 A CN104113830 A CN 104113830A
- Authority
- CN
- China
- Prior art keywords
- content
- unique identification
- short message
- distributed caching
- identification
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于MD5和分布式缓存的大规模短信防重发方法,包括以下步骤:应用MD5算法对预发送短信内容进行哈希运算,得到一个唯一的内容标识;将内容标识与接收号码再次进行MD5运算,得到一个内容与接收号码的唯一标识;在内存中查找唯一标识;若找到该唯一标识,则代表此短信已被发送,无需后续处理;若没有找到,则将唯一标识存放到内存中,并发送短信。本发明对短信内容和号码进行哈希运算,得到一个唯一的十六进制数字串,使用此数字串进行重复判断,能够极大地减少内存占用。同时利用了分布式缓存技术,在单机内存不够的时候,能够方便地扩展到多台机器,因此能够从容地应对大规模短信的处理。
Description
技术领域
本发明属于移动通信领域,具体涉及一种基于MD5和分布式缓存的大规模短信防重发方法。
背景技术
在短信的发送过程中,由于系统、网络、并发、人为(无心或恶意)等原因,很容易造成短信的重复发送,给接收人带来很大的困扰。
现有的技术一般是通过对短信内容和接收号码进行重复判断,同时将发送过的内容和号码存放到内存或数据库中。如果存放于内存,那么在大规模的短信下,内存很快会被占满,而一台机器的内存总是有限的,到达一定量后将无法扩展。如果存放于数据库,则性能低下,无法满足短信的时效性。同时为了避免因并发造成判断错误等问题,一般只能在一台机器上进行判断,当短信规模超过一定量后,单机的处理性能将无法满足系统的需要。
发明内容
为解决上述技术问题,本发明的目的是提供一种基于MD5和分布式缓存的大规模短信防重发方法。
本发明采用的技术方案是:
一种基于MD5和分布式缓存的大规模短信防重发方法,其特征在于包括以下步骤:
A、应用MD5算法对预发送短信内容进行哈希运算,得到一个唯一的内容标识:contentHash = md5(content);其中,content表示短信内容;
B、将内容标识与接收号码再次进行MD5运算,得到一个内容与接收号码的唯一标识:uniqueHash = md5(contentHash+receiver);其中,receiver表示接收号码;
C、在内存中查找唯一标识;
D、若找到该唯一标识,则代表此短信已被发送,无需后续处理;
E、若没有找到,则将唯一标识存放到内存中,并发送短信。
作为本技术方案的进一步改进,所述内存扩展有分布式缓存,所述步骤C中查找唯一标识与E中存放唯一标识均在缓存中。
其中,所述分布式缓存为Redis或者Ehcache存储系统。
所述哈希运算和查找唯一标识通过短信重复判断模块实现。
所述内容标识与唯一标识为十六进制的数字串。
所述数字串为32位。
本发明的有益效果:
本发明主要利用了MD5算法(消息摘要算法),对短信内容和号码进行哈希运算,得到一个唯一的32位的十六进制数字,使用此数字串进行重复判断,能够极大地减少内存占用。同时利用了分布式缓存技术,在单机内存不够的时候,能够方便地扩展到多台机器,因此能够从容地应对大规模短信的处理。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明的系统结构框图;
图2是本发明的基于MD5和分布式缓存的大规模短信防重发方法的流程图。
具体实施方式
参考图1所示,为本发明的系统由两个部分组成,即短信重复判断模块和分布式缓存模块。其中短信重复判断模块负责对内容和号码进行MD5计算,并通过缓存判断短信是否已被发送,而分布式缓存模块则负责记录已发送短信。
短信重复判断模块和分布式缓存模块都可以根据系统需要进行扩展,数量可以是N个,因此能够应对大规模的短信的需要。
基于上述MD5和分布式缓存的大规模短信防重发方法,包括以下步骤:如图2
A、短信重复判断模块应用MD5算法对预发送短信内容进行哈希运算,得到一个唯一的十六进制的数字串内容标识:contentHash = md5(content);其中,content表示短信内容;
B、短信重复判断模块将内容标识与接收号码再次进行MD5运算,得到一个内容与接收号码的十六进制的数字串唯一标识:uniqueHash = md5(contentHash+receiver);其中,receiver表示接收号码;
C、在缓存中查找唯一标识;
D、若找到该唯一标识,则代表此短信已被发送,无需后续处理;
E、若没有找到,则将唯一标识存放到缓存中,并发送短信。
其中,所述分布式缓存为Redis或者Ehcache存储系统。
MD5算法又叫哈希算法,其作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。
如上所述,本发明主要利用了MD5算法(消息摘要算法),对短信内容和号码进行哈希运算,得到一个唯一的32位的十六进制数字,使用此数字串进行重复判断,能够极大地减少内存占用。同时利用了分布式缓存技术,在单机内存不够的时候,能够方便地扩展到多台机器,因此能够从容地应对大规模短信的处理。
以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
Claims (6)
1.一种基于MD5和分布式缓存的大规模短信防重发方法,其特征在于包括以下步骤:
A、应用MD5算法对预发送短信内容进行哈希运算,得到一个唯一的内容标识:contentHash = md5(content);其中,content表示短信内容;
B、将内容标识与接收号码再次进行MD5运算,得到一个内容与接收号码的唯一标识:uniqueHash = md5(contentHash+receiver);其中,receiver表示接收号码;
C、在内存中查找唯一标识;
D、若找到该唯一标识,则代表此短信已被发送,无需后续处理;
E、若没有找到,则将唯一标识存放到内存中,并发送短信。
2.根据权利要求1所述的一种基于MD5和分布式缓存的大规模短信防重发方法,其特征在于:所述内存扩展有分布式缓存,所述步骤C中查找唯一标识与E中存放唯一标识均在缓存中。
3.根据权利要求2所述的一种基于MD5和分布式缓存的大规模短信防重发方法,其特征在于: 所述分布式缓存为Redis或者Ehcache存储系统。
4.根据权利要求2所述的一种基于MD5和分布式缓存的大规模短信防重发方法,其特征在于: 所述哈希运算和查找唯一标识通过短信重复判断模块实现。
5.根据权利要求1所述的一种基于MD5和分布式缓存的大规模短信防重发方法,其特征在于:所述内容标识与唯一标识为十六进制的数字串。
6.根据权利要求5所述的一种基于MD5和分布式缓存的大规模短信防重发方法,其特征在于:所述数字串为32位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367794.5A CN104113830A (zh) | 2014-07-29 | 2014-07-29 | 一种基于md5和分布式缓存的大规模短信防重发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410367794.5A CN104113830A (zh) | 2014-07-29 | 2014-07-29 | 一种基于md5和分布式缓存的大规模短信防重发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104113830A true CN104113830A (zh) | 2014-10-22 |
Family
ID=51710433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410367794.5A Pending CN104113830A (zh) | 2014-07-29 | 2014-07-29 | 一种基于md5和分布式缓存的大规模短信防重发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104113830A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645578A (zh) * | 2021-08-26 | 2021-11-12 | 上海德吾信息科技有限公司 | 一种防止信息重复发送方法、装置及存储介质 |
CN115835147A (zh) * | 2022-11-23 | 2023-03-21 | 中国工商银行股份有限公司 | 一种短信相关信息处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196852A (zh) * | 2008-01-03 | 2008-06-11 | 杭州华三通信技术有限公司 | 分布式缓存方法及其系统、以及缓存设备和非缓存设备 |
US20090187546A1 (en) * | 2008-01-21 | 2009-07-23 | International Business Machines Corporation | Method, System and Computer Program Product for Duplicate Detection |
CN102340580A (zh) * | 2010-07-16 | 2012-02-01 | 希姆通信息技术(上海)有限公司 | 手机及利用该手机实现的防止手机重复发送的方法 |
CN102946596A (zh) * | 2012-11-29 | 2013-02-27 | 广东全通教育股份有限公司 | 一种基于数字签名技术的短信防重发方法和系统 |
CN103491124A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种对彩信数据进行处理的方法及分布式缓存系统 |
CN103699692A (zh) * | 2014-01-11 | 2014-04-02 | 樊建 | 物联网接入平台数据管理方法 |
-
2014
- 2014-07-29 CN CN201410367794.5A patent/CN104113830A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196852A (zh) * | 2008-01-03 | 2008-06-11 | 杭州华三通信技术有限公司 | 分布式缓存方法及其系统、以及缓存设备和非缓存设备 |
US20090187546A1 (en) * | 2008-01-21 | 2009-07-23 | International Business Machines Corporation | Method, System and Computer Program Product for Duplicate Detection |
CN102340580A (zh) * | 2010-07-16 | 2012-02-01 | 希姆通信息技术(上海)有限公司 | 手机及利用该手机实现的防止手机重复发送的方法 |
CN103491124A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种对彩信数据进行处理的方法及分布式缓存系统 |
CN102946596A (zh) * | 2012-11-29 | 2013-02-27 | 广东全通教育股份有限公司 | 一种基于数字签名技术的短信防重发方法和系统 |
CN103699692A (zh) * | 2014-01-11 | 2014-04-02 | 樊建 | 物联网接入平台数据管理方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645578A (zh) * | 2021-08-26 | 2021-11-12 | 上海德吾信息科技有限公司 | 一种防止信息重复发送方法、装置及存储介质 |
CN113645578B (zh) * | 2021-08-26 | 2022-06-10 | 上海德吾信息科技有限公司 | 一种防止信息重复发送方法、装置及存储介质 |
CN115835147A (zh) * | 2022-11-23 | 2023-03-21 | 中国工商银行股份有限公司 | 一种短信相关信息处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101552652A (zh) | 一种文件传输方法及传输装置 | |
WO2016011811A1 (zh) | 一种内存管理方法、装置及存储介质 | |
CN101699822A (zh) | 一种文件上传方法、装置和海量存储系统 | |
CN104394096A (zh) | 一种基于多核处理器的报文处理方法及多核处理器 | |
US20180254888A1 (en) | Combining hashes of data blocks | |
MX2011006772A (es) | Metodo y sistema para procesar de manera segura una transaccion. | |
CN103595637A (zh) | 基于树与哈希表的内容中心网络结点处理数据方法 | |
CN102035738B (zh) | 一种获取路由信息的方法及装置 | |
RU2011135548A (ru) | Ускорение хэширования растрового представления rdp с использованием инструкций simd | |
RU2013108211A (ru) | Способ предотвращения повторного использования пакетов цифровых данных в сетевой системе передачи данных | |
CN104661042A (zh) | 一种传输流的传输方法、装置和系统 | |
CN104768079A (zh) | 多媒体资源分发方法、装置及系统 | |
CN108259348B (zh) | 一种报文传输方法和装置 | |
US8868584B2 (en) | Compression pattern matching | |
CN104113830A (zh) | 一种基于md5和分布式缓存的大规模短信防重发方法 | |
CN104917844B (zh) | 一种数据同步方法、装置及系统 | |
CN104253754A (zh) | 一种acl快速匹配的方法和设备 | |
CN106062749A (zh) | 使用查询数据提供流行率信息 | |
CN112486930A (zh) | 一种文件上传方法及文件查询方法、电子设备 | |
CN104657383A (zh) | 一种基于关联特性的重复视频检测方法与系统 | |
CN103312823B (zh) | 一种云计算系统 | |
CN111061682B (zh) | 一种数据缓存方法、读取方法、电子设备及存储介质 | |
GB2524515A (en) | Method to improve compression ratio for a compression engine | |
CN110648140B (zh) | 一种基于区块链的多链配合方法及装置 | |
JP2011234345A (ja) | Dmクライアントからオブジェクトを取り出す方法及びそれに関するデバイス管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141022 |