一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据调度方法、装置、终端及存储介质与流程

2022-03-19 21:32:43 来源:中国专利 TAG:


1.本发明涉及大数据技术领域,尤其涉及一种数据调度方法、装置、终端及存储介质。


背景技术:

2.随着大数据的应用范围越来越广泛,针对不同事件之间的数据调度也越来越频繁,目前通常设定固定的时间处理不同的事件,从而实现各个事件之间的调度,但是这种方法会导致调度数据的效率低下,同时数据处理性能降低。


技术实现要素:

3.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明实施例提出一种数据调度方法、装置、终端及存储介质,以提高数据调度的效率。
4.一方面,本发明实施例提供一种数据调度方法,包括:获取第一数据,存放至第一位置作为第二数据;确定所述第一位置的所述第二数据的数据量大于或等于第一判断阈值,则发送第一信息至调度中心;所述调度中心接收到所述第一信息,根据所述第一信息确定是否生成第一事件,若生成所述第一事件,则发送第一通知给已订阅所述第一事件的第一订阅程序,以使:所述第一订阅程序从所述第一位置提取所述第二数据,处理得到第三数据并存放于第二位置,所述第一订阅程序确定所述第二位置的第三数据的数据量大于或等于第二判断阈值,则发送第二信息至所述调度中心。
5.根据本发明实施例的数据调度方法,至少具有如下有益效果:通过调度中心接收第一信息并确定是否生成第一事件,确定生成第一事件后发送第一通知给对应的第一订阅程序,根据第一订阅程序执行相对应的处理。通过这种方法,实现了不同事件之间的实时调度,从而提高了数据调度和数据处理的效率。
6.根据本发明的一些实施例,所述获取第一数据,存放至第一位置作为第二数据,包括以下至少一个步骤:获取第一数据,确定所述第一数据的数据量大于或等于第三判断阈值,划分所述第一数据为一个或多个第一批次数据,存放第一批次数据至第一位置作为第二数据;其中所述第一批次数据的数据量小于或等于第一划分阈值,所述第一划分阈值表征存放所述第一数据到第一位置时每次能够处理的最大数据量;或者,获取第一数据,确定所述第一数据的数据量小于所述第三判断阈值,继续获取所述第一数据。
7.根据本发明的一些实施例,所述方法还包括:确定所述第一位置的所述第二数据的数据量小于第一判断阈值,则继续存放所述第一数据到第一位置。
8.根据本发明的一些实施例,所述第一订阅程序从所述第一位置提取所述第二数据,处理得到第三数据,包括以下步骤:确定已订阅所述第一事件的第一订阅程序为清洗数据,则所述第一订阅程序从所述第一位置提取所述第二数据,清洗得到第三数据并存放于第二位置,所述第一订阅程序确定所述第二位置的第三数据的数据量大于第二判断阈值,则发送第二信息至所述调度中
心。
9.根据本发明的一些实施例,所述第一订阅程序从所述第一位置提取所述第二数据,处理得到第三数据,包括以下步骤:确定已订阅所述第一事件的第一订阅程序为将数据进行建模,则所述第一订阅程序从所述第一位置提取所述第二数据,将第二数据进行建模得到第三数据并存放于第二位置,所述第一订阅程序确定所述第二位置的第三数据的数据量大于第二判断阈值,则发送第二信息至所述调度中心。
10.根据本发明的一些实施例,所述调度中心接收到所述第一信息,根据所述第一信息确定是否生成第一事件;当确定所述调度中心不生成所述第一事件,则获取发送所述第一信息的第一订阅程序,确定第一订阅程序处理得到的第三数据,将所述第三数据进行缓存。
11.根据本发明的一些实施例,所述方法还包括:所述第一订阅程序确定所述第二位置的第三数据的数据量小于第二判断阈值,则继续通过所述第一订阅程序从所述第一位置提取所述第二数据,处理得到第三数据并存放于第二位置。
12.另一方面,本发明实施例提供一种数据调度装置,包括:第一模块,用于获取第一数据,存放至第一位置作为第二数据;第二模块,用于确定所述第一位置的所述第二数据的数据量大于或等于第一判断阈值,则发送第一信息至调度中心;第三模块,用于所述调度中心接收到所述第一信息,根据所述第一信息确定是否生成第一事件,若生成所述第一事件,则发送第一通知给已订阅所述第一事件的第一订阅程序,以使:所述第一订阅程序从所述第一位置提取所述第二数据,处理得到第三数据并存放于第二位置,所述第一订阅程序确定所述第二位置的第三数据的数据量大于或等于第二判断阈值,则发送第二信息至所述调度中心。
13.根据本发明实施例的数据调度装置,至少具有如下有益效果:通过调度中心接收第一信息并确定是否生成第一事件,确定生成第一事件后发送第一通知给对应的第一订阅程序,根据第一订阅程序执行相对应的处理。通过这种方法,实现了不同事件之间的实时调度,从而提高了数据调度和数据处理的效率。
14.另一方面,本发明实施例还提供一种计算机设备,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如上所述的任一项所述的数据调度方法。
15.根据本发明实施例的计算机设备,至少具有与上述的数据调度方法同样的有益效果。
16.另一方面,本发明实施例提供一种存储介质,所述存储介质内存储有程序指令,所述程序指令被处理器执行时实现能够实现如上所述的任一项所述的数据调度方法。
17.根据本发明实施例的存储介质,至少具有与上述的数据调度方法同样的有益效果。
18.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
19.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得
明显和容易理解,其中:图1是本发明实施例提供的数据调度方法的步骤总流程示意图;图2是图1中步骤s100的流程示意图;图3是图1中步骤s200的流程示意图;图4是图1中步骤s300的第一种流程示意图;图5是图1中步骤s300的第二种流程示意图;图6是图1中步骤s300的第三种流程示意图;图7是本发明实施例提供的数据调度装置的示意框图;图8是本发明实施例的设备的示意框图。
具体实施方式
20.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。在本后续的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
21.随着大数据的发展,不仅需要解决大规模、多样化数据的高效存储问题,同时还需要解决大规模、多样化数据的高效处理问题。而目前针对大数据批处理的方法中,在数据采集程序批量推送采集数据至接收服务器,待数据接入服务器将数据存入数据库后,后期的数据清洗,数据转换等相关服务都需要通过设置实时任务来调度执行。不同的数据处理之间只能通过相关领域技术人员通过执行时间来判定数据处理情况,从而合理排版调度周期,这种方法就会导致数据无法及时调度的问题。
22.为此,本发明实施例提供一种数据调度方法、装置、设备及存储介质,能提高数据调度的速率,便于后续的数据处理。
23.如图1所示,本发明的实施例提供了一种数据调度方法,包括以下步骤:步骤s100,获取第一数据,存放至第一位置作为第二数据。
24.通过数据采集器对第一数据进行采集,例如:sql server 2008性能数据采集器。随后数据采集器推送数据到相关的数据处理程序获取第一数据,并且相关数据处理程序将第一数据写入到第一位置作为第二数据,相关的数据处理程序可以是数据接收服务等。要说明的是,也可以通过其他方式对数据进行采集。
25.在另一实施例中,步骤s100,获取第一数据,存放至第一位置作为第二数据中,包括以下至少一个步骤,如图2所示:步骤s110,获取第一数据,确定第一数据的数据量大于或等于第三判断阈值,划分第一数据为一个或多个第一批次数据,存放第一批次数据至第一位置作为第二数据;其中
第一批次数据的数据量小于或等于第一划分阈值,第一划分阈值表征存放第一数据到第一位置时每次能够处理的最大数据量;步骤s120,获取第一数据,确定第一数据的数据量小于第三判断阈值,继续获取第一数据。
26.具体地,在将第一数据写入到第一位置时,需要判断第一数据的数据量大小是否达到可以写入到第一位置的第三判断阈值,当确定第一数据的数据量小于第三判断阈值,则继续获取第一数据直到第一数据的数据量大于或者等于第三判断阈值;当确定第一数据达到可以写入第一位置的第三判断阈值后,将第一数据根据第一划分阈值分成一个或者多个第一批次数据,其中第一批次数据小于或者等于第一划分阈值,此时将第一批次数据分批存放到第一位置作为第二数据,其中要说明的是,第三判断阈值和第一划分阈值都是从多次训练筛选出来的目标结果,可以根据相关领域技术人员的先验知识或者实际的需要进行选取。例如:需要不断接收记录然后读取到第一位置中,接收全部的记录并且一次性读取过去的数据量非常大,读取过程中很容易出现问题甚至无法传输,但是如果接收到一条记录就读过去一条记录又需要耗费大量的资源,或者采用定时读取数据到第一位置,又会在每个定时周期调度处理在时间周期内堆积的大量数据,导致程序需要大量资源(如内存、cpu)的支撑。因此设置第三判断阈值,假设根据需求设置第三判断阈值为100兆,确定当有一万条记录的时候对应的数据量为100兆,确定接收到的记录对应的数据量达到第三判断阈值,此时就将接收到的记录存放到第一位置;但是此刻将100兆的记录全部读取到第一位置风险还是很大,因此将100兆的记录根据第一划分阈值划分成第一批次数据,假设第一划分阈值为8兆,划分的第一批次数据要小于或者等于8兆,再多批次地发送第一批次数据到第一位置。要说明的是,接收第一数据,判断第一数据能否进行传送,以及将第一数据进行划分后发送都是同时进行的,即,当确定有数据,即对数据进行相对应的操作。通过这种方法,将数据处理的及时性大大提升,处理周期细化至秒级。
27.步骤s200,确定第一位置的第二数据的数据量大于或等于第一判断阈值,则发送第一信息至调度中心;具体地,将第一位置的第二数据的数据量与第一判断阈值进行对比,当第二数据的数据量大于第一判断阈值,发送第一信息到调度中心,用于提醒调度中心已经完成了将第一数据存放到第一位置的工作。其中要说明的是,第一判断阈值用于从多次训练筛选出来的目标结果,第一判断阈值可以根据相关技术人员的先验知识或者实际的需要进行选取,示例性地可以是100兆、150兆等数值。通过这种方法,使得相关程序的资源消耗大大降低,进一步优化了程序资源消耗性能,例如:通常通过获取一条数据后存放一条数据到对应位置来进行操作,或者通过数据采集器采集数据并推送到数据接收服务,数据接收服务写入数据至对应存储数据的位置后,设置定时调度来进行对数据的处理。但是这种方式性能开销非常大,同时效率非常低下。因此利用调度中心,设定第一判断阈值为100兆,确定第一位置中的第一数据大于或者等于100兆之后,说明该批次数据已经完成推送,因此发送第一信息到调度中心,表明系统已经完成数据推送。其中,调度中心可以采用消息中间件来实现,消息中间件是在分布式系统中完成消息的发送和接收的基础软件。消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩
展进程的通信。目前常用的消息中间件包括:activemq、rabbitmq、rocketmq、kafka、zeromq等。除了消息中间件之外,还可以采用其他能实现调度消息传送的相关软件。
28.在另一实施例中,步骤s200中,如图3所示,还包括:步骤s210,确定第一位置的第二数据的数据量小于第一判断阈值,则继续存放第一数据到第一位置。
29.步骤s300,调度中心接收到第一信息,根据第一信息确定是否生成第一事件,若生成第一事件,则发送第一通知给已订阅第一事件的第一订阅程序,以使:第一订阅程序从第一位置提取第二数据,处理得到第三数据并存放于第二位置,第一订阅程序确定第二位置的第三数据的数据量大于或等于第二判断阈值,则发送第二信息至调度中心。
30.具体地,调度中心在接收到第一信息后如果确定生成第一事件,则发送第一通知给已订阅第一事件的第一订阅程序。其中,每个事件可以对应多个订阅程序,但是每个订阅程序只能监听调度中心广播的一个通知,以防止出现循环执行第一订阅程序的情况。第一通知发送给对应的第一订阅程序后,第一订阅程序从第二位置提取第二数据,将第二数据进行相对应的处理得到第三数据,并将第三数据存放到第二位置,直到确定第三数据大于第二判断阈值,发送第二信息到调度中心。
31.在另一实施例中,步骤s300中,第一订阅程序从第一位置提取第二数据,处理得到第三数据,包括以下步骤,如图4所示:步骤s310,确定已订阅第一事件的第一订阅程序为清洗数据,则第一订阅程序从第一位置提取第二数据,清洗得到第三数据并存放于第二位置,第一订阅程序确定第二位置的第三数据的数据量大于第二判断阈值,则发送第二信息至调度中心。
32.步骤s320,确定已订阅第一事件的第一订阅程序为将数据进行建模,则第一订阅程序从第一位置提取第二数据,将第二数据进行建模得到第三数据并存放于第二位置,第一订阅程序确定第二位置的第三数据的数据量大于第二判断阈值,则发送第二信息至调度中心。
33.在另一实施例中,步骤s300中,确定调度中心是否生产第一事件还包括如下,如图5所示:步骤s330,调度中心接收到第一信息,根据第一信息确定是否生成第一事件;步骤s340,当确定调度中心不生成第一事件,则获取发送第一信息的第一订阅程序,确定第一订阅程序处理得到的第三数据,将第三数据进行缓存。
34.具体地,在第一订阅程序从第一位置提取第二数据,处理得到第三数据中,对于数据的处理包括不限于将步骤划分为清洗、加工、融合、标注、建模等等,根据不同数据的处理,结合彼此之间的数据关系将不同的处理形成调度链,例如:调度中心接收到第一信息后生成第一事件,发送第一通知给已经订阅第一事件的第一订阅程序,其中第一订阅程序为清洗数据,即第一订阅程序从第一位置中提取出来第二数据清洗后得到第三数据并存放到第二位置,判断第二位置的第三数据的数据量大于第二判断阈值,则发送第二信息到调度中心,此时调度中心接收到第二信息后根据第二信息确定生成第二事件,确定订阅第二事件的第二订阅程序,确定第二订阅程序为从第二位置中提取第三数据,将第三数据进行建模得到第四数据并发送到第三位置,确定第四数据发送到第三位置,发送第三信息到调度中心表明对第三数据的建模完成,在调度中心接收到第三信息后确定不生成第三事件,说
明发送第三信息的第二订阅程序在处理数据结束后,没有对应的订阅了相关事件的订阅程序,即该第二订阅程序是整个事件处理的最终执行程序,此时将第二订阅程序处理得到的第四数据进行缓存供第三方业务进行调用,结束了对调度链的执行。其中为了防止出现循环执行调度链的情况,限制每个事件可以对应多个订阅程序,但是每个订阅程序只能监听调度中心广播的一个通知。
35.在另一实施例中,在步骤s300中,如图6所示,还包括:步骤s350,第一订阅程序确定第二位置的第三数据的数据量小于第二判断阈值,则继续通过第一订阅程序从第一位置提取第二数据,处理得到第三数据并存放于第二位置。
36.一方面,参照图7,本实施例提供一种数据调度装置700,至少包括:第一模块710、第二模块720以及第三模块730。
37.第一模块710获取第一数据,将第一数据存放到第一位置作为第二数据,输出第二数据到第二模块720,第二模块720通过判断第二数据的数据量与第一判断阈值的大小,确定第二数据的数据量大于或者等于第一判断阈值则发送第一信息到调度中心;第三模块730用于调度中心接收第一信息,根据第一信息确定是否生成第一事件,若生成第一事件,发送第一通知给已经订阅第一事件的第一订阅程序。其中第一订阅程序从第一位置提取第二数据,将第二数据进行相对应的处理,例如:建模、清洗等等,得到第三数据并存放到第二位置,继而判断第二位置中第三数据的数据量与第二判断阈值的大小,确定第三数据的数据量大于或者等于第二判断阈值,发送第二信息到调度中心,用来表明程序已经执行完成,可以继续根据第二信息获取订阅对应事件的程序。
38.参照图8,本实施例提供一种电子设备,包括处理器810以及与处理器810耦接的存储器820,存储器820存储有可被处理器810执行的程序指令,处理器810执行存储器820存储的程序指令时实现上述的数据调度方法。其中,处理器810还可以称为cpu(central processing unit,中央处理单元)。处理器810可能是一种集成电路芯片,具有信号的处理能力。处理器810还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器,或者,通用处理器还可以是任何常规的处理器等。存储器820可包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任意组合。存储器820还可包括:(例如,存储于一个或多个机器可读介质的)指令(例如,软件);该指令实现上述实施例中的数据调度方法。该电子设备具有搭载并运行本发明实施例提供的数据调度的软件系统的功能,例如,个人计算机(personal computer,pc)、手机、智能手机、个人数字助手 (personal digital assistant,pda)、可穿戴设备、掌上电脑ppc(pocket pc)、平板电脑等。
39.本实施例提供一种计算机可读存储介质,该存储介质存储有程序,该程序被处理器执行实现上述的数据调度方法。
40.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不
限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
41.本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述的业务数据处理方法。
42.此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
43.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
44.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
45.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
46.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
47.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
48.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
49.以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献