一种大数据实时计算批量任务实现方法及系统与流程

未命名 10-08 阅读:104 评论:0


1.本发明涉及大数据处理技术领域,尤其涉及一种大数据实时计算批量任务实现方法及系统。


背景技术:

2.随着大数据实时计算在目前的应用越来越多,在并发场景下出现错误数据的情况也越来越多。
3.现有技术是通过开发人员分析场景,通过程序手动加锁规避并发问题,或者通过数据库存储过程控制。但在程序员的能力参差不齐,不能保证每一个并发场景都能允分考虑。尤其是使用了大数据实时计算框架之后,多个开发人员可能在同一个平台上进行开发,同一张表的数据由多个实时计算批量反复处理,又因为其时效性很难对数据进行全量核对。
4.因此,需要提出一种能更快速发现并发场景运行问题的实现方法。


技术实现要素:

5.本发明提供一种大数据并发计算实现方法及系统,用以解决现有技术中针对大数据批量并发场景中数据运行问题需要预置场景和解决方法,不够灵活和实时性不高的缺陷。
6.第一方面,本发明提供一种大数据实时计算批量任务实现方法,包括:
7.获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;
8.若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;
9.若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。
10.根据本发明提供的一种大数据实时计算批量任务实现方法,获取实时计算批量任务操作表,基于所述实时计算批量任务操作表获取多个并发操作场景之前,还包括:
11.确定所述公共空间的存储路径。
12.根据本发明提供的一种大数据实时计算批量任务实现方法,所述多个并发操作场景和任务执行指令,包括:
13.对同一时间同一实时计算批量任务操作表进行数据查询语言dql和数据操纵语言dml的第一场景,以及对同一时间同一实时计算批量任务操作表进行dml的第二场景;
14.基于所述第一场景或所述第二场景,输出任务提醒指令或任务阻断挂起指令。
15.根据本发明提供的一种大数据实时计算批量任务实现方法,若确定执行单个实时计算批量任务,则在公共空间中执行读写操作,包括:
16.将所述单个实时计算批量任务的所有操作表名作为一级key,写入所述公共空间;
17.将所述单个实时计算批量任务的任务id作为二级key,对所述二级key写入是否存
在dql过程的第一value值,以及是否存在dml过程的第二value值。
18.根据本发明提供的一种大数据实时计算批量任务实现方法,若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令,包括:
19.若确定所述多个实时计算批量任务中的所述实时计算批量任务操作表没有被占用,则在所述公共空间中读取所述实时计算批量任务操作表的所述一级key和所述二级key;
20.若确定所述多个实时计算批量任务中的所述实时计算批量任务操作表存在被占用,则判断为所述第一场景或所述第二场景,并根据所述第一场景或所述第二场景,输出任务提醒指令或任务阻断挂起指令。
21.根据本发明提供的一种大数据实时计算批量任务实现方法,还包括:
22.若确定任一实时计算批量任务执行完毕,则从所述公共空间中清除所述实时计算批量任务操作表对应的操作任务;
23.若确定所述实时计算批量任务操作表中无任何操作任务,则将所述实时计算批量任务操作表的key从所述公共空间中删除。
24.第二方面,本发明还提供一种大数据实时计算批量任务实现系统,包括:
25.获取确定模块,用于获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;
26.第一执行模块,用于若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;
27.第二执行模块,用于若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。
28.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述大数据实时计算批量任务实现方法。
29.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述大数据实时计算批量任务实现方法。
30.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述大数据实时计算批量任务实现方法。
31.本发明提供的大数据并发计算实现方法及系统,在大数据实时计算批量并发处理过程中,通过并发任务边执行边识别并发场景中可能出现的问题,并进行实时处理,实现对程序的审视和优化,可直接通过任务挂起规避来高效处理问题。
附图说明
32.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其他的附图。
33.图1是本发明提供的大数据实时计算批量任务实现方法的流程示意图;
34.图2是本发明提供的大数据实时计算批量任务实现系统的结构示意图;
35.图3是本发明提供的电子设备的结构示意图。
具体实施方式
36.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.针对目前在大数据中存在诸多实时并发批处理场景,对于其中存在的数据处理错误,通常都是依赖专业技术人员进行提前预置分析,手动设置问题规避措施,通常无法全面覆盖所有的问题场景,因此,本发明提出一种自动化的大数据实时计算批量任务实现方法,能更快速实时解决可能存在的并发问题。
38.图1是本发明实施例提供的大数据实时计算批量任务实现方法的流程示意图,如图1所示,包括:
39.步骤100:获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;
40.步骤200:若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;
41.步骤300:若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。
42.需要说明的是,本发明实施例首先将每一个实时计算批量任务简称为一个任务,每个任务中一定会涉及到某些数据表。对每一张表的操作,至少分为两个常见类型:数据查询语言(data query language,dql),例如选择select,还有数据操纵语言(data manipulation language,dml),例如升级update、插入insert和删除delete。上述dql和dml均为数据库结构化查询语言(structured query language,sql)语言。
43.具体地,系统获取每个实时计算批量任务的实时计算批量任务操作表,根据该操作表中内容,可以获取任务中的各个并发操作场景,以及对应需要执行的任务执行指令。
44.当为单个任务执行时,由实时计算批量任务操作表进一步确定多个并发操作场景和对应的任务执行指令;当为多个任务执行时,需要在公共空间中查询实时计算批量任务操作表的占用状况,根据占用状况执行读写操作或任务执行指令。
45.本发明在大数据实时计算批量并发处理过程中,通过并发任务边执行边识别并发场景中可能出现的问题,并进行实时处理,实现对程序的审视和优化,可直接通过任务挂起规避来高效处理问题。
46.基于上述实施例,获取实时计算批量任务操作表,基于所述实时计算批量任务操作表获取多个并发操作场景之前,还包括:
47.确定所述公共空间的存储路径。
48.本发明实施例中,前提是选取公共空间,通常是内存或磁盘均可,但需要保证并发安全。
49.基于上述实施例,所述多个并发操作场景和任务执行指令,包括:
50.对同一时间同一实时计算批量任务操作表进行数据查询语言dql和数据操纵语言dml的第一场景,以及对同一时间同一实时计算批量任务操作表进行dml的第二场景;
51.基于所述第一场景或所述第二场景,输出任务提醒指令或任务阻断挂起指令。
52.具体地,本发明实施例需要对所有任务需要操作的表进行登记,设置若存在以下两种场景:
53.1)场景a,存在对同一时间对同一张表进行dql和dml的不同任务;
54.2)场景b、存在对同一时间对同一张表进行dml的不同任务,分别应该提醒还是阻断任务直接挂起。
55.若其它任务释放其操作表,上述被挂起的任务则可继续执行。
56.基于上述实施例,若确定执行单个实时计算批量任务,则在公共空间中执行读写操作,包括:
57.将所述单个实时计算批量任务的所有操作表名作为一级key,写入所述公共空间;
58.将所述单个实时计算批量任务的任务id作为二级key,对所述二级key写入是否存在dql过程的第一value值,以及是否存在dml过程的第二value值。
59.具体地,当单个任务执行时,将任务下所有操作表的表名做为一级key写入公共空间,将任务id做为二级key,对二级key下写入是否存在dql过程、是否存在dml的value值,表示以上表已被该任务占用。
60.基于上述实施例,若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令,包括:
61.若确定所述多个实时计算批量任务中的所述实时计算批量任务操作表没有被占用,则在所述公共空间中读取所述实时计算批量任务操作表的所述一级key和所述二级key;
62.若确定所述多个实时计算批量任务中的所述实时计算批量任务操作表存在被占用,则判断为所述第一场景或所述第二场景,并根据所述第一场景或所述第二场景,输出任务提醒指令或任务阻断挂起指令。
63.具体地,若为多个任务执行时,待前述任务执行完毕,后续任务开始执行时,先从公共空间中判断是否存在该任务需要操作的表已被其它任务占用的情况。若不存在,按照单个任务执行步骤进行。若存在占用,判断是否存在a或b两种场景,按照设置的执行命令进行提醒或阻断。
64.不难发现,上述方法是大数据实时计算批量场景并发问题的通用发现方法,可通过该方法来发现可能的并发场景,审视和优化程序,在某些场景下可直接通过任务挂起规避并发问题。
65.基于上述实施例,还包括:
66.若确定任一实时计算批量任务执行完毕,则从所述公共空间中清除所述实时计算批量任务操作表对应的操作任务;
67.若确定所述实时计算批量任务操作表中无任何操作任务,则将所述实时计算批量任务操作表的key从所述公共空间中删除。
68.具体地,当一个任务执行完毕,将公共空间中该任务所有操作表的相关任务清除。若该表已经无任务在占用,则将该表的key从公共空间删除。
69.本发明通过将大数据实时计算批量并发处理过程中的复杂任务分解为通过表操作是否会有互相影响来判断是否可能存在并发问题,提供了通用解决思路,在大数据实时计算批量并发处理过程中,现有方法通常是靠技术人员预先思考可能的并发场景,并提前进行并发设计,而本发明的方法是在程序开发完成和运行过程中发现问题,再进行处理。本发明提出的方法在复杂的大数据实时计算批量并发场景下有低门槛优势,并可以对现有的方法进行有效的补充。
70.下面对本发明提供的大数据实时计算批量任务实现系统进行描述,下文描述的大数据实时计算批量任务实现系统与上文描述的大数据实时计算批量任务实现方法可相互对应参照。
71.图2是本发明实施例提供的大数据实时计算批量任务实现系统的结构示意图,如图2所示,包括:获取确定模块21、第一执行模块22和第二执行模块23,其中:
72.获取确定模块21用于获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;第一执行模块22用于若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;第二执行模块23用于若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。
73.图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行大数据实时计算批量任务实现方法,该方法包括:获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。
74.此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
75.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的大数据实时计算批量任务实现方法,该方法包括:获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;若确
定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。
76.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的大数据实时计算批量任务实现方法,该方法包括:获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。
77.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
78.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
79.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种大数据实时计算批量任务实现方法,其特征在于,包括:获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。2.根据权利要求1所述的大数据实时计算批量任务实现方法,其特征在于,获取实时计算批量任务操作表,基于所述实时计算批量任务操作表获取多个并发操作场景之前,还包括:确定所述公共空间的存储路径。3.根据权利要求1所述的大数据实时计算批量任务实现方法,其特征在于,所述多个并发操作场景和任务执行指令,包括:对同一时间同一实时计算批量任务操作表进行数据查询语言dql和数据操纵语言dml的第一场景,以及对同一时间同一实时计算批量任务操作表进行dml的第二场景;基于所述第一场景或所述第二场景,输出任务提醒指令或任务阻断挂起指令。4.根据权利要求3所述的大数据实时计算批量任务实现方法,其特征在于,若确定执行单个实时计算批量任务,则在公共空间中执行读写操作,包括:将所述单个实时计算批量任务的所有操作表名作为一级key,写入所述公共空间;将所述单个实时计算批量任务的任务id作为二级key,对所述二级key写入是否存在dql过程的第一value值,以及是否存在dml过程的第二value值。5.根据权利要求4所述的大数据实时计算批量任务实现方法,其特征在于,若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令,包括:若确定所述多个实时计算批量任务中的所述实时计算批量任务操作表没有被占用,则在所述公共空间中读取所述实时计算批量任务操作表的所述一级key和所述二级key;若确定所述多个实时计算批量任务中的所述实时计算批量任务操作表存在被占用,则判断为所述第一场景或所述第二场景,并根据所述第一场景或所述第二场景,输出任务提醒指令或任务阻断挂起指令。6.根据权利要求1所述的大数据实时计算批量任务实现方法,其特征在于,还包括:若确定任一实时计算批量任务执行完毕,则从所述公共空间中清除所述实时计算批量任务操作表对应的操作任务;若确定所述实时计算批量任务操作表中无任何操作任务,则将所述实时计算批量任务操作表的key从所述公共空间中删除。7.一种大数据实时计算批量任务实现系统,其特征在于,包括:获取确定模块,用于获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;第一执行模块,用于若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;第二执行模块,用于若确定执行多个实时计算批量任务,则在所述公共空间中获取所
述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述大数据实时计算批量任务实现方法。9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述大数据实时计算批量任务实现方法。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述大数据实时计算批量任务实现方法。

技术总结
本发明提供一种大数据实时计算批量任务实现方法及系统,属于大数据处理技术领域,包括:获取实时计算批量任务操作表,基于所述实时计算批量任务操作表确定多个并发操作场景和任务执行指令;若确定执行单个实时计算批量任务,则在公共空间中执行读写操作;若确定执行多个实时计算批量任务,则在所述公共空间中获取所述实时计算批量任务操作表的占用状况,根据所述占用状况执行读写操作或任务执行指令。本发明在大数据实时计算批量并发处理过程中,通过并发任务边执行边识别并发场景中可能出现的问题,并进行实时处理,实现对程序的审视和优化,可直接通过任务挂起规避来高效处理问题。问题。问题。


技术研发人员:徐晋毅 李耀 彭磊
受保护的技术使用者:武汉众邦银行股份有限公司
技术研发日:2023.06.27
技术公布日:2023/10/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐