1.本发明涉及计算机技术相关技术领域,具体涉及一种自变速跑批方法及系统。
背景技术:2.跑批概括而言就是批量处理数据,针对大数据量,自动完成批处理任务,主要用于批处理领域。跑批技术最开始是基于单机,也就是单台计算机上进行运行。
3.跑批在单机上运行的时候受单机性能配置限制,且存在着单点故障(single point of failure,spof),在系统中一点失效时,整个系统均无法运作。现代技术中为了解决上述问题采用了集群、分布式系统、数据分片等技术,以求能够利用更多的机器处理更多的数据,并且避免单点故障。
4.但本技术发明人在实现本技术实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
5.现有技术中的跑批系统在运行过程中需要根据任务线程数量手动调节并发数和服务节点数量,且在任务暂停时无法释放相关资源,存在着跑批方法不够智能、跑批效率较低的技术问题。
技术实现要素:6.本技术实施例通过提供了一种自变速跑批方法及系统,用于针对解决现有技术中的跑批系统在运行过程中需要根据任务线程数量手动调节并发数和服务节点数量,且在任务暂停时无法释放相关资源,存在着跑批方法不够智能、跑批效率较低的技术问题。
7.鉴于上述问题,本技术实施例提供了一种自变速跑批方法及系统。
8.本技术实施例的第一个方面,提供了一种自变速跑批方法,所述方法包括:获得底层服务状态信息;根据所述底层服务状态信息,获得匹配任务配置信息,其中,任务匹配信息包括底层服务的并发数;获得底层服务指标信息;根据所述底层服务指标信息,获得任务服务状态;基于所述任务服务状态对所述底层服务状态信息进行更新,获得更新底层服务状态;根据所述更新底层服务状态,获得更新并发数,并根据所述更新并发数对底层服务的并发数进行变更。
9.本技术实施例的第二个方面,提供了一种自变速跑批系统,其中,所述系统包括:第一获得单元,所述第一获得单元用于获得底层服务状态信息;第二获得单元,所述第二获得单元用于根据所述底层服务状态信息,获得匹配任务配置信息,其中,任务匹配信息包括底层服务的并发数;第三获得单元,所述第三获得单元用于获得底层服务指标信息第四获得单元,所述第四获得单元用于根据所述底层服务指标信息,获得任务服务状态;第一处理单元,所述第一处理单元用于基于所述任务服务状态对所述底层服务状态信息进行更新,获得更新底层服务状态;第二处理单元,所述第二处理单元用于根据所述更新底层服务状态,获得更新并发数,并根据所述更新并发数对底层服务的并发数进行变更。
10.本技术实施例的第三个方面,提供了一种自变速跑批系统,包括:处理器,所述处
理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使装置以执行如第一方面所述方法的步骤。
11.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
12.1.本技术实施例提供的自变速跑批方法及系统,通过定时监测底层服务的各类指标信息,能够按照这些指标信息自动按照规则实时变更任务的并发数,进而达到自动调节跑批任务速度的目的,充分利用底层服务资源;
13.2.在跑批的某一个任务暂停时,可暂停读取该被暂停任务关联的数据源,释放线程资源给其他未暂停的任务进行跑批,充分利用资源;
14.3.采用集群和分布式系统进行跑批的过程中,给各跑批节点配置性能指标阈值,在各节点服务器达到该阈值后并持续一预定的时间后,系统自动启动新的跑批服务节点,提升跑批性能;
15.4.对于跑批任务中的数据,按照不同的优先级进行分组,按照优先级优先处理高优先级的任务数据,实现优先级控制。
16.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
17.图1为本技术实施例提供的一种自变速跑批方法流程示意图;
18.图2为本技术实施例提供的一种自变速跑批方法中获得暂停读取指令流程示意图;
19.图3为本技术实施例提供的一种自变速跑批方法中调节服务节点数量流程示意图;
20.图4为本技术实施例提供的一种自变速跑批方法中设置任务优先级流程示意图;
21.图5为本技术实施例提供的一种自变速跑批方法的流程框图;
22.图6为本技术实施例提供了一种自变速跑批系统结构示意图;
23.图7为本技术实施例示例性电子设备的结构示意图。
24.附图标记说明:第一获得单元11,第二获得单元12,第三获得单元13,第四获得单元14,第一处理单元15,第二处理单元16,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
25.本技术实施例通过提供了一种自变速跑批方法及系统,用于针对解决现有技术中的跑批系统在运行过程中需要根据任务线程数量手动调节并发数和服务节点数量,且在任务暂停时无法释放相关资源,存在着跑批方法不够智能、跑批效率较低的技术问题。
26.本技术实施例通过定时监测底层服务的各类指标信息,能够按照这些指标信息自动按照规则实时变更任务的并发数,进而达到自动调节跑批任务速度的目的,充分利用底层服务资源;而在跑批的某一个任务暂停时,可暂停读取该被暂停任务关联的数据源,释放线程资源给其他未暂停的任务进行跑批;本技术实施例在集群和分布式系统进行跑批的过
程中,给各跑批节点配置性能指标阈值,在各节点服务器达到该阈值后并持续一预定的时间后,系统自动启动新的跑批服务节点;并且对于跑批任务中的数据,按照不同的优先级进行分组,按照优先级优先处理高优先级的任务数据。本技术实施例通过上述方法实现了跑批服务自适应伸缩、批并发数自动调节、任务暂停不会占用服务器资源、跑批任务优先级控制等目的,达到了高性能、高可用、高可扩展、自动变速跑批的技术效果。
27.申请概述
28.跑批概括而言就是批量处理数据,针对大数据量,自动完成批处理任务,主要用于批处理领域。跑批技术最开始是基于单机,也就是单台计算机上进行运行。跑批在单机上运行的时候受单机性能配置限制,且存在着单点故障,单点故障是在系统中一点失效时,让整个系统均无法运作的部件,换句话说,单点故障即会整体故障,甚至存在数据丢失风险。现代技术中为了解决上述问题采用了集群、分布式系统、数据分片等技术,以求能够利用更多的机器处理更多的数据,并且避免单点故障。
29.集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组回,并以单一系统的模答式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。可以避免单点故障。
30.分布式系统和集群的概念类似,目的是为了利用更多的机器,处理更多的数据。
31.数据分片,又常称为partition、sharding。狭义上是指数据存储系统,把大表切分成更小的切片的过程,分割后的数据块会分布在多个服务器中。广义上的数据分片也包含数据计算分片,即将的请求路由到不同的服务器上进行数据计算处理。
32.在单机或者说跑批的单个节点上,可以通过多线程来提高数据处理的效率。
33.但是,尽管现有技术中的跑批系统基本上均采用了上述技术,但现有技术中的跑批系统在运行过程中先启动固定数量服务节点,每个服务节点上处理任务的线程数是固定的,如果服务器压力大时,仍需要根据任务线程数量手动调节并发数和服务节点数量,且在任务暂停时无法释放相关资源,一直保持等待该暂定任务再次启动,存在着跑批方法不够智能、跑批效率较低的技术问题。
34.针对上述技术问题,本技术提供的技术方案总体思路如下:
35.本技术实施例提供了一种自变速跑批方法,所述方法包括:获得底层服务状态信息;根据所述底层服务状态信息,获得匹配任务配置信息,其中,任务匹配信息包括底层服务的并发数;获得底层服务指标信息;根据所述底层服务指标信息,获得任务服务状态;基于所述任务服务状态对所述底层服务状态信息进行更新,获得更新底层服务状态;根据所述更新底层服务状态,获得更新并发数,并根据所述更新并发数对底层服务的并发数进行变更。
36.在介绍了本技术基本原理后,下面,将参考附图对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是本技术的全部实施例,应理解,本技术不受这里描述的示例实施例的限制。基于本技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部。
37.实施例一
38.如图1所示,本技术实施例提供了一种自变速跑批方法,其中,所述方法包括:
39.s100:获得底层服务状态信息;
40.s200:根据所述底层服务状态信息,获得匹配任务配置信息,其中,任务匹配信息包括底层服务的并发数;
41.具体而言,底层服务即为电子设备系统中最为底层的架构,底层服务用于实现电子设备最为基本的功能,例如连接服务(连接通信服务商、连接wifi等)、存储监控等基本功能,在底层服务的基础上进行开发,进而使电子设备能够获得更为上层的功能。
42.本技术实施例提供的跑批方法应用的跑批系统包括如下九个模块:任务管理模块,数据读取模块,数据暂存模块,数据解析模块,数据处理模块,结果写入模块,状态暂存模块,底层服务监控模块,服务治理模块。
43.本技术实施例提供的自变速跑批方法在进行跑批的过程中,底层服务会通过任务管理模块录入任务信息,包括数据源信息以及一些匹配的任务配置信息,同时底层服务状态发生变化,根据该任务配置信息以及底层服务的状态配置一合适的并发数,以使该任务配置信息能够发起与并发数相同的请求,进行跑批。示例性地,上述的底层服务的状态包括空闲,正常,繁忙等状态,若底层服务处于空闲状态,可配置一较大的并发数,反之可配置一较小的并发数。
44.s300:获得底层服务指标信息;
45.s400:根据所述底层服务指标信息,获得任务服务状态;
46.本技术实施例提供的方法在采用上述的并发数进行跑批的过程中,本技术实施例提供的方法可通过底层服务监控模块定时采集底层服务指标信息,底层服务指标信息包括底层服务的各类指标信息,根据该底层服务指标信息判断出底层服务对跑批任务的任务服务状态。示例性地,任务服务状态包括空闲、正常、繁忙跑批等状态。
47.s500:基于所述任务服务状态对所述底层服务状态信息进行更新,获得更新底层服务状态;
48.s600:根据所述更新底层服务状态,获得更新并发数,并根据所述更新并发数对底层服务的并发数进行变更。
49.具体而言,本技术实施例提供的方法获得上述的任务服务状态后,可根据该任务服务状态更新跑批过程中实时的更新底层服务状态。进一步的,可根据该更新底层服务状态按照预定规则自动实时变更任务的并发数,从而达到自动调节跑批任务的速度,充分利用底层服务资源。举不设限制的一例,若上述更新底层服务状态相较于跑批开始时的上述底层服务状态信息较为空闲,则可更新获得更大的并发数,使跑批任务能够同时发出更多的请求,加快跑批速率。反之,若上述更新底层服务状态相较于跑批开始时的上述底层服务状态信息较为繁忙,则并发数也可随之进行更新,在此不再赘述。
50.此外,进一步的,本领域技术人员可根据需求在跑批方法中设置一配置开关,在该配置开关打开的状态下,可根据上述任务服务状态对底层服务状态进行更新,并进一步更新并发数。而在该配置开关关闭的状态下,不再根据上述服务状态对底层服务状态进行更新,也不再更新并发数,使并发数在任意底层服务状态下均保持一致,与现有技术中的跑批方法相同。通过设置配置开关可使本领域技术人员根据实际业务需求决定是否需要采用自变速的跑批方法。
51.本技术实施例通过设置底层服务监控模块,可对底层服务状态进行检测,进而得到任务状态信息,并基于此更新并发数,能够实现在跑批过程中,当被调用服务处于空闲状态时,实时动态提升请求并发数,加快任务处理速度。当被调用服务处于忙碌状态或者非正常状态时,自动降低请求并发数,甚至自动暂停请求底层服务,达到可自动调节并发数,自动变速进行跑批的技术效果。
52.如图2所示,本技术实施例提供的方法还包括步骤s700,步骤是s700包括:
53.s710:获得第一任务信息,所述第一任务信息为处于底层服务中的任务信息,且,所述第一任务信息包括任务暂停信息;
54.s720:根据所述第一任务信息,获得关联数据源;
55.s730:根据所述关联数据源、所述任务暂停信息,获得暂停读取指令,所述暂停读取指令为停止对所述关联数据源的读取服务。
56.具体而言,在采用数据分片和分布式系统跑批的过程中,将一组任务数据分片为多个子集,再将多个子集分别通过多个节点进行跑批。在跑批任务进行的过程中,会存在部分任务暂停的情况,在现有技术中的跑批中,暂停任务在暂停的过程中,并非暂停读取该暂停任务关联的数据源,而是在一直等待该暂停任务重新启动,浪费了该暂定任务对应的线程资源,降低了跑批速度。
57.本技术实施例提供的跑批方法在某一个任务暂停的时候,获取该暂停任务的第一任务信息,并根据该第一任务信息获取该暂停任务关联的数据源,然后根据该第一任务信息和该暂停任务关联的数据源获得暂停读取指令,根据该暂停读取指令使跑批系统暂停读取该暂停任务关联的数据源,将该暂停任务的线程资源让给其他未暂停的任务进行跑批,进而保证服务器的资源被充分利用。在该暂停任务重新启动时,可获取一重新读取指令,使服务器重新读取该暂停任务关联的数据源。
58.如此,在跑批过程中某一任务暂停的时候,可暂停读取该任务关联的数据源,释放该任务的线程资源让给其他未暂停的任务,在跑任务使用,达到提升服务器资源利用率的技术效果。
59.如图3所示,本技术实施例提供的方法还包括步骤s800,步骤s800包括:
60.s810:获得服务节点配置信息;
61.s820:根据所述服务节点配置信息,获得服务节点配置阈值、预设时间信息;
62.s830:获得节点负载信息;
63.s840:判断所述节点负载信息是否超出所述服务节点配置阈值;
64.s850:当所述节点负载信息超出所述服务节点配置阈值,获得超出持续时间;
65.s860:当所述超出持续时间达到所述预设时间信息时,获得服务治理信息,所述服务治理信息用于对服务节点进行增加或者减少。
66.具体而言,在采用集群和分布式系统进行跑批的过程中,会采用多个节点同时进行跑批任务,不同节点上的跑批服务按规则多线程将数据从文件中逐行读出,执行业务逻辑,业务逻辑主要是使用文件中的数据调用一些服务获取匹配结果,再将结果写入到另外的文件中,完成跑批任务。
67.现有技术中,节点的数量是固定的,当跑批服务器压力较大时,不能自动扩展服务节点,加入到任务处理的集群中,进而导致跑批效率较慢。
68.本技术实施例提供的方法中通过获得集群中每个服务节点的配置信息,根据该配置信息对每个节点设置一预设的服务节点性能指标的配置阈值和预设时间信息,判断该服务节点在跑批的过程中的节点负载信息是否超过该服务节点配置阈值,若未超过,则证明该服务节点未过载;若超过,则继续判断超过该服务节点配置阈值的持续时间跨度是否超过该预设时间信息,该持续时间跨度即为服务节点的超出持续时间,若超过,则证明当前服务节点已经过载运行,需要增加新的节点至集群中缓解压力。具体地,上述服务治理模块自动地按照约定好的配置启动新的跑批服务节点,加入到跑批任务中,反之,也可停止一些跑批服务节点,释放服务器资源,综合实现跑批服务节点自动伸缩。
69.另外,底层服务也可以根据类似规则进行自动伸缩,即底层服务节点也可被监测负载压力是否超过底层负载阈值,并且持续超过底层负载阈值的持续时间是否超过一预设时间,若超过,则可对底层服务节点进行增加或删减。这样从调用节点(跑批服务)到服务节点(底层服务节点)都是先自动伸缩的情况下,跑批性能会有极大的提升。
70.本技术实施例通过在跑批系统中设置服务治理模块,监测集群中每个节点的负载是否超过预设的性能指标阈值,并是否持续超过该阈值一预设的时间段,进而判定当前服务节点的负载压力是否过大,基于此进行自动地跑批服务节点的增加或删减,能够实现跑批服务节点的自动伸缩,达到提升跑批性能的技术效果。
71.如图4所示,本技术实施例提供的方法还包括步骤s900,步骤s900包括:
72.s910:获得任务信息集合;
73.s920:根据所述任务信息集合,获得任务优先级;
74.s930:基于所述任务优先级对所述任务信息集合进行分组;
75.s940:按照所述任务优先级对分组任务依次进行数据处理。
76.具体而言,现有技术中进行跑批任务的过程中,一节点中的所有任务都是公平的,在跑批的过程中所有任务公平竞争资源,无法控制部分重要的数据任务进行优先跑批,不支持按优先级协调资源。
77.本技术实施例中,对于跑批中所有的任务,获得所有任务的任务信息集合,并根据该任务信息集合对其中的任务按照任务优先级进行划分,示例性地,本技术实施例提供的方法应用在金融行业中后,在跑批过程中可将vip用户的数据任务设置较为高等级的优先级,而将非vip用户的数据任务设置较为低等级的优先级。
78.在根据任务优先级对任务信息集合中的任务进行划分分组之后,即可将分组后的任务按照任务优先级的顺序进行跑批。本技术实施例通过按照任务优先级对跑批任务集合进行划分分组,能够按照任务的优先级有选择地进行跑批处理,实现跑批任务优先级控制,可根据任务紧急程度进行协调管理,达到按照计划策略规划跑批优先程度的技术效果。
79.本技术实施例提供的方法中的步骤s920包括:
80.s921:根据所述任务信息集合,获得第二任务信息;
81.s922:根据所述第二任务信息,获得第二任务属性信息;
82.s923:根据所述第二任务属性信息,获得第二任务级别;
83.s924:获得跑批策略信息;
84.s925:根据所述第二任务级别、所述跑批策略信息,获得第二任务优先级。
85.具体而言,任务信息集合为当前跑批任务中所有任务的信息的集合。通过任务信
息集合可获得其中每个任务的任务信息,即为第二任务信息,通过第二任务信息可获得该任务的属性信息,例如该任务紧急程度或该任务的重要性,即为第二任务属性信息,通过第二任务属性信息即可获得该任务的优先级级别,即为第二任务级别。示例性地,第二任务属性的紧急程度越高、则第二任务级别代表的优先级级别就越高,反之,第二任务属性的紧急程度越低、则第二任务级别代表的优先级级别就越低。
86.跑批策略信息为当前跑批任务所遵循的策略,所有的任务均需要根据该跑批策略信息进行跑批。根据该跑批策略信息以及上述的第二任务级别可将当前跑批任务中的所有任务进行分组排序,进而得到优先级的分组,即为第二任务优先级,完成优先级的设置。
87.本技术实施例通过根据任务属性信息和跑批任务策略信息对所有任务划分优先级,能够更为全面、多维度地设置任务优先级,进一步实现跑批任务的优先级控制,可根据任务紧急程度以及跑批策略进行协调管理,达到按照计划策略规划跑批优先程度的技术效果。
88.本技术实施例提供的方法还包括步骤s1000,步骤s1000包括:
89.s1010:获得底层服务历史处理数据;
90.s1020:根据所述底层服务历史处理数据,获得底层服务阶段信息,所述底层服务阶段信息为底层服务并发数与服务时间段之间的对应关系;
91.s1030:基于所述底层服务阶段信息,获得时间段策略,并按照所述时间段策略对所述底层服务的并发数进行自动变速操作,其中,所述时间段策略为按照服务时间段进行底层服务并发数自动变更策略。
92.具体而言,底层服务历史处理数据是基于大数据或其他统计数据获得的,底层服务此前所有处理跑批任务的处理数据,其包括任意时间段以及采用任意数量的并发数进行跑批的历史处理数据。
93.底层服务阶段信息为底层服务在不同时间段与服务并发数之间的对应关系。示例性地,在过往某段跑批任务负载较大的时间段t内,为缓解底层服务负载压力,技术人员增加了并发数m,则该时间段t内底层服务阶段信息即为该跑批任务负载与增加后的该并发数m之间的对应关系。
94.根据上述的底层服务阶段信息获得一时间段策略,时间段策略即为在重复的上述时间段t内进行跑批任务的过程中,将底层服务的并发数调节至m。示例性地,在每天的7:00pm-9:00pm,跑批任务的负载压力较大,根据过往的底层服务历史处理数据,将底层服务并发数自动变速调节至m,进行跑批。结合上述的时间段策略和监测底层服务指标信息调节并发数的策略,本领域技术人员可以预制较为复杂的变速策略,实现更灵活的自动变速控制。示例性地,在一时间段内,优先采用时间段策略,在跑批底层服务负载大于底层服务历史处理数据内该时间段的负载时,可采用监测底层服务指标信息调节并发数的策略,进一步调节并发数,变速策略更加灵活。
95.本技术实施例提供的方法通过获得底层服务历史处理数据,采用时间段策略对底层服务并发数进行调节,结合监测底层服务指标信息调节并发数的策略,能够实现更灵活的自动变速控制,达到提升跑批性能的技术效果。
96.本技术实施例提供的方法还包括步骤s1000,步骤s1000包括:
97.s1010:获得服务节点历史数据;
98.s1020:根据所述服务节点历史数据,获得节点时间段信息,所述节点时间段信息为节点时间段与节点服务数量的对应关系;
99.s1030:基于所述节点时间段与节点服务数量的对应关系,获得节点阈值变更策略,其中,所述节点阈值变更策略用于基于所述节点服务数量按照所述节点时间段对所述服务节点配置阈值进行调整,所述服务节点配置阈值与所述节点服务数据相匹配。
100.具体而言,服务节点历史数据是基于大数据或其他统计数据获得的,集群中服务节点此前所有处理跑批任务的处理数据,其包括任意时间段以及采用任意数量的节点进行跑批的历史处理数据。服务节点历史数据为集群中服务节点在不同时间段与节点服务数量之间的对应关系。
101.根据节点时间段与节点服务数量的对应关系获得一节点阈值变更策略,节点阈值变更策略即为在重复的时间段内进行跑批任务的过程中,根据过往的该时间段内的服务节点数量,将服务节点配置阈值进行调整。示例性地,在每天的7:00pm-9:00pm,集群中各节点进行跑批的负载较大,根据服务节点历史数据,将服务节点配置阈值进行,然后可根据该服务节点配置阈值进行服务节点负载信息是否超标,进而增加或者减少服务节点数量。结合上述的节点阈值变更策略和监测节点负载信息是否超过服务节点配置阈值的策略,本领域技术人员可以预制较为复杂的服务节点调节策略,实现更灵活的服务节点自适应伸缩。示例性地,在一时间段内,先采用节点阈值变更策略调节服务节点配置阈值,再根据调节后的服务节点配置阈值确认服务节点是否负载,进而增加或减少节点数量,达到提升跑批性能的技术效果。
102.本技术实施例提供的方法中在步骤s300之前,还包括:
103.获得录入任务信息;
104.对所述录入任务信息进行规则校验后,进行任务暂存,获得暂存任务列表;
105.将所述暂存任务列表中的任务信息按照规则多线程拉取数据并解析后进行数据处理,获得数据处理结果;
106.根据所述数据处理结果对所述录入任务信息的服务状态进行更新。
107.图5示出了本技术实施例提供的方法一种可能的流程框图,具体而言,在获得底层服务指标信息之前,还需通过上述任务管理模块录入任务信息,示例性地,录入任务信息包括数据源信息以及一些任务配置等。录入任务信息之后,任务管理模块触发预加载,调用数据读取模块,从数据源读取数据先通过基本的规则校验后,放入暂存模块中,暂存数据,获得暂存任务列表。本方案使用一种支持无限扩容的消息中间件作为数据暂存模块,将需要处理的大量数据预加载到消息模块中。处理完毕后,暂存任务列表中的任务处于就绪状态。
108.暂存完成后,系统发送指令触发所有数据解析模块启动数据解析任务,将暂存任务列表中的任务信息按照规则多线程拉取数据并解析,然后调用数据处理模块进行数据处理,获得数据处理结果。数据处理完成后,将获取到的结果发送给数据暂存模块,结果写入模块实时扫描数据暂存模块,根据规则将结果写入到指定的结果文件中,通知任务管理模块进行任务状态的更新,即为对录入任务信息的服务状态进行更新,达到高效、高性能完成数据跑批的技术效果。
109.综上所述,本技术实施例通过定时监测底层服务的各类指标信息,能够按照这些指标信息自动按照规则实时变更任务的并发数,进而达到自动调节跑批任务速度的目的,
充分利用底层服务资源;而在跑批的某一个任务暂停时,可暂停读取该被暂停任务关联的数据源,释放线程资源给其他未暂停的任务进行跑批;本技术实施例在集群和分布式系统进行跑批的过程中,给各跑批节点配置性能指标阈值,在各节点服务器达到该阈值后并持续一预定的时间后,系统自动启动新的跑批服务节点;并且对于跑批任务中的数据,按照不同的优先级进行分组,按照优先级优先处理高优先级的任务数据。本技术实施例通过上述方法实现了跑批服务自适应伸缩、批并发数自动调节、任务暂停不会占用服务器资源、跑批任务优先级控制等目的,达到了高性能、高可用、高可扩展、自动变速跑批的技术效果。
110.实施例二
111.基于与前述实施例中一种自变速跑批方法相同的发明构思,如图6所示,本技术实施例提供了一种自变速跑批系统,其中,所述装置包括:
112.第一获得单元11,所述第一获得单元11用于获得底层服务状态信息;
113.第二获得单元12,所述第二获得单元12用于根据所述底层服务状态信息,获得匹配任务配置信息,其中,任务匹配信息包括底层服务的并发数;
114.第三获得单元13,所述第三获得单元13用于获得底层服务指标信息;
115.第四获得单元14,所述第四获得单元14用于根据所述底层服务指标信息,获得任务服务状态;
116.第一处理单元15,所述第一处理单元15用于基于所述任务服务状态对所述底层服务状态信息进行更新,获得更新底层服务状态;
117.第二处理单元16,所述第二处理单元16用于根据所述更新底层服务状态,获得更新并发数,并根据所述更新并发数对底层服务的并发数进行变更。
118.进一步的,所述装置还包括:
119.第五获得单元,所述第五获得单元用于获得第一任务信息,所述第一任务信息为处于底层服务中的任务信息,且,所述第一任务信息包括任务暂停信息;
120.第六获得单元,所述第六获得单元用于根据所述第一任务信息,获得关联数据源;
121.第三处理单元,所述第三处理单元用于根据所述关联数据源、所述任务暂停信息,获得暂停读取指令,所述暂停读取指令为停止对所述关联数据源的读取服务。
122.进一步的,所述装置还包括:
123.第七获得单元,所述第七获得单元用于获得服务节点配置信息;
124.第八获得单元,所述第八获得单元用于根据所述服务节点配置信息,获得服务节点配置阈值、预设时间信息;
125.第九获得单元,所述第九获得单元用于获得节点负载信息;
126.第一判断单元,所述第一判断单元用于判断所述节点负载信息是否超出所述服务节点配置阈值;
127.第十获得单元,所述第十获得单元用于当所述节点负载信息超出所述服务节点配置阈值,获得超出持续时间;
128.第四处理单元,所述第四处理单元用于当所述超出持续时间达到所述预设时间信息时,获得服务治理信息,所述服务治理信息用于对服务节点进行增加或者减少。
129.进一步的,所述装置还包括:
130.第十一获得单元,所述第十一获得单元用于获得任务信息集合;
131.第十二获得单元,所述第十二获得单元用于根据所述任务信息集合,获得任务优先级;
132.第五处理单元,所述第五处理单元用于基于所述任务优先级对所述任务信息集合进行分组;
133.第六处理单元,所述第六处理单元用于按照所述任务优先级对分组任务依次进行数据处理。
134.进一步的,所述装置还包括:
135.第十三获得单元,所述第十三获得单元用于根据所述任务信息集合,获得第二任务信息;
136.第十四获得单元,所述第十四获得单元用于根据所述第二任务信息,获得第二任务属性信息;
137.第七处理单元,所述第七处理单元用于根据所述第二任务属性信息,获得第二任务级别;
138.第十五获得单元,所述第十五获得单元用于获得跑批策略信息;
139.第八处理单元,所述第八处理单元用于处理单元,所述第六处理单元用于根据所述第二任务级别、所述跑批策略信息,获得第二任务优先级。
140.进一步的,所述装置还包括:
141.第十六获得单元,所述第十六获得单元用于获得底层服务历史处理数据;
142.第九处理单元,所述第九处理单元用于根据所述底层服务历史处理数据,获得底层服务阶段信息,所述底层服务阶段信息为底层服务并发数与服务时间段之间的对应关系;
143.第十处理单元,所述第十处理单元用于基于所述底层服务阶段信息,获得时间段策略,并按照所述时间段策略对所述底层服务的并发数进行自动变速操作,其中,所述时间段策略为按照服务时间段进行底层服务并发数自动变更策略。
144.进一步的,所述装置还包括:
145.第十七获得单元,所述第十七获得单元用于获得服务节点历史数据;
146.第十八获得单元,所述第十八获得单元用于根据所述服务节点历史数据,获得节点时间段信息,所述节点时间段信息为节点时间段与节点服务数量的对应关系;
147.第十一处理单元,所述第十一处理单元用于基于所述节点时间段与节点服务数量的对应关系,获得节点阈值变更策略,其中,所述节点阈值变更策略用于基于所述节点服务数量按照所述节点时间段对所述服务节点配置阈值进行调整,所述服务节点配置阈值与所述节点服务数据相匹配。
148.进一步的,所述装置还包括:
149.第十九获得单元,所述第十九获得单元用于获得录入任务信息;
150.第十二处理单元,所述第十二处理单元用于对所述录入任务信息进行规则校验后,进行任务暂存,获得暂存任务列表;
151.第十三处理单元,所述第十三处理单元用于将所述暂存任务列表中的任务信息按照规则多线程拉取数据并解析后进行数据处理,获得数据处理结果;
152.第十四处理单元,所述第十四处理单元用于根据所述数据处理结果对所述录入任
务信息的服务状态进行更新。
153.示例性电子设备
154.下面参考图7来描述本技术实施例的电子设备,
155.基于与前述实施例中一种自变速跑批方法相同的发明构思,本技术实施例还提供了一种自变速跑批系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得装置以执行实施例一所述方法的步骤。
156.该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;总线架构304可以是外设部件互连标(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述总线架构304可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
157.处理器302可以是一个cpu,微处理器,asic,或一个或多个用于控制本技术方案程序执行的集成电路。
158.通信接口303,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan),有线接入网等。
159.存储器301可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact discread-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线架构304与处理器相连接。存储器也可以和处理器集成在一起。
160.其中,存储器301用于存储执行本技术方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本技术上述实施例提供的一种自变速跑批方法。
161.可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
162.本技术实施例通过定时监测底层服务的各类指标信息,能够按照这些指标信息自动按照规则实时变更任务的并发数,进而达到自动调节跑批任务速度的目的,充分利用底层服务资源;而在跑批的某一个任务暂停时,可暂停读取该被暂停任务关联的数据源,释放线程资源给其他未暂停的任务进行跑批;本技术实施例在集群和分布式系统进行跑批的过程中,给各跑批节点配置性能指标阈值,在各节点服务器达到该阈值后并持续一预定的时间后,系统自动启动新的跑批服务节点;并且对于跑批任务中的数据,按照不同的优先级进行分组,按照优先级优先处理高优先级的任务数据。本技术实施例通过上述方法实现了跑批服务自适应伸缩、批并发数自动调节、任务暂停不会占用服务器资源、跑批任务优先级控制等目的,达到了高性能、高可用、高可扩展、自动变速跑批的技术效果。
163.本领域普通技术人员可以理解:本技术中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
164.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
165.本技术实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
166.本技术实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于终端中。可选地,处理器和存储媒介也可以设置于终端中的不同的部件中。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
167.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所
附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术意图包括这些改动和变型在内。