System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,具体而言,涉及一种数据的处理方法和装置、存储介质及电子设备。
技术介绍
1、当前,java已成为大数据处理领域的绝对主流,众多高性能成熟技术如spark、flink和hadoop等均在jvm(java virtual machine,java虚拟机)上运行。
2、现有的关于数据处理的主流数据处理框架有flume和seatunnel,数据处理框架包括多个业务点agent,每个agent对数据做一个业务处理,其中,多个业务点agent中每个agent运行在各自的jvm中。因为是多个agent就是多个jvm,但是用于处理数据的总的虚拟机资源是一定的,通常是为每个jvm平均分配虚拟机资源,但是每个jvm中agent对数据的处理操作不同,复杂度可能差别较大,所需的虚拟机资源也存在很大差异,部分jvm中的agent可能存在多余的虚拟机资源,而处理操作复杂度较高的agent在jvm中可能出现虚拟机资源不足,频繁导致gc,大量cpu资源浪费在执行资源回收上,降低数据处理的效率。此外,现有的方案中,在调用线程对数据进行处理时使用的是有锁队列,导致线程无法与cpu绑定,线程会出现频繁让出cpu的执行权限,cpu大量的资源损耗在频繁进行上下文切换,重现线程执行现场上,影响数据处理任务的效率。
3、针对相关技术中,数据的处理效率较低等问题,尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种数据的处理方法和装置、存储介质及电子设备,以至少解
2、根据本申请实施例的一个实施例,提供了一种数据的处理方法,包括:
3、接收目标执行指令,其中,所述目标执行指令用于指示按照目标执行顺序依次对目标数据执行多个数据处理操作;
4、响应所述目标执行指令,从目标虚拟机的任务组件集合中筛选出允许执行所述数据处理操作的目标任务组件,得到多个所述目标任务组件;
5、根据每个所述数据处理操作被执行时所需的虚拟机资源的大小为对应的所述目标任务组件分配缓冲队列参数和处理器线程参数,其中,每个所述目标任务组件部署了缓冲队列和处理器线程,所述缓冲队列用于对所述目标任务组件接收的数据进行缓冲,所述缓冲队列为环形无锁队列,所述缓冲队列参数用于指示对应所述目标任务组件中的所述缓冲队列对数据进行缓冲的能力,所述处理器线程允许对所述缓冲队列中的数据进行处理,所述处理器线程参数用于指示对应所述目标任务组件中的所述处理器线程对所述缓冲队列中的数据进行处理的能力,所述目标任务组件为允许执行对应的所述数据处理操作的任务组件;
6、按照所述目标执行顺序在所述目标虚拟机中依次调用多个所述目标任务组件运行对应的所述缓冲队列参数和所述处理器线程参数对所述目标数据进行处理。
7、可选的,所述根据每个所述数据处理操作被执行时所需的虚拟机资源的大小为对应的所述目标任务组件分配缓冲队列参数和处理器线程参数,包括:
8、根据全局配置参数、组件配置参数和所述目标虚拟机的总虚拟机内存为对应的所述目标任务组件分配缓冲队列参数,其中,所述全局配置参数用于指示所述目标数据在所述目标虚拟机中处理时允许调用的参考内存资源的大小,所述全局配置参数与所述参考内存资源呈正相关,所述组件配置参数用于指示对应的所述目标任务组件在执行对应的所述数据处理操作时所需的候选内存资源的大小,所述组件配置参数与所述候选内存资源呈正相关,所述虚拟机资源包括所述参考内存资源和所述候选内存资源;
9、根据每个所述数据处理操作被执行时所需的参考处理器资源的大小,以及所述目标虚拟机对应的处理器的总处理器资源为对应的所述目标任务组件分配处理器线程参数,其中,所述虚拟机资源包括所述参考处理器资源。
10、可选的,所述根据全局配置参数、组件配置参数和所述目标虚拟机的总虚拟机内存为对应的所述目标任务组件分配缓冲队列参数,包括:
11、在所述全局配置参数为a、所述组件配置参数为b、所述目标虚拟机的总虚拟机内存为16g的情况下,通过如下方式根据全局配置参数、组件配置参数和所述目标虚拟机的总虚拟机内存为对应的所述目标任务组件分配缓冲队列长度l:
12、在a大于2、b等于2的情况下,l=1<<15;
13、在a大于2、b等于1的情况下,l=1<<14;
14、在a大于2、b等于0.5的情况下,l=1<<12;
15、在a小于0.5的情况下,l=1<<11;
16、在b小于0.5的情况下,l=1<<11;
17、在a大于或者等于0.5且小于或者等于2、b大于或者等于0.5且小于或者等于2的情况下,通过如下公式计算l:
18、l=1<<(10+2)×a×b;
19、其中,<<为左移运算符,所述缓冲队列参数包括所述缓冲队列长度,所述缓冲队列长度是指对应所述目标任务组件中的所述缓冲队列的长度。
20、可选的,所述根据每个所述数据处理操作被执行时所需的参考处理器资源的大小,以及所述目标虚拟机对应的处理器的总处理器资源为对应的所述目标任务组件分配处理器线程参数,包括:
21、在所述数据处理操作被执行时所需的参考处理器资源大于预设处理器资源,所述目标虚拟机对应的处理器的总处理器资源包括m个执行单元的情况下,为对应的所述目标任务组件分配第一处理器线程数目的第一处理器线程,其中,所述第一处理器线程数目为大于p且小于m的正整数,每个所述第一处理器线程绑定了m个所述执行单元中的1个所述执行单元,所述第一处理器线程在未处理数据时,将保持与当前绑定的所述执行单元的连接,并尝试获取其他数据,所述处理器线程参数包括所述第一处理器线程数目;
22、在所述数据处理操作被执行时所需的参考处理器资源小于或者等于所述预设处理器资源,所述目标虚拟机对应的处理器的总处理器资源包括m个执行单元的情况下,为对应的所述目标任务组件分配第二处理器线程数目的第二处理器线程,其中,第二处理器线程数目为小于q的正整数,q小于p,每个所述第二处理器线程在未处理数据时,将断开与当前绑定的所述执行单元的连接,停止获取其他数据,所述处理器线程参数包括所述第二处理器线程数目。
23、可选的,所述从目标虚拟机的任务组件集合中筛选出允许执行所述数据处理操作的目标任务组件,得到多个所述目标任务组件,包括:
24、获取所述目标数据对应的目标有向无环图,其中,所述目标有向无环图包括依次连接的多个图节点,多个所述图节点中的一个所述图节点用于表示一个所述目标任务组件,每个所述目标任务组件用于执行多个所述数据处理操作中的一个所述数据处理操作,多个所述图节点的连接顺序用于表示多个所述数据处理操作的所述目标执行顺序;
25、从目标虚拟机的任务组件集合中筛选出所述目标有向无环图中的本文档来自技高网...
【技术保护点】
1.一种数据的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求2所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.一种数据的处理装置,其特征在于,
9.一种计算机可读存储介质,其特征在于,
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
【技术特征摘要】
1.一种数据的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求2所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,
6.根据权利要求5所述...
【专利技术属性】
技术研发人员:张婷娟,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。