CN110990475B - 批量任务插入方法、装置、计算机设备及存储介质 - Google Patents

批量任务插入方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110990475B
CN110990475B CN201911284057.8A CN201911284057A CN110990475B CN 110990475 B CN110990475 B CN 110990475B CN 201911284057 A CN201911284057 A CN 201911284057A CN 110990475 B CN110990475 B CN 110990475B
Authority
CN
China
Prior art keywords
key identifier
task
actuator
main key
identifier corresponding
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.)
Active
Application number
CN201911284057.8A
Other languages
English (en)
Other versions
CN110990475A (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 Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service 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 Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN201911284057.8A priority Critical patent/CN110990475B/zh
Publication of CN110990475A publication Critical patent/CN110990475A/zh
Application granted granted Critical
Publication of CN110990475B publication Critical patent/CN110990475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种批量任务插入方法、装置、计算机设备及存储介质。所述方法包括:将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;获取预设插入脚本并执行所述预设插入脚本;执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中;根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。通过实施本发明实施例的方法可解决主键冲突的问题,对数据库环境没有任何要求,操作简单,移植方便,效率高,提高可靠性。

Description

批量任务插入方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种批量任务插入方法、装置、计算机设备及存储介质。
背景技术
由于在实际的代码项目开发中,需要很多套环境来支持代码的开发,分布式任务平台的任务调度中心就需要同时部署在多个环境当中,开发人员就需要同时在多套环境中添加任务。而实际的任务量又很大,需要耗费工作人员的大量时间做着重复的事情。并且在长时间的添加任务的过程中,开发人员添加任务时容易出错。然后由于是人工添加任务,容易出现添加错误的任务参数,忽略掉某些参数,最终产生异常。这种低效并且极其耗费开发人员的时间、精力的方式让广大开发人员不愿意接触该项工作,但是又必须做,这就成为了很大的问题。这种添加任务的方式极其低效且耗费开发人员的时间,容易出错导致产生异常。
为了解决该问题,目前可采用的技术方案有:数据库数据直接移植法:首先需要一个干净的数据库环境,然后先人工添加一套环境的全部任务,由于添加的任务参数都是写入MySQL数据库当中,所以可以直接把整个数据库的数据都移植到其它环境当中,这样其它环境直接访问使用新的数据库即可。
然而,现有的技术方案中存在以下问题:
1.MySQL原来的环境要求高,不能有其它数据,否则会一并被移植到其它新的数据库当中。
2.要移植到的环境中还不能有任何数据,因为MySQL数据库中主键是唯一的,所以如果和要移植来的数据中的主键冲突的话,就完全不能使用这些任务,并且产生数据库的内部系统错误。
发明内容
本发明实施例提供了一种批量任务插入方法、装置、计算机设备及存储介质,旨在解决相关技术中数据库环境要求高,移植容易产生主键冲突的问题。
第一方面,本发明实施例提供了一种批量任务插入方法,其包括将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;获取预设插入脚本并执行所述预设插入脚本;执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中;根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。
第二方面,本发明实施例提供了一种批量任务插入装置,其包括初始插入单元,用于将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;脚本获取单元,用于获取预设插入脚本并执行所述预设插入脚本;第一插入单元,用于执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中;第二插入单元,用于根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述方法。
本发明实施例提供了一种批量任务插入方法、装置、计算机设备及存储介质。其中,所述方法包括:将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;获取预设插入脚本并执行所述预设插入脚本;执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中;根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。本发明实施例由于通过执行预设插入脚本,根据初始执行器的主键标识利用第一预设函数获取待插入执行器的主键标识,以及根据待插入执行器的主键标识利用第二预设函数获取待插入任务的主键标识,实现批量任务的插入,可解决主键冲突的问题,对数据库环境没有任何要求,操作简单,移植方便,效率高,提高可靠性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的批量任务插入方法的流程示意图;
图2为本发明另一实施例提供的批量任务插入法的流程示意图;
图3为本发明实施例提供的批量任务插入方法的子流程示意图;
图4为本发明实施例提供的批量任务插入方法的子流程示意图;
图5为本发明实施例提供的批量任务插入方法的子流程示意图;
图6为本发明实施例提供的批量任务插入方法的子流程示意图;
图7为本发明实施例提供的批量任务插入装置的示意性框图;
图8为本发明另一实施例提供的批量任务插入装置的示意性框图;
图9为本发明实施例提供的批量任务插入装置的具体单元的示意性框图;
图10为本发明实施例提供的批量任务插入装置的第二插入单元的示意性框图;
图11为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
图1为本发明实施例提供的批量任务插入方法的示意性流程图。该批量任务插入方法应用于服务器中。该批量任务插入方法是基于分布式任务平台,开发人员在完成开发后需要在多套环境中添加任务,实际中任务量非常大,开发人员需要人工添加任务,耗时费力且容易出错。基于此,本实施例提供的批量任务插入方法,在分布式任务平台上可实现快速地批量任务插入,对数据库环境没有要求,不需要考虑主键冲突的问题,操作相当简单,移植方便,效率高。具体步骤包括S110-S140。
S110、将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识。
在一实施例中,分布式任务处理平台中会有多个执行器,每个执行器又对应有多个任务。在进行批量移植任务的时候,需要先移植执行器,然后再在执行器里面插入多个任务。在后插入的待插入执行器需要依赖于初始执行器的主键标识,因此,首先需要将初始执行器插入到第一数据库中,其中,初始执行器指的是插入的第一个执行器,第一数据库指的是某一环境下的数据库。
S120、获取预设插入脚本并执行所述预设插入脚本。
在一实施例中,通常开发人员是通过分布式任务平台实现任务的插入,也即在前端进行操作。而实际处理任务插入逻辑的是数据库端,因此直接操作数据库端也可实现任务的插入。为了实现批量任务的插入,可建立预设插入脚本,该预设插入脚本用于直接操作数据库以插入任务,该预设插入脚本可由开发人员预先编辑好。
在一实施例中,如图2所示,所述步骤S120之前,包括步骤S1201-S1202。
S1201、通过通用日志查询初始执行器插入第一数据库的SQL语句。
S1202、提取所述SQL语句并根据所述SQL语句生成预设插入脚本。
在一实施例中,由于对数据库的操作涉及了大量的复杂的代码,而且操作的数据表也比较多,难以简单地通过看源码来编辑得到预设插入脚本。为了便捷的得到预设插入脚本,可通过通用日志即general_log,查询初始执行器插入第一数据库的SQL语句,然后将相应的SQL语句提取出来直接生成预设插入脚本。相对于开发人员自行编辑脚本,该方式更加快速便捷,且不会出错。
S130、执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中。
在一实施例中,第二数据库指的是与第一数据库环境不同的另一环境下的数据库。由于将整个数据库的数据都移植到其它环境中会存在主键冲突的问题,以及数据库中原有的数据也会一并移植。因此,通过动态主键标识可解决主键冲突的问题,且对数据库环境没有要求。动态主键标识即动态主键ID,动态的主键id是在插入一条记录之后,可以获取它此时插入后得到的主键,然后可以快速把这个主键应用于其它数据表当中。插入一个任务,其实就是往数据库中插入一条记录,而一个记录对应着一个主键id,也就是说在插入任务的同时数据库会按相应的规则给你配一个主键,共同存于一条记录当中。另外,在使用变量机制时,由于插入的任务通常需要操作多个数据表,因此需要要使用数据库中的全局变量传递动态主键标识。
在一实施例中,如图3所示,所述步骤S130包括步骤S131-S132。
S131、获取所述初始执行器的主键标识。
S132、调用第一预设函数根据所述初始执行器的主键标识通过变量机制赋予待插入执行器对应的主键标识,其中,所述第一预设函数为最大值函数。
在一实施例中,动态主键标识的获取过程具体是通过@MAX_GROUP_ID:=MAX(id)来获取待插入执行器的主键id。其中,@MAX_GROUP_ID是数据库里的一个变量,MAX()是取最大值的函数也即第一预设函数,id可以理解为一个集合,这个表达式的意思是把id集合中的最大值取出来,然后赋给@MAX_GROUP_ID这个变量,然后在后面需要使用id这个集合的最大值的时候,可以直接使用@MAX_GROUP_ID来替代。利用了主键id自增的特性,也就是往数据库中插入一条记录之后,这条记录获得的主键id就是id这个集合中的最大值。因此,首先利用最大值函数对全局变量赋值,然后在插入待插入执行器时,将赋给全局变量的值作为主键标识,从而获取到待插入执行器的主键ID。实际中主键冲突产生的原因在于有两个相同的主键。例如,数据库中已经有了主键为11的记录,但是如果移植进来的数据库的记录中也有主键为11的,那么就会产生主键冲突,然后产生问题。而本实施例是直接插入记录,不强制指定此条记录的主键,所以数据库会自动给分配一个12的主键,然后排序下去。然后在其它需要这个主键的地方,再通过全局变量传递过去,从而解决了主键冲突的问题。
S140、根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。
在一实施例中,如图4所示,所述步骤S140包括步骤S141-S142。
S141、获取所述待插入执行器对应的主键标识。
S142、调用第二预设函数根据所述待插入执行器对应的主键标识通过变量机制赋予待插入任务对应的主键标识,其中,所述第二预设函数为最大值函数。
在一实施例中,在插入待插入执行器后,需要再将待执行任务插入到该待插入执行器中。因此,在得到待插入执行器的主键标识后,首先获取到该待插入执行器的主键标识,然后根据该待插入执行器的主键标识利用最大值函数MAX()即第二预设函数获取ID,通过变量将该ID赋予待插入任务,作为待插入任务的主键标识。
在一实施例中,如图5所示,所述步骤S140包括步骤S143-S145。
S143、获取所述待插入任务对应的主键标识。
S144、调用第二预设函数根据所述待插入任务对应的主键标识通过变量机制赋予下一待插入任务对应的主键标识。
S145、根据下一待插入任务对应的主键标识将下一待插入任务插入到所述待插入执行器中。
在一实施例中,为了实现批量插入任务,下一个待插入任务的插入过程具体地,首先获取上一个待插入任务对应的主键标识,同理地,也是根据上一个待插入任务对应的主键标识利用第二预设函数获取ID,通过@MAX_JOB_ID这个变量将ID赋予下一待插入任务,作为下一待插入任务的主键标识,从而将下一待插入任务插入到待插入执行器中,实现任务的批量插入。
在本实施例中,在其他环境中,再次执行预设插入脚本,从而将待插入任务插入到不同环境的数据库中。由此,即可实现批量任务的快速插入,不需要人工在分布式平台中手动添加任务,提高工作效率,节省人力资源。
在一实施例中,如图6所示,所述步骤S120还包括步骤S121-S122。
S121、监听批量的待插入任务,并将监听到的批量待插入任务添加至处理线程池。
S122、利用处理线程池中的线程根据所述预设插入脚本并行处理批量待插入任务。
在一实施例中,在某些任务场景中,需要定时批量插入待插入任务,如每天的0点或未来的某个时刻需要处理一些业务逻辑。在具体实施中,可通过处理线程池实现,首先对批量的待插入任务进行监听,在到达预先设置的时间时,例如0点,则将监听到的批量待插入任务添加到处理线程池中,利用处理线程池中的线程执行预设插入脚本,将批量待插入任务插入到不同环境的数据库中。由此,在特定的业务场景中,开发人员可以定时插入待插入脚本,能够稳定、快速的批量处理待插入任务。
本发明实施例展示了一种批量任务插入方法,通过将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;获取预设插入脚本并执行所述预设插入脚本;执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中;根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中,可解决主键冲突的问题,对数据库环境没有任何要求,操作简单,移植方便,效率高,提高可靠性。
图7是本发明实施例提供的一种批量任务插入装置200的示意性框图。如图7所示,对应于以上批量任务插入方法,本发明还提供一种批量任务插入装置200。该批量任务插入装置200包括用于执行上述批量任务插入方法的单元,该装置可以被配置于服务器中。具体地,请参阅图7,该批量任务插入装置200包括初始插入单元210、脚本获取单元220、第一插入单元230以及第二插入单元240。
初始插入单元210,用于将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识。
脚本获取单元220,用于获取预设插入脚本并执行所述预设插入脚本。
在一实施例中,如图8所示,所示批量任务插入装置200还包括查询单元2201和生成单元2202。
查询单元2201,用于通过通用日志查询初始执行器插入第一数据库的SQL语句。
生成单元2202,用于提取所述SQL语句并根据所述SQL语句生成预设插入脚本。
第一插入单元230,用于执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中。
在一实施例中,如图9所示,所述第一插入单元230包括第一获取子单元231和第一赋予单元232。
第一获取子单元,用于获取所述初始执行器的主键标识。
第一赋予单元,用于调用第一预设函数根据所述初始执行器的主键标识通过变量机制赋予待插入执行器对应的主键标识,其中,所述第一预设函数为最大值函数。
第二插入单元240,用于根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。
在一实施例中,如图9所示,所述第二插入单元240包括第二获取子单元241和第二赋予单元242。
第二获取子单元241,用于获取所述待插入执行器对应的主键标识。
第二赋予单元242,用于调用第二预设函数根据所述待插入执行器对应的主键标识通过变量机制赋予待插入任务对应的主键标识,其中,所述第二预设函数为最大值函数。
在一实施例中,如图10所示,所述第二插入单元240包括第三获取子单元243、第三获取子单元243以及插入子单元245。
第三获取子单元243,用于获取所述待插入任务对应的主键标识。
第三赋予单元244,用于调用第二预设函数根据所述待插入任务对应的主键标识通过变量机制赋予下一待插入任务对应的主键标识。
插入子单元245,用于根据下一待插入任务对应的主键标识将下一待插入任务插入到所述待插入执行器中。
在一实施例中,如图9所示,所述脚本获取单元220还包括监听单元221和处理单元222。
监听单元221,用于监听批量的待插入任务,并将监听到的批量待插入任务添加至处理线程池。
处理单元222,用于利用处理线程池中的线程根据所述预设插入脚本并行处理批量待插入任务。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述批量任务插入装置200和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述批量任务插入装置可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图11,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种批量任务插入方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种批量任务插入方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;获取预设插入脚本并执行所述预设插入脚本;执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中;根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。
在一实施例中,处理器502在实现所述获取预设插入脚本并执行所述预设插入脚本步骤之前,还实现如下步骤:通过通用日志查询初始执行器插入第一数据库的SQL语句;提取所述SQL语句并根据所述SQL语句生成预设插入脚本。
在一实施例中,处理器502在实现所述根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识步骤时,具体实现如下步骤:获取所述初始执行器的主键标识;调用第一预设函数根据所述初始执行器的主键标识通过变量机制赋予待插入执行器对应的主键标识,其中,所述第一预设函数为最大值函数。
在一实施例中,处理器502在实现所述根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识步骤时,具体实现如下步骤:获取所述待插入执行器对应的主键标识;调用第二预设函数根据所述待插入执行器对应的主键标识通过变量机制赋予待插入任务对应的主键标识,其中,所述第二预设函数为最大值函数。
在一实施例中,处理器502在实现所述将所述待插入任务插入到所述待插入执行器中步骤时,具体实现如下步骤:获取所述待插入任务对应的主键标识,调用第二预设函数根据所述待插入任务对应的主键标识通过变量机制赋予下一待插入任务对应的主键标识;根据下一待插入任务对应的主键标识将下一待插入任务插入到所述待插入执行器中。
在一实施例中,处理器502在实现所述执行所述预设插入脚本步骤时,具体实现如下步骤:监听批量的待插入任务,并将监听到的批量待插入任务添加至处理线程池;利用处理线程池中的线程根据所述预设插入脚本并行处理批量待插入任务。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;获取预设插入脚本并执行所述预设插入脚本;执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中;根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中。
在一实施例中,所述处理器在执行所述程序指令而实现所述获取预设插入脚本并执行所述预设插入脚本步骤之前,还实现如下步骤通过通用日志查询初始执行器插入第一数据库的SQL语句;提取所述SQL语句并根据所述SQL语句生成预设插入脚本。
在一实施例中,所述处理器在执行所述程序指令而实现所述根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识步骤时,具体实现如下步骤:获取所述初始执行器的主键标识;调用第一预设函数根据所述初始执行器的主键标识通过变量机制赋予待插入执行器对应的主键标识,其中,所述第一预设函数为最大值函数。
在一实施例中,所述处理器在执行所述程序指令而实现所述根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识步骤时,具体实现如下步骤:获取所述待插入执行器对应的主键标识;调用第二预设函数根据所述待插入执行器对应的主键标识通过变量机制赋予待插入任务对应的主键标识,其中,所述第二预设函数为最大值函数。
在一实施例中,所述处理器在执行所述程序指令而实现所述将所述待插入任务插入到所述待插入执行器中步骤时,具体实现如下步骤:获取所述待插入任务对应的主键标识,调用第二预设函数根据所述待插入任务对应的主键标识通过变量机制赋予下一待插入任务对应的主键标识;根据下一待插入任务对应的主键标识将下一待插入任务插入到所述待插入执行器中。
在一实施例中,所述处理器在执行所述程序指令而实现所述执行所述预设插入脚本步骤时,具体实现如下步骤:监听批量的待插入任务,并将监听到的批量待插入任务添加至处理线程池;利用处理线程池中的线程根据所述预设插入脚本并行处理批量待插入任务。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (5)

1.一种批量任务插入方法,其特征在于,包括:
将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;
获取预设插入脚本并执行所述预设插入脚本,其中,通过通用日志查询初始执行器插入第一数据库的SQL语句,提取所述SQL语句并根据所述SQL语句生成预设插入脚本;
执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中,其中,获取所述初始执行器的主键标识,调用第一预设函数根据所述初始执行器的主键标识通过变量机制赋予待插入执行器对应的主键标识,其中,所述第一预设函数为最大值函数;
根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中;
获取所述待插入执行器对应的主键标识;
调用第二预设函数根据所述待插入执行器对应的主键标识通过变量机制赋予待插入任务对应的主键标识,其中,所述第二预设函数为最大值函数;以及
获取所述待插入任务对应的主键标识;
调用第二预设函数根据所述待插入任务对应的主键标识通过变量机制赋予下一待插入任务对应的主键标识;
根据下一待插入任务对应的主键标识将下一待插入任务插入到所述待插入执行器中。
2.根据权利要求1所述的批量任务插入方法,其特征在于,所述执行所述预设插入脚本包括:
监听批量的待插入任务,并将监听到的批量待插入任务添加至处理线程池;
利用处理线程池中的线程根据所述预设插入脚本并行处理批量待插入任务。
3.一种批量任务插入装置,其特征在于,包括:
初始插入单元,用于将初始执行器插入到第一数据库中,其中,所述初始执行器具有对应的主键标识;
脚本获取单元,用于获取预设插入脚本并执行所述预设插入脚本,其中,通过通用日志查询初始执行器插入第一数据库的SQL语句,提取所述SQL语句并根据所述SQL语句生成预设插入脚本;
第一插入单元,用于执行所述预设插入脚本时,根据所述初始执行器的主键标识利用第一预设函数获取待插入执行器对应的主键标识,并将所述待插入执行器插入到第二数据库中,其中,获取所述初始执行器的主键标识,调用第一预设函数根据所述初始执行器的主键标识通过变量机制赋予待插入执行器对应的主键标识,其中,所述第一预设函数为最大值函数;
第二插入单元,用于根据所述待插入执行器对应的主键标识利用第二预设函数获取待插入任务对应的主键标识,并将所述待插入任务插入到所述待插入执行器中;
第二获取子单元,用于获取所述待插入执行器对应的主键标识;
第二赋予单元,用于调用第二预设函数根据所述待插入执行器对应的主键标识通过变量机制赋予待插入任务对应的主键标识,其中,所述第二预设函数为最大值函数;
第三获取子单元,用于获取所述待插入任务对应的主键标识;
第三赋予单元,用于调用第二预设函数根据所述待插入任务对应的主键标识通过变量机制赋予下一待插入任务对应的主键标识;
插入子单元,用于根据下一待插入任务对应的主键标识将下一待插入任务插入到所述待插入执行器中。
4.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-2中任一项所述的方法。
5.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-2中任一项所述的方法。
CN201911284057.8A 2019-12-13 2019-12-13 批量任务插入方法、装置、计算机设备及存储介质 Active CN110990475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911284057.8A CN110990475B (zh) 2019-12-13 2019-12-13 批量任务插入方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911284057.8A CN110990475B (zh) 2019-12-13 2019-12-13 批量任务插入方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110990475A CN110990475A (zh) 2020-04-10
CN110990475B true CN110990475B (zh) 2023-09-08

Family

ID=70093342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911284057.8A Active CN110990475B (zh) 2019-12-13 2019-12-13 批量任务插入方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110990475B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346775A (zh) * 2011-09-26 2012-02-08 苏州博远容天信息科技有限公司 一种基于日志的异构多源数据库同步方法
CN102419754A (zh) * 2010-09-27 2012-04-18 金蝶软件(中国)有限公司 Etl中数据主键号的生成方法及计数器
CN110134512A (zh) * 2019-04-15 2019-08-16 平安科技(深圳)有限公司 集群服务器执行任务的方法、装置、设备及存储介质
CN110275766A (zh) * 2019-06-25 2019-09-24 深圳前海微众银行股份有限公司 一种任务处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720949B2 (en) * 2013-11-22 2017-08-01 Sap Se Client-side partition-aware batching of records for insert operations
US10706022B2 (en) * 2017-01-18 2020-07-07 International Business Machines Corporation Space-efficient secondary indexing on distributed data stores

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419754A (zh) * 2010-09-27 2012-04-18 金蝶软件(中国)有限公司 Etl中数据主键号的生成方法及计数器
CN102346775A (zh) * 2011-09-26 2012-02-08 苏州博远容天信息科技有限公司 一种基于日志的异构多源数据库同步方法
CN110134512A (zh) * 2019-04-15 2019-08-16 平安科技(深圳)有限公司 集群服务器执行任务的方法、装置、设备及存储介质
CN110275766A (zh) * 2019-06-25 2019-09-24 深圳前海微众银行股份有限公司 一种任务处理方法及装置

Also Published As

Publication number Publication date
CN110990475A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN107688500B (zh) 一种分布式任务处理方法、装置、系统及设备
CN111026568B (zh) 数据和任务关系构建方法、装置、计算机设备及存储介质
CN112256558B (zh) 一种测试用例的生成方法、装置、计算机设备及存储介质
CN110188135B (zh) 文件生成方法及设备
CN106991100B (zh) 数据导入方法及装置
CN110781231A (zh) 基于数据库的批量导入方法、装置、设备及存储介质
CN109298924B (zh) 定时任务的管理方法、计算机可读存储介质和终端设备
CN110737594A (zh) 自动生成测试用例的数据库标准符合性测试方法及装置
US8595559B2 (en) Method and apparatus for model-based testing of a graphical user interface
CN113886590A (zh) 数据汇总方法、装置、计算机设备及存储介质
CN112579591B (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN110990475B (zh) 批量任务插入方法、装置、计算机设备及存储介质
CN110941658A (zh) 一种数据导出方法、装置、服务器及存储介质
US10474443B2 (en) Code lineage tool
CN107168822B (zh) Oracle streams的异常修复系统及方法
JP5943753B2 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
CN115757172A (zh) 测试执行方法、装置、存储介质及计算机设备
CN111400243B (zh) 基于流水线服务的研发管理系统以及文件存储方法、装置
CN109240906B (zh) 数据库配置信息适配方法、装置、计算机设备和存储介质
CN115705297A (zh) 代码调用检测方法、装置、计算机设备以及存储介质
WO2020065778A1 (ja) 情報処理装置、制御方法、及びプログラム
CN116680203B (zh) 面向多租户的SaaS平台的测试方法、装置、设备和介质
CN115543227B (zh) 跨系统数据迁移方法、系统、电子设备及存储介质
US20230057746A1 (en) User constrained process mining
CN111414162B (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
GR01 Patent grant
GR01 Patent grant