一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

短信延时发送方法、设备、电子装置和存储介质与流程

2022-02-20 20:24:29 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种短信延时发送方法、设备、电子装置和存储介质。


背景技术:

2.随着智能移动设备的广泛普及,短信推广营销因其具备成本低、回报率高、精确性高和时效性强等优势成为各大企业与商家备受青睐的宣传方式之一。随之而来的,在短信发送方法中,如何实现短信在今后的某个时间点进行发送或者处理这一功能也成为了目前关注的重点。通常情况下,实现该功能的方法需要依赖于一个精准且能处理大量数据量的定时或者延时工具。
3.在相关技术中,进行短信延时发送时需要不断向系统询问时间以确定短信发送任务的设定时间,这也大大地加重了系统的运行压力,导致了任务执行过程过于繁琐以及成本较高的问题。
4.针对相关技术中,短信延时发送时依赖于系统的不断询问,导致任务执行过程过于繁琐以及成本较高这一问题,目前还没有提出有效的解决方案。


技术实现要素:

5.在本实施例中提供了一种短信延时发送方法、设备、电子装置和存储介质,以解决相关技术中在短信延时发送时依赖于系统的不断询问,导致任务执行过程过于繁琐以及成本较高的问题。
6.第一个方面,在本实施例中提供了一种短信延时发送方法,包括:
7.获取短信发送任务的发送时间,根据当前时间和所述发送时间确定所述短信发送任务的任务延时;
8.根据所述任务延时,将所述短信发送任务与任务时钟的时钟刻度建立关联关系,其中,基于哈希环生成所述任务时钟,所述任务时钟的时钟刻度与所述哈希环的虚拟节点对应;
9.根据所述关联关系确定任务执行时刻,在所述任务执行时刻,执行所述短信发送任务。
10.在其中的一些实施例中,所述基于哈希环生成所述任务时钟包括:
11.确定所述任务时钟所需的哈希环的数量;
12.对每个所述哈希环,等间隔设置所述哈希环的虚拟节点;
13.将所述数量的哈希环连接得到所述任务时钟。
14.在其中的一些实施例中,所述对每个所述哈希环,等间隔设置所述哈希环的虚拟节点包括:
15.在有多个所述哈希环的情况下,多个所述哈希环分别对应于不同的时间单位,所述虚拟节点之间的间隔与所属哈希环的时间单位对应。
16.在其中的一些实施例中,所述根据所述关联关系确定任务执行时刻,在所述任务执行时刻,执行所述短信发送任务包括:
17.所述任务时钟的各虚拟指针以所属的时间单位运行,以确定所述任务时钟的时刻;
18.在所述任务时钟的时刻与所述任务执行时刻一致时,执行所述短信发送任务。
19.在其中的一些实施例中,所述将所述短信发送任务与任务时钟的时钟刻度建立关联关系包括:
20.根据所述短信发送任务的编号进行哈希计算,得到所述短信发送任务的哈希值;
21.根据所述任务延时,将所述哈希值存储在所述哈希环的虚拟节点;
22.根据所述时钟刻度与所述虚拟节点之间的对应关系确定所述关联关系。
23.在其中的一些实施例中,所述在所述任务执行时刻,执行所述短信发送任务包括:
24.获取所述任务时钟在所述发送时间触发的任务执行命令,根据所述任务执行命令执行所述短信发送任务。
25.在其中的一些实施例中,所述根据所述任务执行命令执行所述短信发送任务包括:
26.将所述短信发送任务中的多个子任务分配至多个线程进行执行。
27.第二个方面,在本实施例中提供了一种短信延时发送设备,包括确定模块、关联模块和执行模块:
28.所述确定模块,用于获取短信发送任务的发送时间,根据当前时间和所述发送时间确定所述短信发送任务的任务延时;
29.所述关联模块,用于根据所述任务延时,将所述短信发送任务与任务时钟的时钟刻度建立关联关系,其中,基于哈希环生成所述任务时钟,所述任务时钟的时钟刻度与所述哈希环的虚拟节点对应;
30.所述执行模块,用于根据所述关联关系确定任务执行时刻,在所述任务执行时刻,执行所述短信发送任务。
31.第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的短信延时发送方法。
32.第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的短信延时发送方法。
33.与相关技术相比,在本实施例中提供的短信延时发送方法,通过获取短信发送任务的发送时间,根据当前时间和发送时间确定短信发送任务的任务延时,根据任务延时,将短信发送任务与任务时钟的时钟刻度建立关联关系,其中,基于哈希环生成任务时钟,任务时钟的时钟刻度与哈希环的虚拟节点对应,根据关联关系确定任务执行时刻,在任务执行时刻,执行短信发送任务,解决了在短信延时发送时依赖于系统的不断询问,导致任务执行过程过于繁琐以及成本较高的问题,实现了快捷高效的执行短信延时发送任务。
34.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
35.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
36.图1是本技术实施例的短信延时发送方法的终端的硬件结构框图;
37.图2是本技术实施例的短信延时发送方法的流程图;
38.图3是本技术实施例的任务时钟生成方法的流程图;
39.图4是本技术实施例的建立关联关系的流程图;
40.图5是本技术实施例的短信延时发送设备的结构框图。
具体实施方式
41.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
42.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
43.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的短信延时发送方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
44.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的短信延时发送方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
45.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信
供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
46.在本实施例中提供了一种短信延时发送方法,图2是本实施例的短信延时发送方法的流程图,如图2所示,该流程包括如下步骤:
47.步骤s201,获取短信发送任务的发送时间,根据当前时间和发送时间确定短信发送任务的任务延时;
48.在本实施例中,可确定短信发送任务的任务延时,任务延时可以根据任务的发送时间和当前时刻的时间之差来确定,任务的发送时间可以由人工进行设定。计算任务时间的工具可以为移动终端系统,也可以为计算机处理器。例如,预设的发送时间为2021-09-07的15:00通过系统获取的当前时间为2021-09-07的8:00则任务延时为7小时。
49.步骤s202,根据任务延时,将短信发送任务与任务时钟的时钟刻度建立关联关系,其中,基于哈希环生成任务时钟,任务时钟的时钟刻度与哈希环的虚拟节点对应;
50.其中时钟刻度对应于一个具体的时间点,哈希环为一个用于进行缓存管理的环,哈希环的生成过程为,假定有一个哈希函数,其值空间为0~2^32-1。也就是说,其哈希值是个32位无整型数字,这些数字组成一个环。对能够缓存或者进行任务处理的虚拟节点进行哈希,计算每个虚拟节点在环上的位置,则确定了一个包括多个虚拟节点的哈希环。
51.进一步地,在同时存在多个任务的情况下,多个任务可以对应到同一个任务时钟,且多个任务可以设置在同一个时钟刻度或者不同的时钟刻度,即不需要设置新的时钟。
52.步骤s203,根据关联关系确定任务执行时刻,在任务执行时刻,执行短信发送任务。
53.根据任务延时确定的关联关系将短信发送任务的发送时间对应到了任务时钟上,在根据任务延时确定关联关系之后,任务时钟开始进行和任务延时等长时间的倒计时,在倒计时结束的时刻,即为任务执行时刻。
54.通过上述步骤s201至步骤s203,本实施例可以通过任务时钟来实现短信发送任务的任务延时,避免了在短信延时发送时不断向系统进行询问所导致的任务执行过程过于繁琐和成本较高这一情况,从而解决了相关技术中依赖于不断向系统进行询问所导致的任务执行过程过于繁琐和成本较高的问题,简化了短信发送任务的执行过程,降低了短信发送任务的成本。
55.在其中的一些实施例中,图3是本技术实施例的任务时钟生成方法的流程图,如图3所示,该方法包括如下步骤:
56.步骤s301,确定任务时钟所需的哈希环的数量;
57.在本实施例中,任务时钟的时钟刻度可以对应于包括时、分、秒的时间点,处理器可根据任务延时的具体时间确定时哈希环、分哈希环以及秒哈希环的需求。例如,若短信发送任务的任务延时为10分钟时,则所需配置的哈希环为分哈希环和秒哈希环这两个哈希环,时哈希环在整个任务过程中不发挥作用,因此也可以不需要时哈希环,若任务延时为1800分钟时,则需配置分别对应于日、时、分、秒的哈希环。
58.步骤s302,对每个哈希环,等间隔设置哈希环的虚拟节点;
59.由于时钟上时分秒的计时是均匀的,所以为实现时钟功能,哈希环上各个虚拟节点之间的间隔也需要相同。进一步地,在确定好虚拟节点之后每个哈希环上将不再插入其他节点,短信发送任务的数量不会影响节点的数量。
60.步骤s303,将哈希环连接得到任务时钟。
61.在本实施例中,在设置好哈希环的虚拟节点后,将各个哈希环进行连接即可确定任务时钟。在其他实施例中,每个哈希环上存在虚拟指针,该虚拟指针所发挥的作用与日常时钟上的时针、分针、秒针相同。进一步地,任务时钟的运行过程也类似于日常时钟,例如,当秒针指针走完了一圈发现并未完成任务延时的情况下,则上层分哈希环的分针指针将前进一个节点,此时秒针指针开始新一轮的行走;同样的若分针指针走完一圈发现还有剩余任务延时未完成时,则上层时哈希环的虚拟指针将前进一个节点,然后再回到秒哈希环进行计时。
62.在其他实施例中,秒针计时的具体实现方案如下,通过程序设置秒针指针向前进一个刻度,然后暂停一秒钟,继续向前进一个刻度,如此循环,实现秒针指针的前进,其中,“暂停一秒”为模拟秒钟运行的时候间隔1秒。“暂停一秒”的实现方式可以为,在c 中,可以通过sleep(1000)函数实现计时,同时在js、java、python等语言中也存在类似的计时函数。
63.通过上述步骤s301至步骤s303,本实施例可以通过哈希环来生成任务时钟,任务时钟可用于确定执行短信发送任务的执行时刻。任务时钟的生成避免了反复像系统询问任务执行时刻,简化了短信发送任务延时发送的过程,同时也减轻了处理器的运行负担。
64.在其中的一些实施例中,等间隔设置的哈希环的虚拟节点包括:在拥有多个哈希环的情况下,多个哈希环分别对应于不同的时间单位,虚拟节点之间的间隔与哈希环的时间单位对应。例如,在设置秒哈希环和分哈希环时可将哈希环分成六十等分,在设置时哈希环时可将哈希环分为十二等分。在本实施例中,通过虚拟节点之间的间隔与哈希环时间单位的对应可以提高任务时钟的准确性,利用日常时钟的原理来设定哈希环的虚拟节点也简化了任务时钟的设置过程。
65.在其中的一些实施例中,在执行短信发送任务时,任务时钟的各虚拟指针以所属的时间单位运行,以确定任务时钟的时刻,然后在任务时钟的时刻与所述任务执行时刻一致时,执行所述短信发送任务。例如,某个短信发送任务的任务延时确定后,根据任务延时的时长来确定短信发送任务的任务执行时刻,任务时钟的各个哈希环的虚拟指针按照所属的时间单位运行,直至到达执行时刻,在执行时刻将发送该短信。进一步地,秒哈希环的虚拟指针的所属时间单位对应于日常时钟中的秒针的时间单位,类似地,分哈希环的虚拟指针与分针对应,时哈希环的虚拟指针与时针对应。在本实施例中,通过任务时钟作为定时器来实现短信发送任务的延迟发送,避免了不断向系统询问确定短信发送任务的确切时刻,大大简化了短息发送任务的执行过程,提高了工作效率。
66.在其中的一些实施例中,图4是本技术实施例的建立短信发送任务与任务时钟的时钟刻度关联关系的流程图,如图4所示,该方法包括如下步骤:
67.步骤s401,根据短信发送任务的编号进行哈希计算,得到短信发送任务的哈希值;
68.在本实施例中,需对短信发送任务进行编号,然后根据该编号进行哈希计算得到短信发送任务相对应的哈希值。
69.哈希计算具体为,通过一定的哈希算法,例如md5,sha-1等,将一段较大数据映射
为较短小的数据,该小数据即为大数据的哈希值。经哈希计算得到的哈希值是唯一的,且一旦大数据发生了变化其哈希值也会随之发生变化。进一步地,每个数据经哈希计算所得的哈希值都是不同的,即没有两个数据的哈希值是完全相同的。
70.步骤s402,根据任务延时,将哈希值存储在哈希环的虚拟节点;
71.在本实施例中,需要根据短信发送任务的任务延时,将短信发送任务对应的哈希值存储到于其任务延时相对应的虚拟节点之中。将哈希值存储至虚拟节点中,有利于减小短信发送任务所占据的运行内存,减轻了处理器的存储负担。
72.步骤s403,根据时钟刻度与虚拟节点之间的对应关系确定关联关系。
73.在本实施例中,时钟刻度与虚拟节点为一一对应的关系,将短信发送任务对应的哈希值存入一个虚拟节点之后即建立了短信发送任务和虚拟节点之间的联系,再根据时钟刻度与虚拟节点之间的对应关系即可确定短信发送任务与任务时钟的时钟刻度之间的关系。
74.通过上述步骤s401至步骤s403,本实施例可以在任务时钟上确定短信发送任务的具体执行时刻,从而可以由任务时钟进一步的确定在任务执行时刻的执行操作,化简了任务执行步骤,通知建立短信发送任务和任务时钟的时钟刻度的联系也提高了短信发送任务内容的准确性,减少了误发短信的概率。
75.在其中的一些实施例中,在任务执行时刻,执行短信发送任务时先获取任务时钟在发送时间触发的任务执行命令,再根据任务执行命令执行短信发送任务。在本实施例中,任务时钟可在任务执行时刻触发控制器发布任务执行命令,在获取到任务执行命令的情况下,执行短信发送任务,可提高短信发送任务在执行过程中的时间准确度。
76.在其中的一些实施例中,短信发送任务中的多个子任务分配至多个线程进行执行。在任务时钟上设置任务的过程中,一个时间点多个任务但并不会冲突。多个任务在同一时间的链表上,因此取出任务之后用多线程处理且不会有等待时间。例如,任务时钟的时间刻度到达任务设置的时间点之后,将数据写入消息队列,然后设置多线程进行任务处理。多线程任务可由go语言编写,在任务执行时,需要对任务数据进行哈希取模以实现数据均分并将数据结构进行存储。其中,数据均分的实现过程如下,假设目前有100个任务对应编号是1-100,此时设有10个线程,那么第一个任务编号是1,1模除以10余数为1,那么该任务即可分配至第一个线程,同理将其他任务编号也进行取模除以10再取余,余数相同的任务分配至同一个线程,即可实现数据均分。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,通过数据结构实现短信发送任务可带来更高的运行或者存储效率。在本实施例中,通过多线程处理来实现多个子任务的任务执行加快可任务处理的速度,避免了同一时间点的多个任务因执行冲突造成的发送时间不准确的问题。
77.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
78.本实施例还提供了一种短信延时发送设备,该设备用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
79.图5是本技术实施例的短信延时发送设备的结构框图,如图5所示,该设备包括:确定模块51、关联模块52和执行模块53:
80.确定模块51,用于获取短信发送任务的发送时间,根据当前时间和发送时间确定短信发送任务的任务延时;
81.关联模块52,用于根据任务延时,将短信发送任务与任务时钟的时钟刻度建立关联关系,其中,基于哈希环生成任务时钟,任务时钟的时钟刻度与哈希环的虚拟节点对应;
82.执行模块53,用于根据关联关系确定任务执行时刻,在任务执行时刻,执行短信发送任务。
83.通过上述短信延时发送的设备,本实施例可以通过确定模块51确定短信发送任务的任务延时,关联模块建立了短信发送任务与任务时钟的时钟刻度的关联关系,最后由执行模块53根据关联关系确定任务执行时刻,在任务时钟的时钟时刻到达任务执行时刻时触发任务执行命令,再根据任务执行命令执行短信发送任务。从而解决了短信延时发送时依赖于系统的不断询问,导致任务执行过程过于繁琐以及成本较高这一问题,实现了快捷高效的执行短信延时发送任务。
84.进一步地,关联模块52还用于确定任务时钟所需的哈希环的数量;针对每个哈希环,等间隔设置哈希环的虚拟节点;最后将哈希环连接到任务时钟。
85.进一步地,关联模块52还用于在有多个哈希环的情况下,多个哈希环可分别对应于不同的时间单位,虚拟节点之间的间隔与哈希环的时间单位对应。
86.进一步地,执行模块53还用于令任务时钟的各虚拟指针以所属的时间单位运行,以确定任务时钟的时刻;在任务时钟的时刻与任务执行时刻一致时,执行短信发送任务。
87.进一步地,关联模块52还用于根据短信发送任务的编号进行哈希计算,得到该短信发送任务的哈希值;然后根据任务延时,将上述哈希值存储在对应的哈希环的虚拟节点;最后根据任务时钟的时钟刻度与虚拟节点之间的对应关系确定关联关系。
88.进一步地,执行模块53还用于获取任务时钟在发送时间触发的任务执行命令,再根据任务执行命令执行所述短信发送任务。
89.进一步地,在短信发送任务还存在多个子任务时,执行模块53还用于将短信发送任务中的多个子任务分配至多个线程进行执行。
90.进一步地,短信延时发送的设备还包括存储模块,存储模块用于暂存短信发送任务的具体内容。
91.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
92.在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
93.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
94.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
95.s1,获取短信发送任务的发送时间,根据当前时间和发送时间确定短信发送任务
的任务延时;
96.s2,根据任务延时,将短信发送任务与任务时钟的时钟刻度建立关联关系,其中,基于哈希环生成任务时钟,任务时钟的时钟刻度与哈希环的虚拟节点对应;
97.s3,根据关联关系确定任务执行时刻,在任务执行时刻,执行短信发送任务。
98.需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
99.此外,结合上述实施例中提供的短信延时发送方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种短信延时发送方法。
100.应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
101.显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0102]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0103]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献