基于有序集合的数据重发方法、电子设备及存储介质技术

技术编号:19023178 阅读:28 留言:0更新日期:2018-09-26 19:00
本发明专利技术公开了一种基于有序集合的数据重发方法、电子设备及存储介质,其中,基于有序集合的数据重发方法包括:执行待执行数据,判断待执行数据是否执行成功;若否,则获取当前时间戳,并更新与待执行数据对应的重发次数;依据当前时间戳、重发次数以及待执行数据,得到与待执行数据对应的数据元素,将数据元素添加至有序集合中;对有序集合中数据元素对应的待执行数据进行重发处理。根据本发明专利技术提供的技术方案,通过有序集合实现了对需要重发处理的待执行数据的有效管理,不仅有助于确保数据执行成功,而且减少了数据重发处理对系统资源的占用。

【技术实现步骤摘要】
基于有序集合的数据重发方法、电子设备及存储介质
本专利技术涉及数据处理
,具体涉及一种基于有序集合的数据重发方法、电子设备及存储介质。
技术介绍
目前对于需要通过调用第三方数据接口或者其他数据接口等来执行的数据,在数据执行过程中有可能会因为各种原因而执行失败,这些原因可能是网络断开、对应的数据接口故障或者对应的服务器宕机等。现有技术中大多采用以下两种方式对执行失败的数据进行重发处理。其中,第一种方式是将执行失败的数据再重发一次,如果重发后的数据再次执行失败,也不进行第二次重发,这种方式无法确保数据最终执行成功。第二种方式是将执行失败的数据进行无限次重发,虽然第二种方式与第一种方式相比,有助于确保数据执行成功,但是却需要占用大量的系统资源。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的基于有序集合的数据重发方法、电子设备及存储介质。根据本专利技术的一个方面,提供了一种基于有序集合的数据重发方法,该方法包括:执行待执行数据,判断待执行数据是否执行成功;若否,则获取当前时间戳,并更新与待执行数据对应的重发次数;依据当前时间戳、重发次数以及待执行数据,得到与待执行数据对应的数据元素,将数据元素添加至有序集合中;对有序集合中数据元素对应的待执行数据进行重发处理。根据本专利技术的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:执行待执行数据,判断待执行数据是否执行成功;若否,则获取当前时间戳,并更新与待执行数据对应的重发次数;依据当前时间戳、重发次数以及待执行数据,得到与待执行数据对应的数据元素,将数据元素添加至有序集合中;对有序集合中数据元素对应的待执行数据进行重发处理。根据本专利技术的又一方面,提供了一种存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行以下操作:执行待执行数据,判断待执行数据是否执行成功;若否,则获取当前时间戳,并更新与待执行数据对应的重发次数;依据当前时间戳、重发次数以及待执行数据,得到与待执行数据对应的数据元素,将数据元素添加至有序集合中;对有序集合中数据元素对应的待执行数据进行重发处理。利用本专利技术提供的技术方案,在待执行数据执行失败的情况下,能够依据当前时间戳、重发次数以及待执行数据,得到与待执行数据对应的数据元素,将数据元素添加至有序集合中,通过有序集合实现对需要重发处理的待执行数据的有效管理,若待执行数据一直未执行成功,则需不断地进行重发处理,一旦执行成功,则自动地终止重发处理,该技术方案不仅有助于确保数据执行成功,而且减少了数据重发处理对系统资源的占用,优化了数据重发处理方式。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术实施例一的一种基于有序集合的数据重发方法的流程示意图;图2示出了根据本专利技术实施例二的一种基于有序集合的数据重发方法的流程示意图;图3示出了根据本专利技术实施例四的一种电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。实施例一图1示出了根据本专利技术实施例一的一种基于有序集合的数据重发方法的流程示意图,如图1所示,该方法包括如下步骤:步骤S101,执行待执行数据。其中,待执行数据是指需要通过调用第三方数据接口或者其他数据接口来执行的数据,例如需要通过调用第三方数据接口向用户终端下发短信或者需要通过调用第三方数据接口为用户账户进行充值等。具体地,在步骤S101中,可调用与待执行数据对应的数据接口,执行待执行数据。步骤S102,判断待执行数据是否执行成功;若是,则该方法结束;若否,则执行步骤S103。在执行待执行数据的过程中,可能会由于网络断开、对应的数据接口故障或者对应的服务器宕机等原因而导致待执行数据执行失败,因此还需判断待执行数据是否执行成功。如果判断得到待执行数据执行成功,那么无需对该待执行数据进行重发处理,则该方法结束;如果判断得到待执行数据执行失败,说明需要对该待执行数据进行重发处理,则执行步骤S103。步骤S103,获取当前时间戳,并更新与待执行数据对应的重发次数。为了有效地对数据重发进行管理,在本专利技术中,为待执行数据设置了对应的重发次数,可用retrynumber表示,并将其初始值设置为0,那么在判断得到待执行数据执行失败的情况下,获取当前时间戳,并将retrynumber赋值为retrynumber+1,从而得到更新后的重发次数。例如,对于某个待执行数据,假设与该待执行数据对应的原有的retrynumber为0,若经步骤S102判断得到该待执行数据执行失败,则在步骤S103中,获取当前时间戳,并将retrynumber赋值为retrynumber+1,得到更新后的retrynumber为1,说明该待执行数据需要进行第一次重发处理;假设与该待执行数据对应的原有的retrynumber为3,若经步骤S102判断得到该待执行数据执行失败,则在步骤S103中,获取当前时间戳,并将retrynumber赋值为retrynumber+1,得到更新后的retrynumber为4,说明该待执行数据需要进行第四次重发处理。步骤S104,依据当前时间戳、重发次数以及待执行数据,得到与待执行数据对应的数据元素,将数据元素添加至有序集合中。Redis数据库不仅能够支持简单的数据键值对形式的数据的存储,同时还能够支持列表(list),哈希(hash)、集合(set)以及有序集合(zset)等数据类型的存储。在本专利技术中,通过Redis数据库中的有序集合对需要重发处理的待执行数据进行管理。具体地,可根据当前时间戳和重发次数,确定重发时间戳,将所确定的重发时间戳作为分数(score),并将待执行数据和重发次数作为分数对应的数据值(value),构造得到zset的数据元素,然后将该数据元素添加至zset中。步骤S105,对有序集合中数据元素对应的待执行数据进行重发处理。具体地,在将与待执行数据对应的数据元素添加至有序集合中之后,可根据数据元素的分数,对有序集合中数据元素对应的待执行数据进行重发处理。在进行重发处理后,还需执行步骤S102,判断该待执行数据是否执行成功。如果执行成功,则该方法结束;如果执行失败,则继续依次执行步骤S103至步骤S105。也就是说,若待执行数据一直未执行成功,则按照本方法不断地进行重发处理,一旦执行成功,则自动地终止重发处理。利用本实施例提供的本文档来自技高网...

【技术保护点】
1.一种基于有序集合的数据重发方法,包括:执行待执行数据,判断所述待执行数据是否执行成功;若否,则获取当前时间戳,并更新与所述待执行数据对应的重发次数;依据所述当前时间戳、所述重发次数以及所述待执行数据,得到与所述待执行数据对应的数据元素,将所述数据元素添加至有序集合中;对所述有序集合中数据元素对应的待执行数据进行重发处理。

【技术特征摘要】
1.一种基于有序集合的数据重发方法,包括:执行待执行数据,判断所述待执行数据是否执行成功;若否,则获取当前时间戳,并更新与所述待执行数据对应的重发次数;依据所述当前时间戳、所述重发次数以及所述待执行数据,得到与所述待执行数据对应的数据元素,将所述数据元素添加至有序集合中;对所述有序集合中数据元素对应的待执行数据进行重发处理。2.根据权利要求1所述的方法,所述获取当前时间戳进一步包括:获取当前时间,将所获取的当前时间与预设基准时间进行相减处理,得到毫秒级别的当前时间戳。3.根据权利要求1或2所述的方法,所述依据所述当前时间戳、所述重发次数以及所述待执行数据,得到与所述待执行数据对应的数据元素,将所述数据元素添加至有序集合中进一步包括:根据所述重发次数,确定重发间隔时间;根据所述当前时间戳和所述重发间隔时间,计算得到重发时间戳;将所述重发时间戳作为分数,将所述待执行数据和所述重发次数作为所述分数对应的数据值,得到与所述待执行数据对应的键值对形式的数据元素,并将所述数据元素添加至所述有序集合中。4.根据权利要求3所述的方法,所述根据所述重发次数,确定重发间隔时间进一步包括:从预设间隔时间队列中查询与所述重发次数对应的重发间隔时间。5.根据权利要求3或4所述的方法,所述重发次数与所述重发间隔时间具有单调递增关系。6.根据权利要求3-5任一项所述的方法,所述根据所述当前时间戳和所述重发间隔时间,计算得到重发时间戳进一步包括:将所述当前时间戳对应的数值与所述重发间隔时间对应的数值进行相加处理,计算得到重发时间戳。7.根据权利...

【专利技术属性】
技术研发人员:杨奕王振翼
申请(专利权)人:掌阅科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1