CN113918365A - 基于短信的数据处理方法、装置及设备 - Google Patents
基于短信的数据处理方法、装置及设备 Download PDFInfo
- Publication number
- CN113918365A CN113918365A CN202111220876.3A CN202111220876A CN113918365A CN 113918365 A CN113918365 A CN 113918365A CN 202111220876 A CN202111220876 A CN 202111220876A CN 113918365 A CN113918365 A CN 113918365A
- Authority
- CN
- China
- Prior art keywords
- sent
- short message
- message data
- node
- redis list
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 33
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Abstract
本申请提供一种基于短信的数据处理方法、装置及设备,涉及数据处理技术,该方法包括:在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中;根据多线程方式读取所述Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。本申请的方法,将待发送短信数据存入Redis列表中,读取并发送Redis列表中的待发送短信数据,实现了根据Redis列表模拟消息队列服务,避免了部署消息队列服务,进而降低了硬件成本,并且无需将消息队列服务和现有的通信系统进行集成,进而降低了通信系统的复杂性降低,因此解决了用于发送短信数据的通信系统较复杂的技术问题。
Description
技术领域
本申请涉及数据处理技术,尤其涉及一种基于短信的数据处理方法、装置及设备。
背景技术
目前,随着手机用户和应用平台APP的增多,短信已经成为手机用户最经常使用的业务之一,所以需要在手机用户与手机用户之间、应用平台APP与手机用户之间发送短信。
现有技术中,发送短信时,需要在现有的通信系统上增加消息队列服务,然后利用消息队列服务中的消息队列向用户发送短信。
然而现有技术中,由于在利用消息队列服务中的消息队列发送短信时,需要先将现有的通信系统与消息队列服务集成在一起,得到集成的通信系统,然后根据集成的通信系统向用户发送短信,进而增加了集成的通信系统的复杂性;并且部署消息队列服务会增加额外的硬件,进而提高了硬件成本。
发明内容
本申请提供一种基于短信的数据处理方法、装置及设备,用以解决用于发送短信数据的通信系统较复杂的技术问题。
第一方面,本申请提供一种基于短信的数据处理方法,所述方法应用于数据结构服务器,所述数据结构服务器中具有远程字典服务Redis列表,所述Redis列表包括多个节点;所述方法包括:
在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中;
根据多线程方式读取所述Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。
进一步地,每一所述待发送短信数据具有优先级;在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中,包括:
在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为高优先级的数据,则将该待发送短信数据存入所述Redis列表的第一端的节点中;
在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为低优先级的数据,则将该待发送短信数据存入所述Redis列表的第二端的节点中。
进一步地,根据多线程方式读取所述Redis列表中每一节点的待发送短信数据,包括:
以所述Redis列表的第一端为读取起始点,根据多个线程循环读取所述Redis列表中每一节点的待发送短信数据;其中,所述多线程方式包括多个线程。
进一步地,所述Redis列表具有头节点、尾节点和多个中间节点,所述多个中间节点位于所述头节点与所述尾节点之间;所述头节点具有后置指针,所述尾节点具有前置指针,每一所述中间节点均具有前置指针和后置指针。
进一步地,以所述Redis列表的第一端为读取起始点,根据多个线程循环读取所述Redis列表中每一节点的待发送短信数据,包括:
当所述头节点位于所述Redis列表的第二端,且所述尾节点位于所述Redis列表的第一端时,以所述Redis列表的第一端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的前置指针并依据该前置指针确定对应的前置节点,并采用多个线程中的每一线程读取所确定出的前置节点上的待发送短信数据。
进一步地,以所述Redis列表的第一端为读取起始点,根据多个线程循环读取所述Redis列表中每一节点的待发送短信数据,包括:
当所述头节点位于所述Redis列表的第一端,且所述尾节点位于所述Redis列表的第二端时,以所述Redis列表的第二端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的后置指针并依据该后置指针确定对应的后置节点,并采用多个线程中的每一线程读取所确定出的后置节点上的待发送短信数据。
进一步地,所述方法还包括:
删除所述Redis列表中已发送的待发送短信数据。
进一步地,所述方法还包括:
根据预设的长度函数确定所述Redis列表中节点的个数。
第二方面,本申请提供一种基于短信的数据处理装置,所述装置应用于数据结构服务器,所述数据结构服务器中具有远程字典服务Redis列表,所述Redis列表包括多个节点;所述装置包括:
存储单元,用于在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中;
读取单元,用于根据多线程方式读取所述Redis列表中每一节点的待发送短信数据;
发送单元,用于向用户发送所读取到的待发送短信数据。
进一步地,每一所述待发送短信数据具有优先级;所述存储单元,包括:
第一存储模块,用于在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为高优先级的数据,则将该待发送短信数据存入所述Redis列表的第一端的节点中;
第二存储模块,用于在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为低优先级的数据,则将该待发送短信数据存入所述Redis列表的第二端的节点中。
进一步地,所述读取单元,具体用于:
读取模块,用于以所述Redis列表的第一端为读取起始点,根据多个线程循环读取所述Redis列表中每一节点的待发送短信数据;其中,所述多线程方式包括多个线程。
进一步地,所述Redis列表具有头节点、尾节点和多个中间节点,所述多个中间节点位于所述头节点与所述尾节点之间;所述头节点具有后置指针,所述尾节点具有前置指针,每一所述中间节点均具有前置指针和后置指针。
进一步地,所述读取模块,具体包括:
当所述头节点位于所述Redis列表的第二端,且所述尾节点位于所述Redis列表的第一端时,以所述Redis列表的第一端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的前置指针并依据该前置指针确定对应的前置节点,并采用多个线程中的每一线程读取所确定出的前置节点上的待发送短信数据。
进一步地,所述读取模块,具体包括:
当所述头节点位于所述Redis列表的第一端,且所述尾节点位于所述Redis列表的第二端时,以所述Redis列表的第二端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的后置指针并依据该后置指针确定对应的后置节点,并采用多个线程中的每一线程读取所确定出的后置节点上的待发送短信数据。
进一步地,所述装置还包括:
删除单元,用于删除所述Redis列表中已发送的待发送短信数据。
进一步地,所述装置还包括:
确定单元,用于根据预设的长度函数确定所述Redis列表中节点的个数。
第三方面,本申请提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
本申请提供的基于短信的数据处理方法、装置及设备,在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中;根据多线程方式读取所述Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。本方案中,当获取到待发送短信数据时,可以通过预设的入栈指令将待发送短信数据存入Redis列表中的节点中,每一节点中存储有一个待发送数据,然后根据多线程方式读取Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。所以,将待发送短信数据存入Redis列表中,读取并发送Redis列表中的待发送短信数据,实现了根据Redis列表模拟消息队列服务,避免了部署消息队列服务,进而降低了硬件成本,并且无需将消息队列服务和现有的通信系统进行集成,进而降低了通信系统的复杂性降低,因此解决了用于发送短信数据的通信系统较复杂的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的一种基于短信的数据处理方法的流程示意图;
图2为本申请实施例提供的另一种基于短信的数据处理方法的流程示意图;
图3为本申请实施例提供的一种基于短信的数据处理装置的结构示意图;
图4为本申请实施例提供的另一种基于短信的数据处理装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的一种电子设备的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。
一个示例中,随着手机用户和手机APP的增多,短信已经成为手机用户最经常使用的业务之一,所以需要在手机用户与手机用户之间、手机APP与手机用户之间发送短信。现有技术中,发送短信时,需要在现有的通信系统上增加消息队列服务,然后利用消息队列服务中的消息队列向用户发送短信。然而现有技术中,由于在利用消息队列服务中的消息队列发送短信时,需要先将现有的通信系统与消息队列服务集成在一起,得到集成的通信系统,然后根据集成的通信系统向用户发送短信,进而增加了集成的通信系统的复杂性;并且部署消息队列服务会增加额外的硬件,进而提高了硬件成本。
本申请提供的基于短信的数据处理方法、装置及设备,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种基于短信的数据处理方法的流程示意图,该方法应用于数据结构服务器,数据结构服务器中具有远程字典服务Redis列表,Redis列表包括多个节点;如图1所示,该方法包括:
101、在获取到待发送短信数据时,通过预设的入栈指令将待发送短信数据存入Redis列表中的节点中。
示例性地,本实施例的执行主体为数据结构服务器,数据结构服务器中具有远程字典服务(Remote Dictionary Server,Redis)列表,Redis列表是字符串列表,也是一个双向链表,并且,Redis列表包括多个节点,每一节点可以存储一个数据。
首先,需要获取待发送短信数据。可以由用户手机处得到待发送短信数据,或者从手机APP中获取待发送短信数据。当用户手机向另一个用户手机发送短信数据,或者应用平台APP向用户手机发送短信数据时,可以实时获取待发送短信数据,获取到待发送短信数据后,可以通过预设的入栈指令将待发送短信数据存入Redis列表中的节点中,预设的入栈指令是预先设定的指令,示例性地,入栈指令包括LPUSH指令及RPUSH指令等,所以,可以根据LPUSH指令将待发送短信数据存入Redis列表中的节点中,或者,可以根据RPUSH指令将待发送短信数据存入Redis列表中的节点中,每一节点中存储有一个待发送短信息数据。
102、根据多线程方式读取Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。
示例性地,多线程方式包括多个线程,其中,多线程数量不能超过短信网关限制的连接数,多个线程读取数据时需要并发访问控制,此处并发访问控制由Redis底层实现,确保线程访问的安全。由于Redis列表是双向链表,读取待发送短信数据的顺序也是双向的,所以,需要先设定读取方向,然后基于读取方向,利用多个线程循环读取Redis列表中每一节点的待发送短信数据,最后向用户发送所读取到的待发送短信数据。
本申请实施例中,在获取到待发送短信数据时,通过预设的入栈指令将待发送短信数据存入Redis列表中的节点中。根据多线程方式读取Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。本方案中,当获取到待发送短信数据时,可以通过预设的入栈指令将待发送短信数据存入Redis列表中的节点中,每一节点中存储有一个待发送数据,然后根据多线程方式读取Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。所以,将待发送短信数据存入Redis列表中,读取并发送Redis列表中的待发送短信数据,实现了根据Redis列表模拟消息队列服务,避免了部署消息队列服务,进而降低了硬件成本,并且无需将消息队列服务和现有的通信系统进行集成,进而降低了通信系统的复杂性降低,解决了用于发送短信数据的通信系统较复杂的技术问题。
图2为本申请实施例提供的另一种基于短信的数据处理方法的流程示意图,如图2所示,该方法包括:
201、每一待发送短信数据具有优先级;在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为高优先级的数据,则将该待发送短信数据存入Redis列表的第一端的节点中。
示例性地,每一待发送短信数据具有优先级,数据结构服务器获取到待发送短信数据后,可以对待发送短信数据的内容进行分析并得出优先级;或者,获取的待发送短信数据自身携带有优先级信息,进而根据携带的优先级信息确定待发送短信数据的优先级;或者,可以对短信的发出方和/或接收方预先设定优先级信息,当接收到待发送短信数据时,根据待发送短信数据的发出方和/或接收方的优先级信息,确定待发送短信数据的优先级等,对此不作限定。
举例来说,Redis列表有两个端点,包括第一端和第二端,在Redis列表中插入待发送短信数据时,只能从第一端和/或第二端进行插入,数据结构服务器可以预先设定其中一端用于存储高优先级的待发送短信数据,另一端用于存储低优先级的待发送短信数据。当设定第一端用于存储高优先级的待发送短信数据、第二端用于存储低优先级的待发送短信数据后,数据结构服务器获取到第一个待发送短信数据时,首先确定该待发送短信数据的优先级,若该优先级表示该待发送短信数据为高优先级的数据,则可以根据RPUSH指令将该待发送短信数据存入Redis列表的第一端的节点中,如果继续接收到第二个高优先级的待发送短信数据,则将接收到的第二个待发送短信数据继续存入第一端,此时Redis列表第一端的端点由第一个待发送短信数据变成了第二个待发送短信数据,第一端端点处的数据需要根据接收到的高优先级的待发送短信数据进行更新。
202、在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为低优先级的数据,则将该待发送短信数据存入Redis列表的第二端的节点中。
示例性地,数据结构服务器预先设定第二端用于存储低优先级的待发送短信数据后,数据结构服务器获取到第一个待发送短信数据时,首先确定该待发送短信数据的优先级,若该优先级表示该待发送短信数据为低优先级的数据,则可以根据LPUSH指令将该待发送短信数据存入Redis列表的第二端的节点中,如果继续接收到第二个低优先级的待发送短信数据,则将接收到的第二个待发送短信数据继续存入第二端,此时Redis列表第二端的端点由第一个待发送短信数据变成了第二个待发送短信数据,第二端端点处的数据需要根据接收到的低优先级的待发送短信数据进行更新。
203、以Redis列表的第一端为读取起始点,根据多个线程循环读取Redis列表中每一节点的待发送短信数据;其中,多线程方式包括多个线程。
一个示例中,Redis列表具有头节点、尾节点和多个中间节点,多个中间节点位于头节点与尾节点之间;头节点具有后置指针,尾节点具有前置指针,每一中间节点均具有前置指针和后置指针。
一个示例中,步骤203可以包括两种方式:
步骤203的第一种方式:当头节点位于Redis列表的第二端,且尾节点位于Redis列表的第一端时,以Redis列表的第一端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的前置指针并依据该前置指针确定对应的前置节点,并采用多个线程中的每一线程读取所确定出的前置节点上的待发送短信数据。
步骤203的第二种方式:当头节点位于Redis列表的第一端,且尾节点位于Redis列表的第二端时,以Redis列表的第二端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的后置指针并依据该后置指针确定对应的后置节点,并采用多个线程中的每一线程读取所确定出的后置节点上的待发送短信数据。
示例性地,Redis列表具有头节点、尾节点和多个中间节点,多个中间节点位于头节点与尾节点之间。由于头节点的前置指针指向NULL,即前置指针为空,所以头节点具有后置指针;由于尾节点的后置指针指向NULL,即后置指针为空,所以尾节点具有前置指针;每一中间节点均具有前置指针和后置指针,前置指针可以表示为prev指针,后置节点可以表示为next指针,后续根据前置指针确定前置节点、根据后置指针确定后置节点时,算法复杂度都为O(1),便于确定前置节点及后置节点。由于Redis列表是双向的,Redis列表的第一端可以是头节点,也可以是尾节点,所以,以Redis列表的第一端为读取起始点时,读取起始点可以是头节点,也可以是尾节点,以头节点或尾节点为读取起始点时,数据结构服务器可以根据多个线程循环读取Redis列表中每一节点的待发送短信数据。
举例来说,第一种方式是以尾节点作为读取起始点读取待发送短信数据。当头节点位于Redis列表的第二端,且尾节点位于Redis列表的第一端时,以Redis列表的第一端的尾节点为读取起始点,采用多个线程中的每一线程先读取尾节点中的待发送短信数据,然后采用多个线程中的每一线程读取尾节点的前置指针,并依据该前置指针确定尾节点的下一个前置节点,进而采用多个线程中的每一线程读取所确定出的前置节点上的待发送短信数据。
第二种方式是以头节点作为读取起始点读取待发送短信数据。当尾节点位于Redis列表的第二端,且头节点位于Redis列表的第一端时,以Redis列表的第一端的头节点为读取起始点,采用多个线程中的每一线程先读取头节点中的待发送短信数据,然后采用多个线程中的每一线程读取头节点的后置指针,并依据该后置指针确定头节点的下一个后置节点,进而采用多个线程中的每一线程读取所确定出的后置节点上的待发送短信数据。
204、向用户发送所读取到的待发送短信数据。
示例性地,以Redis列表的第一端的尾节点为读取起始点,数据结构服务器采用多个线程中的每一线程读取到尾节点中的待发送短信数据时,向用户立即发送所读取到的待发送短信数据;采用多个线程中的每一线程读取所确定出的前置节点上的待发送短信数据时,向用户立即发送所读取到的待发送短信数据。以Redis列表的第一端的头节点为读取起始点,数据结构服务器采用多个线程中的每一线程读取到头节点中的待发送短信数据时,向用户立即发送所读取到的待发送短信数据;采用多个线程中的每一线程读取所确定出的后置节点上的待发送短信数据时,向用户立即发送所读取到的待发送短信数据。
205、删除Redis列表中已发送的待发送短信数据。
示例性地,数据结构服务器将读取到的待发送短信数据向用户发送成功后,数据结构服务器需要删除已发送的待发送短信数据,使得Redis列表的存储空间更大,进而存储下一时刻获取的多个待发送短信数据。
206、根据预设的长度函数确定Redis列表中节点的个数。
示例性地,预设的长度函数为LEN函数(LEN Function,LEN函数),数据结构服务器可以根据LEN函数对Redis列表中的节点个数进行计算,得出Redis列表中节点的总数,相当于确定了与节点的总数对应的待发送短信数据的数量,所以,可以根据预设的长度函数确定出Redis列表内待发送短信数据的数量,进而避免Redis列表内的待发送短信数据的数量过多,而导致多线程方式不能及时读取并发送待发送短信数据,并且根据LEN函数计算Redis列表中的节点个数时,计算复杂度为O(1),计算过程非常简单便捷。
本申请实施例中,每一待发送短信数据具有优先级;在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为高优先级的数据,则将该待发送短信数据存入Redis列表的第一端的节点中。在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为低优先级的数据,则将该待发送短信数据存入Redis列表的第二端的节点中。以Redis列表的第一端为读取起始点,根据多个线程循环读取Redis列表中每一节点的待发送短信数据;其中,多线程方式包括多个线程。向用户发送所读取到的待发送短信数据。删除Redis列表中已发送的待发送短信数据。根据预设的长度函数确定Redis列表中节点的个数。所以,将待发送短信数据存入Redis列表中,读取并发送Redis列表中的待发送短信数据,实现了根据Redis列表模拟消息队列服务,避免了部署消息队列服务,进而降低了硬件成本,并且无需将消息队列服务和现有的通信系统进行集成,进而降低了通信系统的复杂性降低,解决了用于发送短信数据的通信系统较复杂的技术问题。
图3为本申请实施例提供的一种基于短信的数据处理装置的结构示意图,该装置应用于数据结构服务器,数据结构服务器中具有远程字典服务Redis列表,Redis列表包括多个节点;如图3所示,该装置包括:
存储单元31,用于在获取到待发送短信数据时,通过预设的入栈指令将待发送短信数据存入Redis列表中的节点中。
读取单元32,用于根据多线程方式读取Redis列表中每一节点的待发送短信数据。
发送单元33,用于向用户发送所读取到的待发送短信数据。
本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图4为本申请实施例提供的另一种基于短信的数据处理装置的结构示意图,在图3所示实施例的基础上,如图4所示,每一待发送短信数据具有优先级;存储单元31,包括:
第一存储模块311,用于在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为高优先级的数据,则将该待发送短信数据存入Redis列表的第一端的节点中。
第二存储模块312,用于在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为低优先级的数据,则将该待发送短信数据存入Redis列表的第二端的节点中。
一个示例中,读取单元32,具体用于:
读取模块321,用于以Redis列表的第一端为读取起始点,根据多个线程循环读取Redis列表中每一节点的待发送短信数据;其中,多线程方式包括多个线程。
一个示例中,Redis列表具有头节点、尾节点和多个中间节点,多个中间节点位于头节点与尾节点之间;头节点具有后置指针,尾节点具有前置指针,每一中间节点均具有前置指针和后置指针。
一个示例中,读取模块322,具体包括:
当头节点位于Redis列表的第二端,且尾节点位于Redis列表的第一端时,以Redis列表的第一端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的前置指针并依据该前置指针确定对应的前置节点,并采用多个线程中的每一线程读取所确定出的前置节点上的待发送短信数据。
一个示例中,读取模块322,具体包括:
当头节点位于Redis列表的第一端,且尾节点位于Redis列表的第二端时,以Redis列表的第二端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的后置指针并依据该后置指针确定对应的后置节点,并采用多个线程中的每一线程读取所确定出的后置节点上的待发送短信数据。
一个示例中,装置还包括:
删除单元41,用于删除Redis列表中已发送的待发送短信数据。
一个示例中,装置还包括:
确定单元42,用于根据预设的长度函数确定Redis列表中节点的个数。
本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图5为本申请实施例提供的一种电子设备的结构示意图,如图5所示,电子设备包括:存储器51,处理器52;
存储器51中存储有可在处理器52上运行的计算机程序。
处理器52被配置为执行如上述实施例提供的方法。
电子设备还包括接收器53和发送器54。接收器53用于接收外部设备发送的指令和数据,发送器54用于向外部设备发送指令和数据。
图6是本申请实施例提供的一种电子设备的框图,该电子设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种基于短信的数据处理方法,其特征在于,所述方法应用于数据结构服务器,所述数据结构服务器中具有远程字典服务Redis列表,所述Redis列表包括多个节点;所述方法包括:
在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中;
根据多线程方式读取所述Redis列表中每一节点的待发送短信数据,并向用户发送所读取到的待发送短信数据。
2.根据权利要求1所述的方法,其特征在于,每一所述待发送短信数据具有优先级;在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中,包括:
在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为高优先级的数据,则将该待发送短信数据存入所述Redis列表的第一端的节点中;
在获取到待发送短信数据时,若确定该待发送短信数据的优先级表征该待发送短信数据为低优先级的数据,则将该待发送短信数据存入所述Redis列表的第二端的节点中。
3.根据权利要求1所述的方法,其特征在于,根据多线程方式读取所述Redis列表中每一节点的待发送短信数据,包括:
以所述Redis列表的第一端为读取起始点,根据多个线程循环读取所述Redis列表中每一节点的待发送短信数据;其中,所述多线程方式包括多个线程。
4.根据权利要求3所述的方法,其特征在于,所述Redis列表具有头节点、尾节点和多个中间节点,所述多个中间节点位于所述头节点与所述尾节点之间;所述头节点具有后置指针,所述尾节点具有前置指针,每一所述中间节点均具有前置指针和后置指针。
5.根据权利要求4所述的方法,其特征在于,以所述Redis列表的第一端为读取起始点,根据多个线程循环读取所述Redis列表中每一节点的待发送短信数据,包括:
当所述头节点位于所述Redis列表的第二端,且所述尾节点位于所述Redis列表的第一端时,以所述Redis列表的第一端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的前置指针并依据该前置指针确定对应的前置节点,并采用多个线程中的每一线程读取所确定出的前置节点上的待发送短信数据。
6.根据权利要求4所述的方法,其特征在于,以所述Redis列表的第一端为读取起始点,根据多个线程循环读取所述Redis列表中每一节点的待发送短信数据,包括:
当所述头节点位于所述Redis列表的第一端,且所述尾节点位于所述Redis列表的第二端时,以所述Redis列表的第二端的节点为读取起始点,采用多个线程中的每一线程读取每一节点的后置指针并依据该后置指针确定对应的后置节点,并采用多个线程中的每一线程读取所确定出的后置节点上的待发送短信数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
删除所述Redis列表中已发送的待发送短信数据。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
根据预设的长度函数确定所述Redis列表中节点的个数。
9.一种基于短信的数据处理装置,其特征在于,所述装置应用于数据结构服务器,所述数据结构服务器中具有远程字典服务Redis列表,所述Redis列表包括多个节点;所述装置包括:
存储单元,用于在获取到待发送短信数据时,通过预设的入栈指令将所述待发送短信数据存入所述Redis列表中的节点中;
读取单元,用于根据多线程方式读取所述Redis列表中每一节点的待发送短信数据;
发送单元,用于向用户发送所读取到的待发送短信数据。
10.一种电子设备,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111220876.3A CN113918365A (zh) | 2021-10-20 | 2021-10-20 | 基于短信的数据处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111220876.3A CN113918365A (zh) | 2021-10-20 | 2021-10-20 | 基于短信的数据处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918365A true CN113918365A (zh) | 2022-01-11 |
Family
ID=79241680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111220876.3A Pending CN113918365A (zh) | 2021-10-20 | 2021-10-20 | 基于短信的数据处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918365A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103906018A (zh) * | 2012-12-26 | 2014-07-02 | 中国移动通信集团福建有限公司 | 一种用于发送短信的方法及装置 |
CN105868033A (zh) * | 2016-04-06 | 2016-08-17 | 江苏物联网研究发展中心 | 基于Redis实现优先级消息队列的方法及系统 |
US20170161851A1 (en) * | 2015-12-08 | 2017-06-08 | Toast, Inc. | Restaurant Notification System |
CN107396331A (zh) * | 2017-09-19 | 2017-11-24 | 马上消费金融股份有限公司 | 一种基于优先级队列的短信发送方法及装置 |
CN108933993A (zh) * | 2018-07-03 | 2018-12-04 | 平安科技(深圳)有限公司 | 短信缓存队列选择方法、装置、计算机设备和存储介质 |
CN109474900A (zh) * | 2018-12-21 | 2019-03-15 | 上海瀚银信息技术有限公司 | 一种短信服务系统及服务方法 |
CN110337075A (zh) * | 2019-06-28 | 2019-10-15 | 北京奇才天下科技有限公司 | 一种基于app业务类型的短信消息发送方法、装置及电子设备 |
CN110661668A (zh) * | 2019-09-29 | 2020-01-07 | 深圳前海微众银行股份有限公司 | 一种消息发送管理方法及装置 |
-
2021
- 2021-10-20 CN CN202111220876.3A patent/CN113918365A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103906018A (zh) * | 2012-12-26 | 2014-07-02 | 中国移动通信集团福建有限公司 | 一种用于发送短信的方法及装置 |
US20170161851A1 (en) * | 2015-12-08 | 2017-06-08 | Toast, Inc. | Restaurant Notification System |
CN105868033A (zh) * | 2016-04-06 | 2016-08-17 | 江苏物联网研究发展中心 | 基于Redis实现优先级消息队列的方法及系统 |
CN107396331A (zh) * | 2017-09-19 | 2017-11-24 | 马上消费金融股份有限公司 | 一种基于优先级队列的短信发送方法及装置 |
CN108933993A (zh) * | 2018-07-03 | 2018-12-04 | 平安科技(深圳)有限公司 | 短信缓存队列选择方法、装置、计算机设备和存储介质 |
CN109474900A (zh) * | 2018-12-21 | 2019-03-15 | 上海瀚银信息技术有限公司 | 一种短信服务系统及服务方法 |
CN110337075A (zh) * | 2019-06-28 | 2019-10-15 | 北京奇才天下科技有限公司 | 一种基于app业务类型的短信消息发送方法、装置及电子设备 |
CN110661668A (zh) * | 2019-09-29 | 2020-01-07 | 深圳前海微众银行股份有限公司 | 一种消息发送管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9588805B2 (en) | Method and terminal device for controlling background application | |
EP3188066B1 (en) | A method and an apparatus for managing an application | |
US20200387795A1 (en) | Super network training method and device | |
CN107908351B (zh) | 应用界面的显示方法、装置及存储介质 | |
KR101884543B1 (ko) | 경보 방법 및 디바이스 | |
US20200401286A1 (en) | Method, apparatus and medium for switching application interfaces | |
CN107635074B (zh) | 控制闹铃的方法、装置及计算机可读存储介质 | |
EP3147802B1 (en) | Method and apparatus for processing information | |
CN107071862B (zh) | 账号绑定方法及装置和智能设备 | |
CN112037787A (zh) | 唤醒控制方法、装置及计算机可读存储介质 | |
CN108702763B (zh) | 前导码和调度请求的发送方法及装置 | |
CN105912204B (zh) | 启动应用界面的方法及装置 | |
US20210307104A1 (en) | Method and apparatus for controlling intelligent voice control device and storage medium | |
CN107463372B (zh) | 一种数据驱动的页面更新方法和装置 | |
CN110618783B (zh) | 一种文本播报方法、装置及介质 | |
CN111654354B (zh) | 最大传输单元mtu的探测方法、装置及存储介质 | |
CN105227426B (zh) | 一种应用界面切换方法、装置及终端设备 | |
CN107295167B (zh) | 信息显示方法及装置 | |
CN108874450B (zh) | 唤醒语音助手的方法及装置 | |
CN107885464B (zh) | 数据存储方法、装置及计算机可读存储介质 | |
CN106919302B (zh) | 移动终端的操作控制方法及装置 | |
CN111290843A (zh) | 进程管理方法及装置 | |
CN112954596B (zh) | 数据共享方法、装置、设备及存储介质 | |
CN114430370B (zh) | 网络切片的确定方法、装置、设备及存储介质 | |
CN113918365A (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 |