CN114331352B - 同城大数据调度系统 - Google Patents
同城大数据调度系统 Download PDFInfo
- Publication number
- CN114331352B CN114331352B CN202111622946.8A CN202111622946A CN114331352B CN 114331352 B CN114331352 B CN 114331352B CN 202111622946 A CN202111622946 A CN 202111622946A CN 114331352 B CN114331352 B CN 114331352B
- Authority
- CN
- China
- Prior art keywords
- task
- module
- user
- workflow
- unit
- 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
Links
- 238000012544 monitoring process Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 20
- 230000001960 triggered effect Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 abstract description 3
- 238000011161 development Methods 0.000 abstract description 2
- 238000011835 investigation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种同城大数据调度系统,该系统基于escheduler调度系统进行二次开发,新增操作日志服务,通过操作日志定位到具体的操作用户,提高了问题的排查效率;新增hostname注册Zookeeper模块的临时节点,避免因执行机器重启导致IP改变需要重新配置的问题;新增工作流状态监听模块,对系统工作流进行监听并在重要工作流忘记上线时,发送告警信息对用户进行提醒,保证工作流内调度任务的有序进行;最后,新增资源使用率报警模块,当资源使用率达到阈值时发送告警信息提醒用户调整,保证系统的稳定性,其中,上述告警信息通过集成钉钉告警发送至用户钉钉群组。
Description
技术领域
本发明涉及计算机大数据的技术领域,尤其是涉及一种同城大数据调度系统。
背景技术
随着公司业务的不断增加和大数据技术的不断发展,公司业务系统需要对更多的报表数据进行业务分析,随之而来的就是离线任务和实时任务的增加,因此需要统一的调度系统对任务进行调度。目前,主流的调度系统有Oozie、Azkaban、escheduler等。但是Oozie存在配置工作流过程需要编写大量xml语言配置、社区活跃度低、代码复杂度较高等问题,Azkaban存在创建job需要手动完成固定格式文件、任务执行过程中信息无法持久的存储在内存中,一旦存储失败就会丢失所有工作流等问题,因此,这些问题导致上述调度系统不易于二次开发。而escheduler是一个分布式、去中心化、易扩展的可视化DAG(DirectedAcyclic Graph,有向无环图)工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。根据该调度系统的特点,可以选择escheduler作为大数据集群统一调度系统。虽然该调度系统优点众多,但仍然存在部分缺点,例如,其各节点之间只支持IP(Internet Protocol,网络互联协议)地址、告警系统不支持钉钉、日志无法定位到具体操作用户等问题。
综上,现有的escheduler调度系统存在各节点间只支持IP地址、告警系统不支持钉钉和日志无法定位到具体操作用户的技术问题。
发明内容
本发明的目的在于提供一种同城大数据调度系统,以缓解现有的escheduler调度系统存在各节点间只支持IP地址、告警系统不支持钉钉和日志无法定位到具体操作用户的技术问题。
本发明实施例提供了一种同城大数据调度系统,包括:UI模块、Master模块、至少一个Worker模块、Zookeeper模块、工作流状态监听模块、数据库模块、钉钉模块;
所述UI模块,用于获取用户的操作指令,并根据所述操作指令生成操作任务,其中,所述操作任务包括:工作流操作任务、任务操作任务、工作组操作任务、用户权限操作任务;
所述Master模块,用于发送所述操作任务的数据至所述数据库模块,并配置所述任务操作任务的定时触发,当所述任务操作任务触发后启动监听服务、操作日志服务和告警服务,其中,触发后的任务操作任务发送至所述Zookeeper模块的任务队列;
所述Worker模块,用于获取所述任务队列中的任务操作任务、执行任务操作任务并启动执行日志服务,以监控所述任务操作任务的执行进度;
所述Zookeeper模块,用于注册并存储所述Master模块的hostname或IP,并用于注册并存储所述Worker模块的hostname或IP;
所述工作流状态监听模块,用于监听所述数据库模块内的所述工作流操作任务的状态,并根据所述工作流操作任务的状态发送告警至所述钉钉模块;
所述数据库模块,还用于存储整个系统的数据;
所述钉钉模块,用于接收并发送告警信息至用户钉钉。
进一步的,所述用户权限操作任务中的用户权限包括:管理员权限和普通用户权限,所述管理员权限包括:授权权限和用户管理权限,所述普通用户权限包括:创建工作流操作任务的权限、创建任务操作任务的权限、创建工作组操作任务的权限,其中,所述普通用户权限对应的用户具有固定的token,所述token为用户钉钉群组的识别码。
进一步的,所述Master模块包括:APIServer单元、MasterServer单元、AlterServer单元和第一LoggerServer单元;
所述APIServer单元,用于将所述UI模块生成的所述操作任务的数据发送至所述数据库模块,并返回对应数据至所述UI模块;
所述MasterServer单元,用于注册所述Master模块的hostname或IP至所述Zookeeper模块、定时触发所述任务操作任务、添加所述任务操作任务至所述任务对队列、监听所述数据库模块内的任务状态;
所述AlterServer单元,用于根据监听结果发送任务告警至所述钉钉模块;
所述第一LoggerServer单元,用于用户查看所述任务操作任务的执行日志,并将用户的操作日志写入所述数据库模块。
进一步的,所述Worker模块还包括:WorkerServer单元、第二LoggerServer单元、存储单元;
所述WorkerServer单元,用于注册所述Worker模块的hostname或IP至所述Zookeeper模块、获取所述任务队列中的任务操作任务并执行、更新任务操作任务的状态至所述数据库模块;
所述第二LoggerServer单元,用于返回所述任务操作任务的执行日志到所述存储单元;
所述存储单元,用于存储所述执行日志。
进一步的,所述任务队列包括:至少一个携带任务名称和标识的任务操作任务,其中,所述标识包括:hostname或IP,所述hostname或IP用于匹配所述Worker模块,以使对应的Worker模块执行所述任务操作任务。
进一步的,所述任务状态包括以下任一种:待运行状态、失败状态、运行中状态、完成状态。
进一步的,在用户查看所述任务操作任务的执行日志之前,所述Master模块内的第一LoggerServer单元链接所述Worker模块内的第二LoggerServer单元。
进一步的,所述工作流操作任务的状态包括以下任一种:上线状态、下线状态。
进一步的,所述任务告警包括:任务状态的提示信息。
进一步的,所述系统还包括:资源使用率报警模块;
所述资源使用率报警模块,用于在所述系统的资源使用率达到预设阈值时,发送告警信息至所述钉钉模块。
在本发明实施例中,提供了一种同城大数据调度系统,包括:UI模块、Master模块、至少一个Worker模块、Zookeeper模块、工作流状态监听模块、数据库模块、钉钉模块;UI模块,用于获取用户的操作指令,并根据操作指令生成操作任务,其中,操作任务包括:工作流操作任务、任务操作任务、工作组操作任务、用户权限操作任务;Master模块,用于发送操作任务的数据至数据库模块,并配置任务操作任务的定时触发,当任务操作任务触发后启动监听服务、操作日志服务和告警服务,其中,触发后的任务操作任务发送至Zookeeper模块的任务队列;Worker模块,用于获取任务队列中的任务操作任务、执行任务操作任务并启动执行日志服务,以监控任务操作任务的执行进度;Zookeeper模块,用于注册并存储Master模块的hostname或IP,并用于注册并存储Worker模块的hostname或IP;工作流状态监听模块,用于监听数据库模块内的工作流操作任务的状态,并根据工作流操作任务的状态发送告警至钉钉模块;数据库模块,还用于存储整个系统的数据;钉钉模块,用于接收并发送告警信息至用户钉钉。通过上述描述可知,本发明的同城大数据调度系统,与传统的escheduler调度系统相比,新增操作日志服务,通过操作日志定位到具体的操作用户,提高了问题的排查效率;新增hostname注册Zookeeper模块的临时节点,避免了执行机器重启导致IP改变需要重新配置的问题;新增工作流状态监听模块,对系统工作流进行监听并在重要工作流忘记上线时,发送告警信息对用户进行提醒,从而督促任务上线并保证工作流内调度任务的有序进行;最后,新增资源使用率报警模块,当资源使用率达到阈值时发送告警信息提醒用户调整,保证了系统的稳定性,其中,上述告警信息通过集成钉钉告警发送至用户钉钉群组。本系统的上述优点有效缓解了现有的escheduler调度系统存在各节点间只支持IP地址、告警系统不支持钉钉和日志无法定位到具体操作用户的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种同城大数据调度系统的结构示意图;
图2为本发明实施例提供的一种基础配置文件的部分代码示意图;
图3为本发明实施例提供的一种hostmane注册临时节点的代码示意图;
图4为本发明实施例提供的一种工作流操作任务未上线状态的告警示意图;
图5为本发明实施例提供的一种钉钉告警配置文件的部分代码示意图;
图6为本发明实施例提供的一种用户登录界面的示意图;
图7为本发明实施例提供的一种Master模块的结构示意图;
图8为本发明实施例提供的一种Worker模块的结构示意图;
图9为本发明实施例提供的一种任务操作任务完成状态的告警示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,主流调度系统的escheduler致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用,可以选择作为大数据集群统一调度系统。但escheduler调度系统存在各节点之间只支持IP地址、告警系统不支持钉钉、日志无法定位到具体操作用户的问题。
基于此,本实施例提供了一种同城大数据调度系统,针对escheduler调度系统存在的上述问题,新增操作日志服务、hostname地址类型、工作流状态监听、资源使用率监听以及集成钉钉告警,实现对调度系统的实时监听,发现问题及时发送告警信息至相关用户的钉钉群组进行解决,保证调度系统内调度任务的有序进行,维持调度系统的稳定性。
下面结合附图对本发明实施例进行进一步介绍。
根据本发明实施例,提供了一种同城大数据调度系统的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种同城大数据调度系统的结构示意图,如图1所示,该系统包括:UI模块、Master模块、至少一个Worker模块、Zookeeper模块、工作流状态监听模块、数据库模块、钉钉模块;
UI模块,用于获取用户的操作指令,并根据操作指令生成操作任务,其中,操作任务包括:工作流操作任务、任务操作任务、工作组操作任务、用户权限操作任务;Master模块,用于发送操作任务的数据至数据库模块,并配置任务操作任务的定时触发,当任务操作任务触发后启动监听服务、操作日志服务和告警服务,其中,触发后的任务操作任务发送至Zookeeper模块的任务队列;Worker模块,用于获取任务队列中的任务操作任务、执行任务操作任务并启动执行日志服务,以监控任务操作任务的执行进度;Zookeeper模块,用于注册并存储Master模块的hostname或IP,并用于注册并存储Worker模块的hostname或IP;工作流状态监听模块,用于监听数据库模块内的工作流操作任务的状态,并根据工作流操作任务的状态发送告警至钉钉模块;数据库模块,还用于存储整个系统的数据;钉钉模块,用于接收并发送告警信息至用户钉钉。
具体的,UI模块对外提供可视化操作界面,用户登陆调度系统后,根据自身业务需求在UI模块提供的界面内进行操作,例如,用户可以根据业务需求创建一组任务,并定义每个任务的级别以及执行顺序,形成一个可以实现业务需求的工作流程,并为该工作流程的执行定义相应的执行机组。上述操作完成后,UI模块便根据用户的操作指令生成对应的操作任务,即生成工作流操作任务、任务操作任务、工作组操作任务。除上述操作任务外,对于不同的用户,UI模块还可以根据用户的操作指令生成用户权限操作任务,下文中再对该过程进行详细描述,在此不再赘述。
UI模块生成对应的操作任务后,会将操作任务传输到Master模块,并利用Master模块的接口服务传输操作任务的数据至数据库模块。除此以外,Master模块还会配置每个任务操作任务的定时触发,并在任意一个任务操作任务触发后,将其添加到任务队列内并发送任务队列至Zookeeper模块,同时,启动监听服务、操作日志服务和告警服务。
Zookeeper模块接收到任务队列后需等待Worker模块获取任务队列内对应的任务操作任务、执行任务操作任务并启动执行日志服务对该任务操作任务的执行进度进行监控,同时实时更新任务状态至数据库模块供上述Master模块的监听服务对任务状态的监听。除以此外,为了实现上述Master模块、Worker模块与Zookeeper模块之间的信息传输,Zookeeper模块内注册并存储了Master模块的hostname或IP作为临时节点,同时注册并存储了Worker模块的hostname或IP作为临时节点,其中,用户注册时可按业务需求配置使用hostname或IP,若用户未进行配置,本系统默认使用hostname。具体代码实现时,首先在系统的common.properties配置文件中增加字符串类型的静态常量service.address.type并设置默认值为hostname,进而在代码文件的cn.escheduler.common.Constants类编写如图2所示字段,同时在代码文件的cn.escheduler.common.utils.OSUtils的getHost()方法中设置如图3所示的判断语句。
前面讲述了操作任务的生成以及操作任务中的任务操作任务的触发、执行和监控,当多个任务操作任务根据级别以及执行顺序依次触发并执行后,便形成能够实现用户业务需求的工作流操作任务。针对工作流操作任务,本系统设置了工作流状态监听模块,用于监听工作流操作任务的状态,并根据工作流操作任务的状态发送告警信息至钉钉模块,例如,参考图4,工作流状态监听模块监听到数据库内某一重要工作流操作任务处于未上线状态,此时工作流状态监听模块将发送告警信息至钉钉模块,从而提醒用户上线该工作流操作任务,通过该模块对工作流操作任务上线的督促,保证了调度系统内工作流操作任务的有序进行。
钉钉模块接收到的告警信息后,将发送告警信息至用户所在的的钉钉群。具体代码实现时,参考图5,在系统的告警配置文件的alert.properties文件中设置钉钉默认URL和告警信息模块,并修改cn.escheduler.alert.runner.AlertSender类中的run()方法,使其默认使用钉钉告警。
最后,本系统还设置了数据库模块,用于存储上述UI模块生成的操作任务的数据;Master模块的操作日志、任务队列、监听到的任务状态;Worker模块更新后的任务状态等整个调度系统的数据。
在本发明实施例中,提供了一种同城大数据调度系统,包括:UI模块、Master模块、至少一个Worker模块、Zookeeper模块、工作流状态监听模块、数据库模块、钉钉模块;UI模块,用于获取用户的操作指令,并根据操作指令生成操作任务,其中,操作任务包括:工作流操作任务、任务操作任务、工作组操作任务、用户权限操作任务;Master模块,用于发送操作任务的数据至数据库模块,并配置任务操作任务的定时触发,当任务操作任务触发后启动监听服务、操作日志服务和告警服务,其中,触发后的任务操作任务发送至Zookeeper模块的任务队列;Worker模块,用于获取任务队列中的任务操作任务、执行任务操作任务并启动执行日志服务,以监控任务操作任务的执行进度;Zookeeper模块,用于注册并存储Master模块的hostname或IP,并用于注册并存储Worker模块的hostname或IP;工作流状态监听模块,用于监听数据库模块内的工作流操作任务的状态,并根据工作流操作任务的状态发送告警至钉钉模块;数据库模块,还用于存储整个系统的数据;钉钉模块,用于接收并发送告警信息至用户钉钉。通过上述描述可知,本发明的同城大数据调度系统,与传统的escheduler调度系统相比,新增操作日志服务,通过操作日志定位到具体的操作用户,提高了问题的排查效率;新增hostname注册Zookeeper模块的临时节点,避免了执行机器重启导致IP改变需要重新配置的问题;新增工作流状态监听模块,对系统工作流进行监听并在重要工作流忘记上线时,发送告警信息对用户进行提醒,从而督促任务上线并保证工作流内调度任务的有序进行;最后,新增资源使用率报警模块,当资源使用率达到阈值时发送告警信息提醒用户调整,保证了系统的稳定性,其中,上述告警信息通过集成钉钉告警发送至用户钉钉群组。本系统的上述优点有效缓解了现有的escheduler调度系统存在各节点间只支持IP地址、告警系统不支持钉钉和日志无法定位到具体操作用户的技术问题。
在本发明的一个可选实施例中,用户权限操作任务中的用户权限包括:管理员权限和普通用户权限,管理员权限包括:授权权限和用户管理权限,普通用户权限包括:创建工作流操作任务的权限、创建任务操作任务的权限、创建工作组操作任务的权限,其中,普通用户权限对应的用户具有固定的token,token为用户钉钉群组的识别码。
具体的,用户权限操作任务中的用户权限包括:管理员权限和普通用户权限,其中,管理员权限包括:授权权限和用户管理权限,例如,创建租户、创建普通用户、创建告警组等。普通用户权限包括:创建工作流操作任务的权限、创建任务操作任务的权限、创建工作组操作任务的权限,例如,创建具体的项目,创建项目内的工作流操作任务、创建工作流操作任务内的任务操作任务等。其中,普通用户在系统UI模块内的登录界面如图6所示,其登录界面除常见的用户名、密码、手机、邮箱等输入项外,还具有token输入项,通过用户输入的固定token,系统可以识别出钉钉模块内用户所在的钉钉群组,从而实现告警信息的精确发送。
在本发明的一个可选实施例中,参考图7,Master模块包括:APIServer单元、MasterServer单元、AlterServer单元和第一LoggerServer单元;
APIServer单元,用于将UI模块生成的操作任务的数据发送至数据库模块,并返回对应数据至UI模块;MasterServer单元,用于注册Master模块的hostname或IP至Zookeeper模块、定时触发任务操作任务、添加任务操作任务至任务对队列、监听数据库模块内的任务状态;AlterServer单元,用于根据监听结果发送任务告警至钉钉模块;第一LoggerServer单元,用于用户查看任务操作任务的执行日志,并将用户的操作日志写入数据库模块。
具体的,UI模块接收用户操作指令并生成对应的操作任务后,Master模块的APIServer单元将提供接口服务,传输操作任务的数据至数据库模块,并返回对应操作任务执行过程中产生的数据至UI模块供用户查看。与此同时,Master模块的MasterServer单元会配置每个任务操作任务的定时触发,并在触发后添加该任务操作任务到任务队列内,而后注册Master模块的hostname或IP至Zookeeper模块,建立与Zookeeper模块的通信连接,发送任务队列至Zookeeper模块,便于后续Worker模块获取并执行上述触发的任务操作任务。除此以外,在整个调度系统工作的过程中,MasterServer单元还会监听数据库模块内不断更新的任务操作任务的状态,并根据监听到的任务状态,启动AlterServer单元,发送相应的告警信息至钉钉模块。最后,Master模块还具有第一LoggerServer单元,用于提供日志服务,包括:查看任务操作任务的执行日志,以及将用户的操作日志信息写入到数据库模块。
在本发明的一个可选实施例中,参考图8,Worker模块还包括:WorkerServer单元、第二LoggerServer单元、存储单元;
WorkerServer单元,用于注册Worker模块的hostname或IP至Zookeeper模块、获取任务队列中的任务操作任务并执行、更新任务操作任务的状态至数据库模块;第二LoggerServer单元,用于返回任务操作任务的执行日志到存储单元;存储单元,用于存储执行日志。
具体的,Master模块发送任务队列至Zookeeper模块后,Worker模块中的WorkerServer单元将从Zookeeper模块中获取任务队列内与其相对应的任务操作任务,执行该任务操作任务并更新该任务操作任务的状态至数据库模块,从而便于Master模块的MasterServer单元对数据库内任务状态的监听,其中,WorkerServer单元在获取任务操作任务之前,需要注册Worker模块的hostname或IP至Zookeeper模块,从而实现Worker模块与Zookeeper模块间的信息传输。在WorkerServer单元执行任务操作任务的同时,Worker模块中的第二LoggerServer单元,会同步返回执行日志到存储单元进行存储,以便用户通过第一LoggerServer单元对执行日志的查看。
在本发明的一个可选实施例中,任务队列包括:至少一个携带任务名称和标识的任务操作任务,其中,标识包括:hostname或IP,hostname或IP用于匹配Worker模块,以使对应的Worker模块执行任务操作任务。
具体的,UI模块根据用户的操作指令生成对应的任务操作任务时,会为任务操作任务的执行配置相应的工作组并生成工作组操作任务,其中,工作组由至少一个Worker模块组成。因此,当Master模块触发任务操作任务后,需要将该任务操作任务的名称及对应的执行该任务操作任务的Worker模块的hostname或IP一同添加到任务队列内,便于后续Worker模块获取任务操作任务时,根据Worker模块的hostname或IP匹配到与其相对应的任务操作任务。
在本发明的一个可选实施例中,在用户查看任务操作任务的执行日志之前,Master模块内的第一LoggerServer单元链接Worker模块内的第二LoggerServer单元。
具体的,由于执行日志存储于Worker模块的存储单元,而执行任务操作任务的工作组内的某一Worker模块可能与Master模块位于不同的执行机器,因此,用户需要查看任务操作任务的执行日志时,需要利用Master模块内的第一LoggerServer单元链接Worker模块内的第二LoggerServer单元,从而实现用户对存储单元内执行日志的查看。
在本发明的一个可选实施例中,工作流操作任务的状态包括以下任一种:上线状态、下线状态。
具体的,工作流操作任务的状态为上线状态时,工作流操作任务才能开始运行,当工作流操作任务状态为下线状态时,工作流操作任务无法运行,此时,需要发送任务告警至钉钉模块,提醒用户上线工作流操作任务。
在本发明的一个可选实施例中,任务告警包括:任务状态的提示信息。
具体的,Master模块的AlterServer单元可以根据MasterServer单元的监听结果发送对应的提示信息至钉钉模块内用户的钉钉群组,例如,若MasterServer单元监听到当前任务操作任务的状态为完成状态,此时AlterServer单元发送的提示信息如图9所示。
在本发明的一个可选实施例中,任务状态包括以下任一种:待运行状态、失败状态、运行中状态、完成状态。
具体的,除了上述举例的完成状态,任务操作任务还可以是待运行状态、失败状态、运行中状态中的任意一种。
在本发明的一个可选实施例中,系统还包括:资源使用率报警模块;
资源使用率报警模块,用于在系统的资源使用率达到预设阈值时,发送告警信息至钉钉模块。
具体的,当系统的任务操作任务数量超过设定的阈值,使得系统的资源使用率达到预设阈值时,资源使用率报警模块将发送告警信息至钉钉模块,通知用户对系统资源进行管理,使得系统处于稳定运行的状态,值得注意的是,本系统的Master模块在资源使用率达到了预设阈值时不会停止运行。
本发明的同城大数据调度系统,通过UI模块与用户进行交互,根据用户操作指令生成操作任务,并利用Master模块发送操作任务的数据至数据库进行存储,同时,Master模块触发操作任务中的任务操作任务并以任务队列的形式发送至Zookeeper暂存,供Worker模块获取和执行任务操作任务,最终完成整个工作流操作任务的实现,满足用户的业务需求。该系统基于escheduler调度系统进行了二次开发,通过对日志服务、告警服务、资源使用率管理等修改,有效避免了系统的不稳定性,增加了问题的排查效率,使得escheduler调度系统更加适用于目前多数公司业务数量不断增加的现状。
本发明实施例所提供的接口转换设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
再例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述车辆标记方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种同城大数据调度系统,其特征在于,包括:UI模块、Master模块、至少一个Worker模块、Zookeeper模块、工作流状态监听模块、数据库模块、钉钉模块;
所述UI模块,用于获取用户的操作指令,并根据所述操作指令生成操作任务,其中,所述操作任务包括:工作流操作任务、任务操作任务、工作组操作任务、用户权限操作任务;
所述Master模块,用于发送所述操作任务的数据至所述数据库模块,并配置所述任务操作任务的定时触发,当所述任务操作任务触发后启动监听服务、操作日志服务和告警服务,其中,触发后的任务操作任务发送至所述Zookeeper模块的任务队列;
所述Worker模块,用于获取所述任务队列中的任务操作任务、执行任务操作任务并启动执行日志服务,以监控所述任务操作任务的执行进度;
所述Zookeeper模块,用于注册并存储所述Master模块的hostname或IP,并用于注册并存储所述Worker模块的hostname或IP;
所述工作流状态监听模块,用于监听所述数据库模块内的所述工作流操作任务的状态,并根据所述工作流操作任务的状态发送告警至所述钉钉模块;
所述数据库模块,还用于存储整个系统的数据;
所述钉钉模块,用于接收并发送告警信息至用户钉钉。
2.根据权利要求1所述的同城大数据调度系统,其特征在于,所述用户权限操作任务中的用户权限包括:管理员权限和普通用户权限,所述管理员权限包括:授权权限和用户管理权限,所述普通用户权限包括:创建工作流操作任务的权限、创建任务操作任务的权限、创建工作组操作任务的权限,其中,所述普通用户权限对应的用户具有固定的token,所述token为用户钉钉群组的识别码。
3.根据权利要求1所述的同城大数据调度系统,其特征在于,所述Master模块包括:APIServer单元、MasterServer单元、AlterServer单元和第一LoggerServer单元;
所述APIServer单元,用于将所述UI模块生成的所述操作任务的数据发送至所述数据库模块,并返回对应数据至所述UI模块;
所述MasterServer单元,用于注册所述Master模块的hostname或IP至所述Zookeeper模块、定时触发所述任务操作任务、添加所述任务操作任务至所述任务对队列、监听所述数据库模块内的任务状态;
所述AlterServer单元,用于根据监听结果发送任务告警至所述钉钉模块;
所述第一LoggerServer单元,用于用户查看所述任务操作任务的执行日志,并将用户的操作日志写入所述数据库模块。
4.根据权利要求3所述的同城大数据调度系统,其特征在于,所述Worker模块还包括:WorkerServer单元、第二LoggerServer单元、存储单元;
所述WorkerServer单元,用于注册所述Worker模块的hostname或IP至所述Zookeeper模块、获取所述任务队列中的任务操作任务并执行、更新任务操作任务的状态至所述数据库模块;
所述第二LoggerServer单元,用于返回所述任务操作任务的执行日志到所述存储单元;
所述存储单元,用于存储所述执行日志。
5.根据权利要求1所述的同城大数据调度系统,其特征在于,所述任务队列包括:至少一个携带任务名称和标识的任务操作任务,其中,所述标识包括:hostname或IP,所述hostname或IP用于匹配所述Worker模块,以使对应的Worker模块执行所述任务操作任务。
6.根据权利要求3所述的同城大数据调度系统,其特征在于,所述任务状态包括以下任一种:待运行状态、失败状态、运行中状态、完成状态。
7.根据权利要求4所述的同城大数据调度系统,其特征在于,在用户查看所述任务操作任务的执行日志之前,所述Master模块内的第一LoggerServer单元链接所述Worker模块内的第二LoggerServer单元。
8.根据权利要求1所述的同城大数据调度系统,其特征在于,所述工作流操作任务状态包括以下任一种:上线状态、下线状态。
9.根据权利要求3所述的同城大数据调度系统,其特征在于,所述任务告警包括:任务状态的提示信息。
10.根据权利要求3所述的同城大数据调度系统,其特征在于,所述系统还包括:资源使用率报警模块;
所述资源使用率报警模块,用于在所述系统的资源使用率达到预设阈值时,发送告警信息至所述钉钉模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111622946.8A CN114331352B (zh) | 2021-12-28 | 2021-12-28 | 同城大数据调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111622946.8A CN114331352B (zh) | 2021-12-28 | 2021-12-28 | 同城大数据调度系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114331352A CN114331352A (zh) | 2022-04-12 |
CN114331352B true CN114331352B (zh) | 2024-05-28 |
Family
ID=81014790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111622946.8A Active CN114331352B (zh) | 2021-12-28 | 2021-12-28 | 同城大数据调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114331352B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278279A (zh) * | 2019-06-27 | 2019-09-24 | 苏宁消费金融有限公司 | 一种动态资源调度机制的大数据离线调度开发平台及方法 |
CN111915419A (zh) * | 2020-07-02 | 2020-11-10 | 中信银行股份有限公司 | 基于大数据的信用卡核心系统开放式账单计算与查询系统 |
CN112579276A (zh) * | 2020-12-23 | 2021-03-30 | 绿瘦健康产业集团有限公司 | 一种用于大数据平台的任务作业可视化系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834722B (zh) * | 2015-05-12 | 2018-03-02 | 网宿科技股份有限公司 | 基于cdn的内容管理系统 |
-
2021
- 2021-12-28 CN CN202111622946.8A patent/CN114331352B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278279A (zh) * | 2019-06-27 | 2019-09-24 | 苏宁消费金融有限公司 | 一种动态资源调度机制的大数据离线调度开发平台及方法 |
CN111915419A (zh) * | 2020-07-02 | 2020-11-10 | 中信银行股份有限公司 | 基于大数据的信用卡核心系统开放式账单计算与查询系统 |
CN112579276A (zh) * | 2020-12-23 | 2021-03-30 | 绿瘦健康产业集团有限公司 | 一种用于大数据平台的任务作业可视化系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114331352A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536899B (zh) | 一种基于智能集群的软件部署及其维护方法 | |
CN106549829B (zh) | 大数据计算平台监控系统及方法 | |
US7552447B2 (en) | System and method for using root cause analysis to generate a representation of resource dependencies | |
CN108874558B (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
EP3617884B1 (en) | Adapter extension for inbound messages from robotic automation platforms to unified automation platform | |
US20060190948A1 (en) | Connection manager, method, system and program product for centrally managing computer applications | |
CN104679717A (zh) | 集群弹性部署的方法和管理系统 | |
US20070250365A1 (en) | Grid computing systems and methods thereof | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
US12095621B2 (en) | Managed remediation of non-compliant resources | |
CN111552556B (zh) | 一种gpu集群服务管理系统及方法 | |
CN113220431B (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
CN111459763A (zh) | 跨kubernetes集群监控系统及方法 | |
US10891193B2 (en) | Application health monitoring and automatic remediation | |
CN103336709A (zh) | 一种在集群中实现虚拟化分布式统一管理的方法及系统 | |
CN111897643B (zh) | 线程池配置系统、方法、装置和存储介质 | |
CN115115329A (zh) | 一种面向智能生产线的制造中间件及云制造架构 | |
CN107992350B (zh) | 一种生成配置概览页面的方法及装置 | |
CN113220480B (zh) | 分布式的数据任务跨云调度系统及方法 | |
CN106354507A (zh) | 一种企业级应用管理系统及其运行方法 | |
CN115242596A (zh) | 面向用户的网络测试床场景业务调度方法及装置 | |
CN113900670B (zh) | 集群服务器应用部署系统 | |
CN109117152B (zh) | 服务生成系统及方法 | |
JP2010128597A (ja) | 情報処理装置及び情報処理装置の運用方法 | |
CN110661851A (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 |