CN109634726A - 定时任务的处理方法、装置、设备及存储介质 - Google Patents

定时任务的处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109634726A
CN109634726A CN201811254501.7A CN201811254501A CN109634726A CN 109634726 A CN109634726 A CN 109634726A CN 201811254501 A CN201811254501 A CN 201811254501A CN 109634726 A CN109634726 A CN 109634726A
Authority
CN
China
Prior art keywords
task
timed task
database
current
information
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
Application number
CN201811254501.7A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811254501.7A priority Critical patent/CN109634726A/zh
Priority to PCT/CN2018/122834 priority patent/WO2020082563A1/zh
Publication of CN109634726A publication Critical patent/CN109634726A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于大数据处理的定时任务的处理方法、装置、设备及存储介质,所述方法包括:在检测到当前定时任务调用预设数据库中的业务数据时,获取所述当前定时任务的调用请求;对所述调用请求进行解析,获取调用信息,根据所述调用信息判断所述当前定时任务的任务类型;在所述任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态;在所述当前使用状态为开启状态时,将所述调用请求放入列队等候。本发明通过在定时任务需要调用的数据库中布设针对预设任务类型的数据库锁,通过所述数据库锁的使用状态对当前定时任务进行相应的处理,从而保证任务的有序执行,提高对定时任务的有效管理。

Description

定时任务的处理方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种定时任务的处理方法、装置、设备及存储介质。
背景技术
目前,当项目部署到服务器上时,在文件名为server.xml的配置文件中一个名为Host的文件表示一个容器,里面可以包含若干个场景应用,例如:在tomcat服务器中配置了两个容器,一个容器命名为localhost文件,应用的根目录为webapps,并且会自动解压war格式的压缩包和自动部署,如果没有指定场景,会把根目录下的所有基于页面应用全部进行部署,部署成功后,外网可以通过服务器网络协议(Internet Protocol,IP)地址和项目名进行访问,另一个容器可通过名称形式为www.xxx.com的网址来访问,和第一个容器不同在于,第二个容器配置了主页页面应用,且不需要项目名就可以访问,部署成功后可以通过域名和项目名进行访问,也可以直接通过根域名访问主页所在项目。
但是,当包含定时任务的项目部署在webapps目录下,tomcat服务器中两个独立的容器都会部署,相当于项目在tomcat服务器上部署了两次,两边同时会运行定时任务,并且指定的是同一个数据库,这时会出现同一时间定时任务执行了多次,在执行多任务时,由于多任务同时在同一数据库中执行,容易造成数据处理的逻辑混乱。
发明内容
本发明的主要目的在于提出一种定时任务的处理方法、装置、设备及存储介质,旨在提高对定时任务进行有效地管理。
为实现上述目的,本发明提供一种定时任务的处理方法,所述定时任务的处理方法包括以下步骤:
在检测到当前定时任务调用预设数据库中的业务数据时,获取所述当前定时任务的调用请求;
对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型;
在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态;
在所述当前使用状态为开启状态时,将所述调用请求放入列队等候。
优选地,所述在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态之后,所述方法还包括:
在所述当前使用状态为关闭状态时,响应所述当前定时任务的调用请求,执行所述当前定时任务调用预设数据库中的业务数据,并将所述数据库锁的当前使用状态切换为开启状态。
优选地,所述对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型,包括:
将所述调用请求与预设标签信息进行比较,根据所述比较结果得到所述调用请求中的目标标签信息,提取所述目标标签信息中的属性信息,将所述属性信息作为所述当前定时任务的调用信息;
根据所述调用信息在预设关系映射表中查找对应的任务类型,将查找到的任务类型作为所述当前定时任务的任务类型。
优选地,所述根据所述调用信息在预设关系映射表中查找对应的任务类型,将查找到的任务类型作为所述当前定时任务的任务类型之前,所述方法还包括:
获取历史调用信息与历史任务类型的对应关系,根据所述对应关系建立所述预设关系映射表。
优选地,所述在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁之前,所述方法还包括:
获取数据库锁写入指令,提取所述数据库锁写入指令中的待写入的数据库锁以及地址信息;
根据所述地址信息在所述预设数据库中查找到对应的位置信息,根据所述位置信息将所述数据库锁写入所述预设数据库中并进行保存。
优选地,所述数据库锁为所述预设数据库中的配置文件或者代码程序,所述预设类型为报文类型;
所述在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态,包括:
在所述当前定时任务的任务类型为报文类型时,获取所述预设数据库中预存的数据库锁;
查找所述数据库锁中所述配置文件或者代码程序中代表当前使用状态的标签信息,根据所述标签信息在预设状态表中查找对应的状态信息,将查找到的状态信息作为所述当前使用状态。
优选地,所述在所述当前使用状态为开启状态时,将所述调用请求放入列队等候之后,所述方法还包括:
实时监控所述数据库锁的当前使用状态,在所述当前使用状态切换为关闭状态时,判断列队等候中的等待任务的调用等级;
在所述调用等级为预设调用等级时,对所述预设调用等级对应的等待任务进行优先处理。
此外,为实现上述目的,本发明还提出一种定时任务的处理装置,所述定时任务的处理装置包括:
获取模块,用于在检测到当前定时任务调用预设数据库中的业务数据时,获取所述当前定时任务的调用请求;
解析模块,用于对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型;
查询模块,用于在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态;
处理模块,用于在所述当前使用状态为开启状态时,将所述调用请求放入列队等候。
此外,为实现上述目的,本发明还提出一种设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的定时任务的处理程序,所述定时任务的处理程序配置为实现如上所述的定时任务的处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有定时任务的处理程序,所述定时任务的处理程序被处理器执行时实现如上文所述的定时任务的处理方法的步骤。
本发明提出的定时任务的处理方法,通过在定时任务需要调用的数据库中布设针对预设任务类型的数据库锁,通过所述数据库锁的使用状态对当前定时任务进行相应的处理,在数据库锁处于开启状态时,表明所述数据库正在处于使用状态,在这种情况下将当前定时任务进行列队等候,从而保证任务的有序执行,提高对定时任务的有效管理。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明定时任务的处理方法第一实施例的流程示意图;
图3为本发明定时任务的处理方法第二实施例的流程示意图;
图4为本发明定时任务的处理方法第三实施例的流程示意图;
图5为本发明定时任务的处理装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及定时任务的处理程序。
在图1所示的设备中,网络接口1004主要用于连接外网,与其他网络设备进行数据通信;用户接口1003主要用于连接用户设备,与设备进行数据通信;本发明设备通过处理器1001调用存储器1005中存储的定时任务的处理程序,并执行本发明实施例提供的定时任务的处理的实施方法。
基于上述硬件结构,提出本发明定时任务的处理方法实施例。
参照图2,图2为本发明定时任务的处理方法第一实施例的流程示意图。
在第一实施例中,所述定时任务的处理方法包括以下步骤:
步骤S10,在检测到当前定时任务调用预设数据库中的业务数据时,获取所述当前定时任务的调用请求。
需要说明的是,所述定时任务的类型可为报文任务,还可为其他类型的任务,在本实施例对此不作限制,在本实施例中,以报文任务为例进行说明,由于业务数据存储在数据库中,所述定时任务进行执行时需要调用所述预设数据库中的业务数据,从而实现任务的正常执行,所述预设数据库为预选保存各个业务执行的数据,例如预先存储的大量用户的使用数据。
在具体实现中,在所述定时任务需要调用所述预设数据库中的业务数据时,首先需要发送调用请求,所述调用请求包含所述定时任务的数据信息,例如所述定时任务的任务类型以及主要参数信息等,根据所述调用请求可对当前定时任务进行有效的分析。
步骤S20,对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型。
需要说明的是,在定时任务执行时,为了保证数据的安全性,一般会将执行任务的数据进行加密,从而保证数据传输的安全性,为了获取定时任务的类型,需要首先对定时任务的调用请求进行解析,从而获取定时任务的详细信息。
在具体实现中,为了区别不同任务,一般在进行数据传输时,对每个不同类型的任务通常会打上特定的标签,或者在标签上设上特定的参数信息,从而实现对当前定时任务的识别,并进行封装,例如对于报文任务,可将预设标签的TypeID的value设为1,从而实现对当前任务的识别。
在本实施例中,对定时任务的调用请求进行解析,从而获取定时任务的标签信息,即TypeID,根据TypeID从而可判断出定时任务的类型,是属于报文任务,还是其他任务。
步骤S30,在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态。
需要说明的是,为了使数据库中的数据库锁更有针对性,在本实施例中,所述数据库中的数据库锁只对报文任务有效,在检测到当前定时任务的任务类型为报文任务时,所述数据库中的数据库锁才生效。
可以理解的是,所述数据库锁为数据库中的配置文件或者设在数据库入口的一串代码程序形式,还可为其他形式,本实施例对此不作限制,在所述数据库锁为配置文件时,可对所述配置文件进行修改,从而满足不同业务的需求,具体为所述数据库中的数据库锁可根据用户的需求进行灵活配置,例如用户需要所述数据库锁对其他任务生效时,可根据用户的需求进行调整,例如接收用户的编辑指令,根据所述编辑指令对所述数据库锁进行调整,从而满足业务的需求,实现数据库锁的灵活性。
步骤S40,在所述当前使用状态为开启状态时,将所述调用请求放入列队等候。
需要说明的是,在查询出数据库锁的状态为开启状态时,表明当前已经有任务在处理,并且数据库已经处于调用的状态,在这种情况下,避免多个任务执行数据库的调用从而造成逻辑混乱,将当前需要调用数据库的定时任务进行列队处理,从而实现对定时任务的有序管理。
在具体实现中,可将当前定时任务的调用请求直接返回,或者等待前一次定时任务的调用完成,从而避免多个定时任务同时调用数据库从而出现数据处理的逻辑混乱。
进一步地,在所述步骤S30之后,所述方法还包括:
步骤S50,在所述当前使用状态为关闭状态时,响应所述当前定时任务的调用请求,执行所述当前定时任务调用预设数据库中的业务数据,并将所述数据库锁的当前使用状态切换为开启状态。
在本实施例中,查询出数据库锁的状态为关闭状态时,说明当前数据库处于未调用状态,在这种情况下,可直接响应当前定时任务的调用请求,由于数据库正在执行当前定时任务的调用,可将数据库锁的当前使用状态切换为开启状态,从而实现对数据库锁的实时监控,保证定时任务的准确执行,实现数据处理的有序性。
本实施例通过上述方案,通过在定时任务需要调用的数据库中布设针对预设任务类型的数据库锁,通过所述数据库锁的使用状态对当前定时任务进行相应的处理,在数据库锁处于开启状态时,表明所述数据库正在处于使用状态,在这种情况下将当前定时任务进行列队等候,从而保证任务的有序执行,提高对定时任务的有效管理。
进一步地,如图3所示,基于第一实施例提出本发明定时任务的处理方法第二实施例,在本实施例中,所述步骤S20,包括:
步骤S201,将所述调用请求与预设标签信息进行比较,根据所述比较结果得到所述调用请求中的目标标签信息,提取所述目标标签信息中的属性信息,将所述属性信息作为所述当前定时任务的调用信息;
需要说明的是,所述预设标签信息为所有配置文件的参数项目,例如文件名,文件类型,文件颜色等参数信息,通过将调用请求与预设标签信息进行比较,可得到所述调用请求中表明文件类型的参数信息,例如可根据比较结果提取所述调用请求中的typeID参数项目。
在本实施例中,通过获取typeID参数项目,并提取所述typeID参数项目中的属性信息,例如参数值为1,从而可根据typeID=1判断出所述调用请求对应的当前定时任务的任务类型,由于,所述数据库锁设定为对报文类型的定时任务进行处理,从而可实现对各个定时任务的识别。
步骤S202,根据所述调用信息在预设关系映射表中查找对应的任务类型,将查找到的任务类型作为所述当前定时任务的任务类型。
需要说明的是,通过获取历史调用信息与历史任务类型的对应关系,根据所述对应关系建立所述预设关系映射表,通过调用信息查询所述预设关系映射表可得到所述当前定时任务的任务类型,例如获取到调用信息为1,从而查询出调用信息1对应的任务类型为报文任务,提高对当前定时任务的识别的准确性。
进一步地,所述步骤S202之前,所述方法还包括:
步骤S203,获取历史调用信息与历史任务类型的对应关系,根据所述对应关系建立所述预设关系映射表。
在具体实现中,通过获取各个调用信息与对应的任务类型的对应关系,根据所述对应关系建立所述预设关系映射表,从而在对当前定时任务进行识别时,通过查询所述预设关系映射表即可得到当前定时任务对应的任务类型,达到提高数据处理效率的目的。
本实施例提供的方案,通过获取调用请求的标签信息,将所述标签信息在预设关系映射表中查询出对应的任务类型,从而实现对当前定时任务的识别,并通过查表的方式获取当前定时任务对应的任务类型,提高数据处理效率。
进一步地,如图4所示,基于第一实施例或第二实施例提出本发明定时任务的处理方法第三实施例,在本实施例中,基于第一实施例进行说明,所述步骤S30之前,所述方法还包括:
步骤S301,获取数据库锁写入指令,提取所述数据库锁写入指令中的待写入的数据库锁以及地址信息。
在本实施例中,在查询所述预设数据库中预设区域数据库锁的状态之前,需要写入所述数据库锁,具体为通过接收用户的写入指令,根据所述写入指令将所述数据库锁写入所述预设数据库中预设区域,从而在获取到触发数据库锁类型的定时任务时,启动所述数据库锁,在多线程任务处理时,实现对定时任务的管理。
步骤S302,根据所述地址信息在所述预设数据库中查找到对应的位置信息,根据所述位置信息将所述数据库锁写入所述预设数据库中并进行保存。
在具体实现中,通过在写入指令中获取所述待写入的数据库锁的地址信息,所述地址信息为所述待写入的数据库锁写入数据库中的位置信息,通过所述地址信息对所述待写入的数据库锁进行写入,从而保证数据库锁写入的正确性。
进一步地,所述数据库锁为所述预设数据库中的配置文件或者代码程序,所述预设类型为报文类型,所述步骤S30,包括:
在所述当前定时任务的任务类型为报文类型时,获取所述预设数据库中预存的数据库锁。
需要说明的是,为了识别当前定时任务的任务类型,通过将所述当前定时任务中参数信息与预设参数信息进行比较,根据比较结果获取所述当前定时任务中的类型参数信息。
需要说明的是,所述预设参数信息为任务类型为报文类型对应的参数信息,例如typeID=1,将所述当前定时任务中参数信息例如参数名称、参数大小等于所述预设参数信息进行比较,判断所述当前定时任务是否为报文任务。
在具体实现中,通过获取历史参数信息与历史任务类型的预设类型关系映射表,在获取类型参数信息时,通过所述类型参数信息查询所述预设类型关系映射表得到对应的任务类型。
进一步地,查找所述数据库锁中所述配置文件或者代码程序中代表当前使用状态的标签信息,根据所述标签信息在预设状态表中查找对应的状态信息,将查找到的状态信息作为所述当前使用状态。
需要说明的是,所述预设状态表中存有标签信息和对应的状态信息,通过获取数据库锁的标签信息在所述预设状态表中可查询到所述数据库锁的状态,例如在当前使用状态的标签信息为1时,对应的数据库锁的状态为开启状态,在当前使用状态的标签信息为0时,对应的数据库锁的状态为关闭状态,从而通过标签信息实现对数据库锁的使用状态的识别。
进一步地,所述步骤S40之后,所述方法还包括:
步骤S401,实时监控所述数据库锁的当前使用状态,在所述当前使用状态切换为关闭状态时,判断列队等候中的等待任务的调用等级。
在本实施例中,在查询出的数据库锁的状态为开启状态之后,实时监测所述数据库锁的状态,在所述状态为关闭状态时,执行所述调用请求,在所述状态为关闭状态时,说明数据库调用已经完成,当前数据库处于未调用状态,可将列队等待的任务进行执行。
在具体实现中,将列队等待中的任务进行执行时,可获取列队等候的等待任务的调用等级,所述调用等级为表明当前等待任务的优先级程度,例如调用等级为1,说明当前等待任务的优先级别最高,在等待任务中需要进行最优先处理,从而实现对数据的精细化处理。
步骤S402,在所述调用等级为预设调用等级时,对所述预设调用等级对应的等待任务进行优先处理。
需要说明的是,所述预设调用等级为最高调用等级,例如优先级别为1级,在这种情况下,将调用等级的等待任务进行优先处理,从而保证数据处理的效率。
本实施例提供的方案,将当前定时任务根据标签信息识别出报文任务,针对报文任务启动数据库锁进行处理,从而实现灵活化的数据处理,满足各个业务的需求,并且将等待任务设置调用级别,将调用等级的等待任务进行优先,从而保证数据处理的效率。
本发明进一步提供一种定时任务的处理装置。
参照图5,图5为本发明定时任务的处理装置第一实施例的功能模块示意图。
本发明定时任务的处理装置第一实施例中,该定时任务的处理装置包括:
获取模块10,用于在检测到当前定时任务调用预设数据库中的业务数据时,获取所述当前定时任务的调用请求。
需要说明的是,所述定时任务的类型可为报文任务,还可为其他类型的任务,在本实施例对此不作限制,在本实施例中,以报文任务为例进行说明,由于业务数据存储在数据库中,所述定时任务进行执行时需要调用所述预设数据库中的业务数据,从而实现任务的正常执行,所述预设数据库为预选保存各个业务执行的数据,例如预先存储的大量用户的使用数据。
在具体实现中,在所述定时任务需要调用所述预设数据库中的业务数据时,首先需要发送调用请求,所述调用请求包含所述定时任务的数据信息,例如所述定时任务的任务类型以及主要参数信息等,根据所述调用请求可对当前定时任务进行有效的分析。
解析模块20,用于对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型。
需要说明的是,在定时任务执行时,为了保证数据的安全性,一般会将执行任务的数据进行加密,从而保证数据传输的安全性,为了获取定时任务的类型,需要首先对定时任务的调用请求进行解析,从而获取定时任务的详细信息。
在具体实现中,为了区别不同任务,一般在进行数据传输时,对每个不同类型的任务通常会打上特定的标签,或者在标签上设上特定的参数信息,从而实现对当前定时任务的识别,并进行封装,例如对于报文任务,可将预设标签的TypeID的value设为1,从而实现对当前任务的识别。
在本实施例中,对定时任务的调用请求进行解析,从而获取定时任务的标签信息,即TypeID,根据TypeID从而可判断出定时任务的类型,是属于报文任务,还是其他任务。
查询模块30,用于在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态。
需要说明的是,为了使数据库中的数据库锁更有针对性,在本实施例中,所述数据库中的数据库锁只对报文任务有效,在检测到当前定时任务的任务类型为报文任务时,所述数据库中的数据库锁才生效。
可以理解的是,所述数据库锁为数据库中的配置文件或者设在数据库入口的一串代码程序形式,还可为其他形式,本实施例对此不作限制,在所述数据库锁为配置文件时,可对所述配置文件进行修改,从而满足不同业务的需求,具体为所述数据库中的数据库锁可根据用户的需求进行灵活配置,例如用户需要所述数据库锁对其他任务生效时,可根据用户的需求进行调整,例如接收用户的编辑指令,根据所述编辑指令对所述数据库锁进行调整,从而满足业务的需求,实现数据库锁的灵活性。
处理模块40,用于在所述当前使用状态为开启状态时,将所述调用请求放入列队等候。
需要说明的是,在查询出数据库锁的状态为开启状态时,表明当前已经有任务在处理,并且数据库已经处于调用的状态,在这种情况下,避免多个任务执行数据库的调用从而造成逻辑混乱,将当前需要调用数据库的定时任务进行列队处理,从而实现对定时任务的有序管理。
在具体实现中,可将当前定时任务的调用请求直接返回,或者等待前一次定时任务的调用完成,从而避免多个定时任务同时调用数据库从而出现数据处理的逻辑混乱。
进一步地,在所述处理模块40,还用于在所述当前使用状态为关闭状态时,响应所述当前定时任务的调用请求,执行所述当前定时任务调用预设数据库中的业务数据,并将所述数据库锁的当前使用状态切换为开启状态。
在本实施例中,查询出数据库锁的状态为关闭状态时,说明当前数据库处于未调用状态,在这种情况下,可直接响应当前定时任务的调用请求,由于数据库正在执行当前定时任务的调用,可将数据库锁的当前使用状态切换为开启状态,从而实现对数据库锁的实时监控,保证定时任务的准确执行,实现数据处理的有序性。
本实施例通过上述方案,通过在定时任务需要调用的数据库中布设针对预设任务类型的数据库锁,通过所述数据库锁的使用状态对当前定时任务进行相应的处理,在数据库锁处于开启状态时,表明所述数据库正在处于使用状态,在这种情况下将当前定时任务进行列队等候,从而保证任务的有序执行,提高对定时任务的有效管理。
此外,为实现上述目的,本发明还提出一种设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的定时任务的处理程序,所述定时任务的处理程序配置为实现如上文所述的定时任务的处理方法的步骤。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有定时任务的处理程序,所述定时任务的处理程序被处理器执行如上文所述的定时任务的处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台智能终端设备(可以是手机,计算机,终端设备,空调器,或者网络终端设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种定时任务的处理方法,其特征在于,所述定时任务的处理方法包括:
在检测到当前定时任务调用预设数据库中的业务数据时,获取所述当前定时任务的调用请求;
对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型;
在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态;
在所述当前使用状态为开启状态时,将所述调用请求放入列队等候。
2.如权利要求1所述的定时任务的处理方法,其特征在于,所述在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态之后,所述方法还包括:
在所述当前使用状态为关闭状态时,响应所述当前定时任务的调用请求,执行所述当前定时任务调用预设数据库中的业务数据,并将所述数据库锁的当前使用状态切换为开启状态。
3.如权利要求1所述的定时任务的处理方法,其特征在于,所述对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型的步骤包括:
将所述调用请求与预设标签信息进行比较,根据所述比较结果得到所述调用请求中的目标标签信息,提取所述目标标签信息中的属性信息,将所述属性信息作为所述当前定时任务的调用信息;
根据所述调用信息在预设关系映射表中查找对应的任务类型,将查找到的任务类型作为所述当前定时任务的任务类型。
4.如权利要求3所述的定时任务的处理方法,其特征在于,所述根据所述调用信息在预设关系映射表中查找对应的任务类型,将查找到的任务类型作为所述当前定时任务的任务类型之前,所述方法还包括:
获取历史调用信息与历史任务类型的对应关系,根据所述对应关系建立所述预设关系映射表。
5.如权利要求1至4中任一项所述的定时任务的处理方法,其特征在于,所述在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁之前,所述方法还包括:
获取数据库锁写入指令,提取所述数据库锁写入指令中的待写入的数据库锁以及地址信息;
根据所述地址信息在所述预设数据库中查找到对应的位置信息,根据所述位置信息将所述数据库锁写入所述预设数据库中并进行保存。
6.如权利要求1至4中任一项所述的定时任务的处理方法,其特征在于,所述数据库锁为所述预设数据库中的配置文件或者代码程序,所述预设类型为报文类型;
所述在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态,包括:
在所述当前定时任务的任务类型为报文类型时,获取所述预设数据库中预存的数据库锁;
查找所述数据库锁中所述配置文件或者代码程序中代表当前使用状态的标签信息,根据所述标签信息在预设状态表中查找对应的状态信息,将查找到的状态信息作为所述当前使用状态。
7.如权利要求1至4中任一项所述的定时任务的处理方法,其特征在于,所述在所述当前使用状态为开启状态时,将所述调用请求放入列队等候之后,所述方法还包括:
实时监控所述数据库锁的当前使用状态,在所述当前使用状态切换为关闭状态时,判断列队等候中的等待任务的调用等级;
在所述调用等级为预设调用等级时,对所述预设调用等级对应的等待任务进行优先处理。
8.一种定时任务的处理装置,其特征在于,所述定时任务的处理装置包括:
获取模块,用于在检测到当前定时任务调用预设数据库中的业务数据时,获取所述当前定时任务的调用请求;
解析模块,用于对所述调用请求进行解析,获取解析后的所述当前定时任务的调用信息,根据所述调用信息判断所述当前定时任务的任务类型;
查询模块,用于在所述当前定时任务的任务类型为预设类型时,获取所述预设数据库中预存的数据库锁,并查询所述数据库锁的当前使用状态;
处理模块,用于在所述当前使用状态为开启状态时,将所述调用请求放入列队等候。
9.一种设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的定时任务的处理程序,所述定时任务的处理程序配置为实现如权利要求1至7中任一项所述的定时任务的处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有定时任务的处理程序,所述定时任务的处理程序被处理器执行时实现如权利要求1至7中任一项所述的定时任务的处理方法的步骤。
CN201811254501.7A 2018-10-25 2018-10-25 定时任务的处理方法、装置、设备及存储介质 Pending CN109634726A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811254501.7A CN109634726A (zh) 2018-10-25 2018-10-25 定时任务的处理方法、装置、设备及存储介质
PCT/CN2018/122834 WO2020082563A1 (zh) 2018-10-25 2018-12-21 定时任务的处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811254501.7A CN109634726A (zh) 2018-10-25 2018-10-25 定时任务的处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN109634726A true CN109634726A (zh) 2019-04-16

Family

ID=66066682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811254501.7A Pending CN109634726A (zh) 2018-10-25 2018-10-25 定时任务的处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN109634726A (zh)
WO (1) WO2020082563A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163145A (zh) * 2019-12-23 2020-05-15 北京数衍科技有限公司 分布式数据定时均发方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161227A (en) * 1989-11-13 1992-11-03 International Business Machines Corporation Multilevel locking system and method
CN103645909A (zh) * 2013-12-30 2014-03-19 中国烟草总公司湖南省公司 定时任务的处理方法及装置
CN106406993A (zh) * 2016-09-06 2017-02-15 努比亚技术有限公司 一种定时任务管理方法和***
CN106570027A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种事务型任务处理方法及装置
CN107092523A (zh) * 2017-04-14 2017-08-25 浙江数链科技有限公司 定时任务的调度方法和***
CN107688500A (zh) * 2017-07-26 2018-02-13 阿里巴巴集团控股有限公司 一种分布式任务处理方法、装置、***及设备
CN108132830A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种任务调度方法、装置及***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012083697A1 (zh) * 2011-07-30 2012-06-28 华为技术有限公司 一种事务恢复方法和事务恢复装置
CN103761148B (zh) * 2014-01-26 2017-04-05 北京京东尚科信息技术有限公司 集群定时调度任务的控制方法
CN108182108A (zh) * 2017-12-19 2018-06-19 山东浪潮商用***有限公司 一种定时任务集群及其执行方法
CN108388599B (zh) * 2018-02-01 2022-08-02 平安科技(深圳)有限公司 电子装置、数据迁移及调用方法及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161227A (en) * 1989-11-13 1992-11-03 International Business Machines Corporation Multilevel locking system and method
CN103645909A (zh) * 2013-12-30 2014-03-19 中国烟草总公司湖南省公司 定时任务的处理方法及装置
CN106570027A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种事务型任务处理方法及装置
CN106406993A (zh) * 2016-09-06 2017-02-15 努比亚技术有限公司 一种定时任务管理方法和***
CN108132830A (zh) * 2016-12-01 2018-06-08 北京金山云网络技术有限公司 一种任务调度方法、装置及***
CN107092523A (zh) * 2017-04-14 2017-08-25 浙江数链科技有限公司 定时任务的调度方法和***
CN107688500A (zh) * 2017-07-26 2018-02-13 阿里巴巴集团控股有限公司 一种分布式任务处理方法、装置、***及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163145A (zh) * 2019-12-23 2020-05-15 北京数衍科技有限公司 分布式数据定时均发方法、装置及电子设备
CN111163145B (zh) * 2019-12-23 2022-04-05 北京数衍科技有限公司 分布式数据定时均发方法、装置及电子设备

Also Published As

Publication number Publication date
WO2020082563A1 (zh) 2020-04-30

Similar Documents

Publication Publication Date Title
US6847975B2 (en) Proxy processing method
CN108052675B (zh) 日志管理方法、***及计算机可读存储介质
US6105067A (en) Connection pool management for backend servers using common interface
CN104202360B (zh) 访问网页的方法、装置及路由器
CN103197968B (zh) 一种融合同步异步特点的线程池处理方法及***
CN101065947B (zh) Web服务注册和操作方法和***
CN107396423B (zh) 网络接入方法和装置、存储介质及电子装置
CN109829287A (zh) Api接口权限访问方法、设备、存储介质及装置
CN101287189B (zh) 一种终端显示方法、服务器及终端
CN108717379A (zh) 电子装置、分布式任务调度方法及存储介质
CN109002295A (zh) 一种静态代码扫描方法、***、服务器及存储介质
CN114064152A (zh) 基于动态加载的嵌入式多核调试***及其调试方法
CN104516885A (zh) 浏览程序双内核组件的实现方法及装置
CN103701653B (zh) 一种接口热插拔配置数据的处理方法及网络配置服务器
CN110473097A (zh) 交易监控方法、终端和计算机可读存储介质
CN113961832A (zh) 页面渲染的方法、装置、设备、存储介质及程序产品
CN109634726A (zh) 定时任务的处理方法、装置、设备及存储介质
CN104793984B (zh) 一种设备的建模方法、装置和云平台
CN116881040A (zh) 一种业务操作处理方法、装置、电子装置和存储介质
CN110516130A (zh) 元数据处理方法及装置、存储介质、电子装置
EP1372118A2 (en) Connection information management system for managing connection information used in communications between IC cards
EP1383293A2 (en) Connection information management system for managing connection information used in communications between IC cards
CN112217849B (zh) Sd-wan***中的任务调度方法、***和计算机设备
CN112685613B (zh) 一种资源包查询的方法、装置及信息处理***
JP3950752B2 (ja) 装置

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