CN109766349A - 任务防重方法、装置、计算机设备及存储介质 - Google Patents

任务防重方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109766349A
CN109766349A CN201811528669.2A CN201811528669A CN109766349A CN 109766349 A CN109766349 A CN 109766349A CN 201811528669 A CN201811528669 A CN 201811528669A CN 109766349 A CN109766349 A CN 109766349A
Authority
CN
China
Prior art keywords
timestamp
time
preset threshold
update
difference
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.)
Granted
Application number
CN201811528669.2A
Other languages
English (en)
Other versions
CN109766349B (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.)
Shenzhen Jingce Technology Co ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201811528669.2A priority Critical patent/CN109766349B/zh
Publication of CN109766349A publication Critical patent/CN109766349A/zh
Application granted granted Critical
Publication of CN109766349B publication Critical patent/CN109766349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及云存储领域,公开了一种基于时间戳的任务防重方法、装置、计算机设备及存储介质,其方法包括:接收对数据库中用于存储数据的指定表的更新请求;获取根据所述当前系统时间计算当前系统的时间戳;计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。本发明提供的基于时间戳的任务防重方法,具有数据库乐观锁特性,数据处理效率非常高;同时基于秒级时间戳的锁方式,可以保证在预设阈值的时间内,任务不会被重复执行;该方法可在SQL层运行,不依赖于具体任务,实现简单。

Description

任务防重方法、装置、计算机设备及存储介质
技术领域
本发明涉及云存储领域,尤其涉及一种基于时间戳的任务防重方法、装置、计算机设备及存储介质。
背景技术
在多用户环境中,数据库的同一个数据在同一时间可能会有多个用户更新相同的记录,这会产生冲突。现有的解决方式是,使用自增长的整数表示数据版本号,更新时检查版本号是否一致。比如数据库中数据版本为6,更新提交时version=6+1,使用该version值(=7)与数据库version+1(=7)作比较,如果相等,则可以更新,如果不相等则有可能其他程序已更新该记录,此时返回错误。在另一种情况下,采用过期时间比较的方式,但在同一时刻查询时,更新时候没有做时间版本号判断,会导致前一个更新时间覆盖后一个更新时间,而导致被执行2次。
发明内容
基于此,有必要针对上述技术问题,提供一种基于时间戳的任务防重方法、装置、计算机设备及存储介质,以解决数据库在更新数据时出现的任务重复问题。
一种基于时间戳的任务防重方法,包括:
接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数;
获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳;
计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;
在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
一种基于时间戳的任务防重装置,包括:
接收请求模块,用于接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数;
获取时间戳模块,用于获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳;
检测模块,用于计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;
更新模块,用于在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于时间戳的任务防重方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于时间戳的任务防重方法的步骤。
上述基于时间戳的任务防重方法、装置、计算机设备及存储介质,接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数,数据库接收到对指定表的更新任务。获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳,计算十分简便,计算占用的系统资源非常少,计算速度快。计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值,以确定在预设阈值的时间内是否存在重复针对指定表的任务执行。在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳,以便于在同一预设阈值的时间内没有在先的任务时,则对指定表进行更新,同时限制了其他更新任务在预设阈值的时间内不能对指定表进行更新,保证了在预设阈值的时间内指定表只执行一次更新操作。本发明提供的基于时间戳的任务防重方法,具有数据库乐观锁特性,数据处理效率非常高;同时基于秒级时间戳的锁方式,可以保证在预设阈值的时间内,任务不会被重复执行;该方法可在SQL层运行,不依赖于具体任务,实现简单。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于时间戳的任务防重方法的一应用环境示意图;
图2是本发明一实施例中基于时间戳的任务防重方法的一流程示意图;
图3是本发明一实施例中基于时间戳的任务防重方法的一流程示意图;
图4是本发明一实施例中基于时间戳的任务防重方法的一流程示意图;
图5是本发明一实施例中基于时间戳的任务防重方法的一流程示意图;
图6是本发明一实施例中基于时间戳的任务防重方法的一流程示意图;
图7是本发明一实施例中基于时间戳的任务防重装置的一结构示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的基于时间戳的任务防重方法,可应用在如图1的应用环境中,其中,终端设备通过网络与服务端进行通信。其中,终端设备包括不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于时间戳的任务防重方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10、接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数。
本实施例中,指定表指的是数据库中的用于存储数据的表。数据库是一种存储数据的仓库,其本质是一个文件系统,其存储的数据按照特定的格式存储。数据库中以表为组织单位存储数据。数据库中包括了多个表。数据库存储于服务端。更新请求包含待更新参数,可以根据待更新参数对指定表中的数据进行更新。对指定表中的数据进行更新涉及的操作包括但不限增加数据,修改数据,删除数据及查询数据操作。在此处,更新请求可以来自本地的终端设备,也可以来自远程终端的终端设备。
S20、获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳。
本实施例中,时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。格林威治时间1970年01月01日00时00分00秒相当于北京时间1970年01月01日08时00分00秒。可理解地,所述指定表设置有时间戳,该时间戳为上一次所述指定表中的内容发生更新时,与发生更新的时间所对应的时间戳。例如,指定表最近一次发生更新的时间为北京时间2018年08月20号09时00分00秒,则指定表的时间戳为1534726800。当前系统的时间戳指的是根据当前系统时间计算出来的时间戳。在以北京时间为时区或者时区与北京时间相同的区域,当前系统的时间戳可以表示为:(SYSDATE-TO_DATE('1970-1-1 8','YYYY-MM-DD HH24'))*86400。具体为,当前系统时间为2018年08月20日10时00分00秒,则当前的时间戳为1534730400。
S30、计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值。
本实施例中,可以创建一数据库锁,表名设置为TAB_LOCK,用于记录指定表的时间戳。可以参照如表1所示的结构设计,对数据库锁进行设置。
表1数据库锁的结构设计
字段 类型 约束 说明
lock_name varchar(100) 唯一索引 锁名
ts_version number(18) 以时间戳表示的版本号
表1中,数据库锁至少包括两个字段。第一字段用于记录锁名,如表中的lock_name”。用户也可以根据自己的需要自定义锁名。第一字段的类型为“varchar(100)”,表示第一字段可以存储长度100字符以内的字符串。第一字段为唯一索引,在表中可以区分不同的锁,每个锁有唯一的名称。第二字段用于记录以时间戳表示的版本号,如表中的“ts_version”。第二字段的类型为number(18),表示第二字段可以存储最大长度为18位的数字。第二字段不是主键值,因而没有唯一索引约束。在指定表发生更新操作时,可生成指定表的时间戳。计算当前系统的时间戳与指定表的时间戳的差值,具体的操作为两个时间戳相减,获得差值。例如,当前系统的时间戳为1534730400,指定表的时间戳为1534730300,则计算当前系统的时间戳与指定表的时间戳的差值为100。
预设阈值可以是一个固定的值,如由系统管理员按照表的类型进行设置,可以设置为30、60或者其他数值。可通过计算当前系统的时间戳与第二字段的时间戳的差值,然后将差值与预设阈值进行比较,来实现数据库锁的功能。
S40、在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
在当前系统的时间戳与指定表的时间戳的差值大于预设阈值时,则按照更新请求对指定表进行更新。具体为,指定表还包括其他多个字段的数据,此时,可根据更新请求中包含的数据对指定表中的数据进行更新。
在执行更新操作的同时,对指定表的时间戳的值进行更新,并将指定表的时间戳的值设置为所述当前系统的时间戳的值。例如,在一指定表中,t.ts_version为指定表的时间戳,预设阈值设置为60。在当前系统的时间戳与指定表的时间戳的差值大于60时,将当前系统的时间戳赋予给指定表的时间戳。例如,t.ts_version=1534732300,当前系统时间为北京时间2018年8月20日14点00分00秒,经计算可获得当前系统的时间戳为1534744800,则当前系统的时间戳与指定表的时间戳的差值为:1534744800-1534732300=125000,该差值大于预设阈值60,即125000>60,然后更新指定表的时间戳,即t.ts_version=1534744800。
步骤S10-S40中,接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数,数据库接收到对指定表的更新任务。获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳,计算十分简便,计算占用的系统资源非常少,计算速度快。计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值,以确定在预设阈值的时间内是否存在重复针对指定表的任务执行。在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳,以便于在同一预设阈值的时间内没有在先的任务时,则对指定表进行更新,同时限制了其他更新任务在预设阈值的时间内不能对指定表进行更新,保证了在预设阈值的时间内指定表只执行一次更新操作。本实施例提供的基于时间戳的任务防重方法,具有数据库乐观锁特性,数据处理效率非常高;同时基于秒级时间戳的锁方式,可以保证在预设阈值的时间内,任务不会被重复执行;该方法可在SQL层运行,不依赖于具体任务,实现简单。
可选的,如图3所示,步骤S30之后,还包括:
S41、在所述差值小于或等于预设阈值时,结束所述更新请求。
本实施例中,在当前系统的时间戳与指定表的时间戳的差值小于或等于预设阈值时,说明此时在预设阈值范围内,已经存在另一个更新请求,数据库将结束当前的更新请求,防止任务重复执行。例如,有两个定时的更新请求,分别为第一更新请求和第二更新请求,两个更新请求的发送时间完全一样,同样设置为12:00。T1时刻,数据库同时接收到两个更新请求。T2时刻,第一更新请求所占用的第一线程计算第一线程的时间戳与指定表的时间戳的差值,由于第一线程的时间戳与指定表的时间戳的差值大于预设阈值,所以服务器根据第一更新请求进行更新操作,同时将指定表的时间戳更新为第一线程的时间戳。T3时刻,第二更新请求所占用的第二线程计算第一线程的时间戳与指定表的时间戳的差值,由于第二线程的时间戳与指定表的时间戳(即第一线程的时间戳)的差值为0,小于预设阈值,所以服务器拒绝第二更新请求,不进行更新操作,同时指定表的时间戳没有发生变化,依然为第一线程的时间戳。在实际的运行过程中,可以是第一线程先对指定表的时间戳进行更新,也可以是第二线程先对指定表的时间戳进行更新。换句话说就是,随机执行第一线程或第二线程,然后结束未执行的另一线程。
在时间长度为预设阈值的时间内,指定表的时间戳只能进行一个更新操作,若同时出现另一更新操作,则同时出现的另一更新操作将被结束,这样可以防止出现更新操作重复执行的问题。
可选的,如图4所示,步骤S30之前,还包括:
S301、获取当前的系统资源消耗情况;
S302、根据所述系统资源消耗情况计算执行所述更新请求对应的更新操作的第一预估执行时间,所述系统资源消耗与所述第一预估执行时间成正比;
S303、根据所述第一预估执行时间确定所述预设阈值,所述预设阈值大于所述第一预估执行时间。
本实施例中,还可以根据数据库的系统资源消耗情况来确定对指定表更新的预设阈值。系统资源消耗情况指的是数据库所在服务器的系统运行情况,可以是CPU使用率、磁盘I/O参数、内存I/O参数、网络I/O参数等。第一预估执行时间是预计执行所述更新请求对应的更新操作的时长。预设阈值大于第一预估执行时间。例如,数据库在有大量数据读写时,指定表的更新速度较慢,第一预估执行时间较长,为了保证指定表有足够的时间进行更新操作,预设阈值可以设置为一个较大的数,如70,也就是说70秒内,该表仅允许一次更新操作;数据库没有大量数据读写时,指定表的更新速度较快,第一预估执行时间较短,为了减少指定表的更新等待时间,预设阈值可以设置为一个较小的数,如30,也就是说在一次更新操作的30秒之后,可以再次执行更新操作。
步骤S301-S303中,获取当前的系统资源消耗情况,以获知当前数据库所在的服务端的数据处理能力,保证对指定表的更新操作与服务端的数据处理能力匹配,防止出错。根据所述系统资源消耗情况计算执行所述更新请求对应的更新操作的第一预估执行时间,所述系统资源消耗与所述第一预估执行时间成正比,系统资源消耗情况可以反映当前服务端的系统资源分配,系统资源消耗越小,指定表的更新操作越快,第一预估执行时间可以设置小一些,系统资源消耗越大,指定表的更新操作越慢,第一预估执行时间可以设置大一些。根据所述第一预估执行时间确定所述预设阈值,所述预设阈值大于所述第一预估执行时间,预设阈值可以自动调节,在系统资源消耗较小的时候,缩短预设阈值,提高指定表的可更新频率,在系统资源消耗较大的时候,增加预设阈值,减少指定表更新的出错率。
可选的,如图5所示,步骤S30之前,还包括:
S304、获取所述更新请求对应的用户标识;
S305、根据所述用户标识计算执行所述更新请求对应的更新操作的第二预估执行时间,不同用户标识的所述更新请求对应的更新操作涉及的字段数量不同;
S306、根据所述第二预估执行时间确定所述预设阈值,所述预设阈值大于所述第二预估执行时间。
本实施例中,还可以根据发送更新请求的用户标识来确定对指定表更新的预设阈值。例如,有一些用户,其所要执行的更新操作仅针对少数字段的修改,指定表的更新速度较快,第二预估执行时间较短,为了减少指定表的更新等待时间,预设阈值可以设置为一个较小的数,如20,也就是说在一次更新操作的20秒之后,可以再次执行更新操作。而另一些用户,其所要执行的更新操作是针对大量字段的修改,指定表的更新速度较慢,第二预估执行时间较长,为了保证指定表有足够的时间进行更新操作,预设阈值可以设置为一个较大的数,如80,也就是说80秒内,该表仅允许一次更新操作。
步骤S304-S306中,获取所述更新请求对应的用户标识,服务端可以根据用户标识预测更新操作的工作量,以匹配不同用户的更新需求。根据所述用户标识计算执行所述更新请求对应的更新操作的第二预估执行时间,不同用户标识的所述更新请求对应的更新操作涉及的字段数量不同,不同用户标识所对应的用户有不同的操作习惯,可以根据用户操作习惯的特点计算第二预估执行时间。根据所述第二预估执行时间确定所述预设阈值,所述预设阈值大于所述第二预估执行时间,预设阈值可以根据用户标识自动调节,在第二预估执行时间较小的时候,缩短预设阈值,提高指定表的可更新频率,在第二预估执行时间较大的时候,增加预设阈值,减少指定表更新的出错率。
可选的,如图6所示,所述在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新之前,还包括:
S307、计算所述更新请求的字节数;
S308、根据所述字节数计算执行所述更新请求对应的更新操作的第三预估执行时间,所述更新请求的字节数与所述第三预估执行时间成正比;
S309、根据所述第三预估执行时间确定所述预设阈值,所述预设阈值大于所述第三预估执行时间。
本实施例中,还可以根据发送更新请求的字节数来确定对指定表更新的预设阈值。例如,更新请求的字节数较少,其所要执行的更新操作仅针对少数字段的修改,指定表的更新速度较快,第三预估执行时间较短,为了减少指定表的更新等待时间,预设阈值可以设置为一个较小的数,如25,也就是说在一次更新操作的25秒之后,可以再次执行更新操作。更新请求的字节数较多,其所要执行的更新操作是针对较多字段的修改,指定表的更新速度较慢,第三预估执行时间较长,为了保证指定表有足够的时间进行更新操作,预设阈值可以设置为一个较大的数,如65,也就是说65秒内,该指定表仅允许一次更新操作。
步骤S307-S309中,计算所述更新请求的字节数,根据更新请求的字节数确定更新操作的任务量,计算简便。根据所述字节数计算执行所述更新请求对应的更新操作的第三预估执行时间,所述更新请求的字节数与所述第三预估执行时间成正比,利用字节数与执行时间的对应关系计算第三预估执行时间,计算速度快。根据所述第三预估执行时间确定所述预设阈值,所述预设阈值大于所述第三预估执行时间,预设阈值可以自动调节,在第三预估执行时间较小的时候,缩短预设阈值,提高指定表的可更新频率,在第三预估执行时间较大的时候,增加预设阈值,减少指定表更新的出错率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于时间戳的任务防重装置,该基于时间戳的任务防重装置与上述实施例中基于时间戳的任务防重方法一一对应。如图7所示,该基于时间戳的任务防重装置包括接收请求模块10、获取时间戳模块20、检测模块30和更新模块40。各功能模块详细说明如下:
接收请求模块10,用于接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数;
获取时间戳模块20,用于获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳;
检测模块30,用于计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;
更新模块40,用于在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
本实施例提供的基于时间戳的任务防重装置,具有数据库乐观锁特性,数据处理效率非常高;同时基于秒级时间戳的锁方式,可以保证在预设阈值的时间内,任务不会被重复执行;该方法可在SQL层运行,不依赖于具体任务,实现简单。
可选的,基于时间戳的任务防重装置还包括:
结束模块,用于在所述差值小于或等于预设阈值时,结束所述更新请求。
可选的,基于时间戳的任务防重装置还包括:
获取资源消耗模块,用于获取当前的系统资源消耗情况;
第一时间模块,用于根据所述系统资源消耗情况计算执行所述更新请求对应的更新操作的第一预估执行时间,所述系统资源消耗与所述第一预估执行时间成正比;
第一确定阈值模块,用于根据所述第一预估执行时间确定所述预设阈值,所述预设阈值大于所述第一预估执行时间。
可选的,基于时间戳的任务防重装置还包括:
标识获取模块,用于获取所述更新请求对应的用户标识;
第二时间模块,用于根据所述用户标识计算执行所述更新请求对应的更新操作的第二预估执行时间,不同用户标识的所述更新请求对应的更新操作涉及的字段数量不同;
第二确定阈值模块,用于根据所述第二预估执行时间确定所述预设阈值。
可选的,基于时间戳的任务防重装置还包括:
计算字节数模块,用于计算所述更新请求的字节数;
第三时间模块,用于根据所述字节数计算执行所述更新请求对应的更新操作的第三预估执行时间,所述更新请求的字节数与所述第三预估执行时间成正比;
第三确定阈值模块,用于根据所述第三预估执行时间确定所述预设阈值,所述预设阈值大于所述第三预估执行时间。
关于基于时间戳的任务防重装置的具体限定可以参见上文中对于基于时间戳的任务防重方法的限定,在此不再赘述。上述基于时间戳的任务防重装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于时间戳的任务防重方法涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于时间戳的任务防重方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数;
获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳;
计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;
在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数;
获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳;
计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;
在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于时间戳的任务防重方法,其特征在于,包括:
接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数;
获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳;
计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;
在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
2.如权利要求1所述的基于时间戳的任务防重方法,其特征在于,所述计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值之后,还包括:
在所述差值小于或等于预设阈值时,结束所述更新请求。
3.如权利要求1所述的基于时间戳的任务防重方法,其特征在于,所述在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新之前,还包括:
获取当前的系统资源消耗情况;
根据所述系统资源消耗情况计算执行所述更新请求对应的更新操作的第一预估执行时间,所述系统资源消耗与所述第一预估执行时间成正比;
根据所述第一预估执行时间确定所述预设阈值,所述预设阈值大于所述第一预估执行时间。
4.如权利要求1所述的基于时间戳的任务防重方法,其特征在于,所述在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新之前,还包括:
获取所述更新请求对应的用户标识;
根据所述用户标识计算执行所述更新请求对应的更新操作的第二预估执行时间,不同用户标识的所述更新请求对应的更新操作涉及的字段数量不同;
根据所述第二预估执行时间确定所述预设阈值,所述预设阈值大于所述第二预估执行时间。
5.如权利要求1所述的基于时间戳的任务防重方法,其特征在于,所述在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新之前,还包括:
计算所述更新请求的字节数;
根据所述字节数计算执行所述更新请求对应的更新操作的第三预估执行时间,所述更新请求的字节数与所述第三预估执行时间成正比;
根据所述第三预估执行时间确定所述预设阈值,所述预设阈值大于所述第三预估执行时间。
6.一种基于时间戳的任务防重装置,其特征在于,包括:
接收请求模块,用于接收对数据库中用于存储数据的指定表的更新请求,所述更新请求中包含待更新参数;
获取时间戳模块,用于获取所述数据库中所述指定表的时间戳;并获取当前系统时间,根据所述当前系统时间计算当前系统的时间戳;
检测模块,用于计算所述当前系统的时间戳与所述指定表的时间戳的差值,并检测所述差值是否大于预设阈值;
更新模块,用于在所述差值大于预设阈值时,按照所述待更新参数对所述指定表进行更新,并将所述指定表的时间戳的值设置为所述当前系统的时间戳。
7.如权利要求6所述的基于时间戳的任务防重装置,其特征在于,还包括:
结束模块,用于在所述差值小于或等于预设阈值时,结束所述更新请求。
8.如权利要求6所述的基于时间戳的任务防重装置,其特征在于,还包括:
获取资源消耗模块,用于获取当前的系统资源消耗情况;
第一时间模块,用于根据所述系统资源消耗情况计算执行所述更新请求对应的更新操作的第一预估执行时间,所述系统资源消耗与所述第一预估执行时间成正比;
第一确定阈值模块,用于根据所述第一预估执行时间确定所述预设阈值,所述预设阈值大于所述第一预估执行时间。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述基于时间戳的任务防重方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于时间戳的任务防重方法。
CN201811528669.2A 2018-12-13 2018-12-13 任务防重方法、装置、计算机设备及存储介质 Active CN109766349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811528669.2A CN109766349B (zh) 2018-12-13 2018-12-13 任务防重方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811528669.2A CN109766349B (zh) 2018-12-13 2018-12-13 任务防重方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109766349A true CN109766349A (zh) 2019-05-17
CN109766349B CN109766349B (zh) 2024-03-15

Family

ID=66451823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811528669.2A Active CN109766349B (zh) 2018-12-13 2018-12-13 任务防重方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109766349B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471973A (zh) * 2019-08-15 2019-11-19 中国银行股份有限公司 一种基于信息系统的数据导入防重方法、设备以及系统
CN111061762A (zh) * 2019-11-08 2020-04-24 京东数字科技控股有限公司 分布式任务处理方法、相关设备、系统及存储介质
CN111078718A (zh) * 2019-12-30 2020-04-28 广州酷狗计算机科技有限公司 频率控制方法、装置、设备以及计算机存储介质
CN112000675A (zh) * 2019-05-27 2020-11-27 招商证券股份有限公司 行情数据更新方法、装置、终端设备及存储介质
CN112685313A (zh) * 2021-01-04 2021-04-20 广州品唯软件有限公司 一种mock数据更新方法、装置及计算机设备
CN112860715A (zh) * 2019-11-28 2021-05-28 北京沃东天骏信息技术有限公司 数据处理方法、装置、系统及存储介质
CN112925618A (zh) * 2021-02-22 2021-06-08 北京达佳互联信息技术有限公司 一种分布式任务的处理方法和装置
CN113205413A (zh) * 2021-06-07 2021-08-03 中国银行股份有限公司 手机银行数据处理方法及装置
WO2023193560A1 (zh) * 2022-04-08 2023-10-12 海信视像科技股份有限公司 一种显示设备及用于显示设备的处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226737A1 (en) * 2006-03-22 2007-09-27 International Business Machines Corporation Methods, systems, and storage mediums for monitoring and controlling command usage
US20090300179A1 (en) * 2008-05-28 2009-12-03 General Instrument Corporation Method and system for optimizing network access control
CN106649059A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据统计方法及装置
CN107257346A (zh) * 2017-07-07 2017-10-17 东软集团股份有限公司 单点登录的业务访问处理方法及其设备
US20180075078A1 (en) * 2016-09-09 2018-03-15 Salesforce.Com, Inc. Processing offline updates to records of a database system
CN108334633A (zh) * 2018-02-26 2018-07-27 平安普惠企业管理有限公司 数据更新方法、装置、计算机设备和存储介质
CN108512948A (zh) * 2018-03-21 2018-09-07 平安普惠企业管理有限公司 通讯录更新方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226737A1 (en) * 2006-03-22 2007-09-27 International Business Machines Corporation Methods, systems, and storage mediums for monitoring and controlling command usage
US20090300179A1 (en) * 2008-05-28 2009-12-03 General Instrument Corporation Method and system for optimizing network access control
CN106649059A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据统计方法及装置
US20180075078A1 (en) * 2016-09-09 2018-03-15 Salesforce.Com, Inc. Processing offline updates to records of a database system
CN107257346A (zh) * 2017-07-07 2017-10-17 东软集团股份有限公司 单点登录的业务访问处理方法及其设备
CN108334633A (zh) * 2018-02-26 2018-07-27 平安普惠企业管理有限公司 数据更新方法、装置、计算机设备和存储介质
CN108512948A (zh) * 2018-03-21 2018-09-07 平安普惠企业管理有限公司 通讯录更新方法、装置、计算机设备和存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000675A (zh) * 2019-05-27 2020-11-27 招商证券股份有限公司 行情数据更新方法、装置、终端设备及存储介质
CN112000675B (zh) * 2019-05-27 2023-12-01 招商证券股份有限公司 行情数据更新方法、装置、终端设备及存储介质
CN110471973A (zh) * 2019-08-15 2019-11-19 中国银行股份有限公司 一种基于信息系统的数据导入防重方法、设备以及系统
CN111061762A (zh) * 2019-11-08 2020-04-24 京东数字科技控股有限公司 分布式任务处理方法、相关设备、系统及存储介质
CN112860715A (zh) * 2019-11-28 2021-05-28 北京沃东天骏信息技术有限公司 数据处理方法、装置、系统及存储介质
CN111078718A (zh) * 2019-12-30 2020-04-28 广州酷狗计算机科技有限公司 频率控制方法、装置、设备以及计算机存储介质
CN111078718B (zh) * 2019-12-30 2023-04-07 广州酷狗计算机科技有限公司 频率控制方法、装置、设备以及计算机存储介质
CN112685313A (zh) * 2021-01-04 2021-04-20 广州品唯软件有限公司 一种mock数据更新方法、装置及计算机设备
CN112925618A (zh) * 2021-02-22 2021-06-08 北京达佳互联信息技术有限公司 一种分布式任务的处理方法和装置
CN113205413A (zh) * 2021-06-07 2021-08-03 中国银行股份有限公司 手机银行数据处理方法及装置
CN113205413B (zh) * 2021-06-07 2024-02-27 中国银行股份有限公司 手机银行数据处理方法及装置
WO2023193560A1 (zh) * 2022-04-08 2023-10-12 海信视像科技股份有限公司 一种显示设备及用于显示设备的处理方法

Also Published As

Publication number Publication date
CN109766349B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
CN109766349A (zh) 任务防重方法、装置、计算机设备及存储介质
US10747745B2 (en) Transaction execution commitment without updating of data row transaction status
EP4254183A1 (en) Transaction processing method and apparatus, computer device, and storage medium
US10291704B2 (en) Networked solutions integration using a cloud business object broker
US8886590B2 (en) Master data management in a data warehouse/data mart
US10838981B2 (en) Database optimization using special partition specifications for replicas
CN110209650A (zh) 数据规整迁移方法、装置、计算机设备和存储介质
US9462037B2 (en) Dynamically sizing chunks in a partially loaded spreadsheet model
CN104965879A (zh) 修改数据表的表结构的方法及装置
KR20150130039A (ko) Crm 기반 데이터 마이그레이션 시스템 및 방법
WO2011146540A2 (en) Sharing and synchronization of objects
US10515228B2 (en) Commit and rollback of data streams provided by partially trusted entities
CN104598299A (zh) 用于对每条接收数据执行聚合处理的系统和方法
CN108446315A (zh) 大数据迁移方法、装置、设备及存储介质
CN107783820A (zh) 一种云平台虚拟机定时操作任务设置方法
CN110019200A (zh) 一种索引的建立、使用方法及装置
CN110633306A (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN110602227A (zh) 一种智能合约管理的方法以及相关装置
US10430400B1 (en) User controlled file synchronization limits
CN113590613A (zh) 数据表分区方法、装置、计算机设备和存储介质
CN101833585A (zh) 数据库服务器操作控制系统、方法及设备
CN113590643B (zh) 基于双轨数据库的数据同步方法、装置、设备和存储介质
CN103220336B (zh) 一种文件同步中向量时钟的实现方法及系统
CN110209732A (zh) 关系型数据库到Hadoop数据库的数据同步方法和装置
US20190087238A1 (en) Incremental workflow execution

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240205

Address after: Plant 2301 of Shengdelan Electric Co., Ltd., No. 6, Tongfu Industrial Zone, Fukeng Community, Kukeng Community, Guanlan Street, Longhua District, Shenzhen City, Guangdong Province, 518000

Applicant after: Shenzhen Jingce Technology Co.,Ltd.

Country or region after: China

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant