CN114443251A - 一种调度系统脚本同步和执行方法 - Google Patents
一种调度系统脚本同步和执行方法 Download PDFInfo
- Publication number
- CN114443251A CN114443251A CN202210085948.6A CN202210085948A CN114443251A CN 114443251 A CN114443251 A CN 114443251A CN 202210085948 A CN202210085948 A CN 202210085948A CN 114443251 A CN114443251 A CN 114443251A
- Authority
- CN
- China
- Prior art keywords
- script
- information
- development information
- instruction
- script development
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种调度系统脚本同步和执行方法,方法包括:获得第一调度系统,第一调度系统包括server端和worker端;根据server端,获得数据开发用户提交的第一脚本开发信息,且对第一脚本开发信息进行git资源配置,获得第一配置信息;基于zookeeper,将第一脚本开发信息传输至第一worker节点,生成第一变更指令;根据第一变更指令,第一worker节点在server端拉取第一脚本开发信息,且server端生成第一执行指令;根据第一执行指令,第一worker节点上的数据处理服务器执行第一脚本开发信息。
Description
技术领域
本发明涉及数据处理相关技术领域,具体涉及一种调度系统脚本同步和执行方法。
背景技术
随着计算机技术的不断发展,企业数字化的程度逐渐加深,针对于数据处理的自动化手段也不断成熟,使用任务调度结合脚本开发的方式实现数据自动化处理是当前常规使用的一类方式,例如linuxcrontab进行任务调度,在服务器进行脚本开发的工作方式较为广泛。
但本申请在实现本申请中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中只考虑到任务调度、任务依赖关系和脚本执行,存在无法保障脚本及被引用脚本代码同时为最新版本,以及任务调度失败回滚时无法回滚引用脚本的技术问题。
发明内容
本申请通过提供了一种调度系统脚本同步和执行方法,解决了现有技术中只考虑到任务调度、任务依赖关系和脚本执行,存在无法保障脚本及被引用脚本代码同时为最新版本,以及任务调度失败回滚时无法回滚引用脚本的技术问题。通过将任务调度系统分为server端和worker端,在server端调取开发人员提供的脚本开发信息,并基于脚本开发信息在git仓库中对进行资源配置;通过zookeeper程序得到和脚本开发信息相对应的发生变更的worker节点,根据变更信息worker节点在server端拉取脚本开发信息,进而依据资源配置结果和拉取的脚本开发信息执行任务,实现了保障脚本和脚本引用代码为最新版本,且由于git仓库的存在,回滚时可以同时回滚脚本和被引用的脚本代码的技术效果。
鉴于上述问题,本申请提供了一种调度系统脚本同步和执行方法。
第一方面,本申请提供了一种调度系统脚本同步和执行方法,所述方法包括:获得第一调度系统,所述第一调度系统包括server端和worker端;根据所述server端,获得数据开发用户提交的第一脚本开发信息,且对所述第一脚本开发信息进行git资源配置,获得第一配置信息;基于zookeeper,将所述第一脚本开发信息传输至第一worker节点,生成第一变更指令,其中,所述zookeeper与所述server端通信链接,且所述第一worker节点包含于所述worker端;根据所述第一变更指令,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且所述server端生成第一执行指令;根据所述第一执行指令,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息。
另一方面,本申请提供了一种调度系统脚本同步和执行系统,所述系统包括:第一获得单元,所述第一获得单元用于获得第一调度系统,所述第一调度系统包括server端和worker端;第二获得单元,所述第二获得单元用于根据所述server端,获得数据开发用户提交的第一脚本开发信息,且对所述第一脚本开发信息进行git资源配置,获得第一配置信息;第一生成单元,所述第一生成单元用于基于zookeeper,将所述第一脚本开发信息传输至第一worker节点,生成第一变更指令,其中,所述zookeeper与所述server端通信链接,且所述第一worker节点包含于所述worker端;第一处理单元,所述第一处理单元用于根据所述第一变更指令,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且所述server端生成第一执行指令;第一执行单元,所述第一执行单元用于根据所述第一执行指令,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息。
第三方面,本申请提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其中,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法。
本申请中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于采用了通过将任务调度系统分为server端和worker端,在server端调取开发人员提供的脚本开发信息,并基于脚本开发信息在git仓库中对进行资源配置;通过zookeeper程序得到和脚本开发信息相对应的发生变更的worker节点,根据变更信息worker节点在server端拉取脚本开发信息,进而依据资源配置结果和拉取的脚本开发信息执行任务的技术方案,实现了保障脚本和脚本引用代码为最新版本,且由于git仓库的存在,回滚时可以同时回滚脚本和被引用的脚本代码的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请提供了一种调度系统脚本同步和执行方法流程示意图;
图2为本申请提供了一种调度系统脚本同步和执行方法流程中的更新情况检索方法流程示意图;
图3为本申请提供了一种调度系统脚本同步和执行方法流程中出现异常工作状态前后文件同步方法流程示意图;
图4为本申请提供了一种调度系统脚本同步和执行系统结构示意图;
图5为本申请示例性电子设备的结构示意图。
附图标记说明:第一获得单元11,第二获得单元12,第一生成单元13,第一处理单元14,第一执行单元15,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
本申请通过提供了一种调度系统脚本同步和执行方法,解决了现有技术中只考虑到任务调度、任务依赖关系和脚本执行,存在无法保障脚本及被引用脚本代码同时为最新版本,以及任务调度失败回滚时无法回滚引用脚本的技术问题。通过将任务调度系统分为server端和worker端,在server端调取开发人员提供的脚本开发信息,并基于脚本开发信息在git仓库中对进行资源配置;通过zookeeper程序得到和脚本开发信息相对应的发生变更的worker节点,根据变更信息worker节点在server端拉取脚本开发信息,进而依据资源配置结果和拉取的脚本开发信息执行任务,实现了保障脚本和脚本引用代码为最新版本,且由于git仓库的存在,回滚时可以同时回滚脚本和被引用的脚本代码的技术效果。
申请概述
随着计算机技术的不断发展,企业数字化的程度逐渐加深,针对于数据处理的自动化手段也不断成熟,使用任务调度结合脚本开发的方式实现数据自动化处理是当前常规使用的一类方式,但现有技术中只考虑到任务调度、任务依赖关系和脚本执行,存在无法保障脚本及被引用脚本代码同时为最新版本,以及任务调度失败回滚时无法回滚引用脚本的技术问题。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请提供了一种调度系统脚本同步和执行方法,所述方法包括:获得第一调度系统,所述第一调度系统包括server端和worker端;根据所述server端,获得数据开发用户提交的第一脚本开发信息,且对所述第一脚本开发信息进行git资源配置,获得第一配置信息;基于zookeeper,将所述第一脚本开发信息传输至第一worker节点,生成第一变更指令,其中,所述zookeeper与所述server端通信链接,且所述第一worker节点包含于所述worker端;根据所述第一变更指令,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且所述server端生成第一执行指令;根据所述第一执行指令,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息。
在介绍了本申请基本原理后,下面将结合说明书附图来具体介绍本申请的各种非限制性的实施方式。
实施例一
如图1所示,本申请提供了一种调度系统脚本同步和执行方法,其中,所述方法包括:
S100:获得第一调度系统,所述第一调度系统包括server端和worker端;
具体而言,所述第一调度系统指的是为了进行数据处理而构建的进行任务调度的系统,包括:
所述server端指的是提供脚本和调度流程管理的模块,server端和数据开发人员交互,可以从数据开发人员得到最新版本的脚本及脚本代码信息;server端和git仓库交互,可以为脚本执行过程需要的资源进行配置。
所述worker端指的是部署在每台数据处理服务器上,负责执行server端下发的指令的模块,server端负责更新git服务的代码,通过zookeeper通知worker端内的worker节点发生变更的文件,进而worker节点在server端拉取更新的脚本代码,即可使用最新版本的脚本和脚本代码执行任务。多个worker端相对于一个server端,不同的worker端执行不同的任务,而server端可以调度多种任务进行执行。
进一步的,git仓库指的是开源的分布式版本控制系统,可以高效的处理多种不同量级的脚本及脚本代码版本管理,当其中一个版本的脚本及脚本代码任务调度失败时,可以回滚至其他版本的脚本及脚本代码进行任务调度;zookeeper指的是应用于分布式服务框架中进行任务配置项管理,可以监听并通知脚本发生变更的对应worker节点。
综上,达到了同时以最新版本的脚本和脚本代码执行任务、以及任务调度失败时实现脚本和脚本代码同时回滚的技术效果。
S200:根据所述server端,获得数据开发用户提交的第一脚本开发信息,且对所述第一脚本开发信息进行git资源配置,获得第一配置信息;
进一步的,所述方法步骤S200包括:
S210:构建git仓库,其中,所述git仓库包括webhook配置信息、资源类型配置信息;
S220:根据所述资源类型配置信息,对所述git仓库进行地址配置和ssh公钥配置,生成所述第一配置信息;
S230:根据所述资源类型配置信息,对所述数据处理服务器进行存储路径配置。
具体而言,所述第一脚本开发信息指的是数据开发用户提交的最新版本的脚本开发数据,数据开发人员在本地或系统开发脚本并提交至git仓库后,通过git webhook通知server端脚本代码更新的信息,其中,git webhook指的是对git仓库中进行操作时,即发生相应响应的触发器,进而实现通知server端脚本代码更新的目的。
进一步的,在git仓库中接收到第一脚本开发信息后,在git仓库中对第一脚本开发信息进行资源配置,配置内容包括但不限于:webhook配置信息、资源类型配置信息等,其中,资源类型配置信息示例性地如:地址配置、ssh公钥配置和存储路径配置。其中,ssh公钥指的是数据传输过程是加密的,因此git仓库需要生成进行身份认证的公钥ssh;地址配置指的是配置第一脚本信息进行数据处理的git仓库地址。
将地址配置、ssh公钥配置存储为所述第一配置信息;通过webhook通知server端脚本代码更新的信息;通过存储路径配置将更新脚本的数据处理信息的存储路径进行配置。便于后步执行任务调度时可以快速调用配置信息。
S300:基于zookeeper,将所述第一脚本开发信息传输至第一worker节点,生成第一变更指令,其中,所述zookeeper与所述server端通信连接,且所述第一worker节点包含于所述worker端;
具体而言,通过zookeeper程序可以实现对git仓库中实现变更的配置项的监听,而不同的任务执行流程匹配的脚本及脚本代码信息对应于进行脚本任务执行的worker端内不同的节点,当zookeeper监听到第一脚本开发信息的配置信息发生变更时,server端使用git pull更新代码,并将需要更新的脚本文件信息写入每个worker节点注册的zookeeper路径下,通过zookeeper通知worker端内相应的第一worker节点,在第一worker节点生成第一变更指令。用于控制第一worker节点更新第一脚本开发信息的配置信息,进而保障脚本及脚本代码、配置信息的最新版本,其中,通过git pull命令可以从git仓库的本地和远程代码分支中获得最新的代码。
S400:根据所述第一变更指令,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且所述server端生成第一执行指令;
S500:根据所述第一执行指令,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息。
具体而言,在接收到第一变更指令之后,第一worker节点基于写入每个worker节点注册的zookeeper路径从server端拉取最新的第一脚本开发信息及最新代码信息,并删除zookeeper对应worker节点路径下的文件信息,以此表征第一脚本开发信息更新完成。进一步的,依据第一执行指令在第一worker节点上的数据处理服务器执行第一脚本开发信息,完成任务调度。达到了保障脚本及其引用的脚本代码信息同时保证最新版本的技术效果。
进一步的,所述方法步骤S200包括:
S240:所述数据开发用户提交所述第一脚本开发信息后,根据所述webhook配置信息,生成所述第一脚本开发信息的webhook代码更新提醒指令;
具体而言,当通过git webhook得到git仓库中的脚本配置信息的更新动态后,就生成所述webhook代码更新提醒指令通知server端脚本代码更新的信息。
S250:根据所述webhook代码更新提醒指令,提醒所述server端进行配置更新。
进一步的,所述方法步骤S250包括:
S251:获得本地代码分支信息和git远程代码分支信息;
S252:调用git diff命令,对所述本地代码分支信息和所述git远程代码分支信息进行对比,获得当前更新文件;
S253:将所述当前更新文件录入数据库。
具体而言,在server端接收到webhook代码更新提醒指令后,server端使用gitdiff{分支名称}origin/{分支名称}命令进行本地代码分支和git远程代码分支对比,找到本次更新的文件记入数据库当前版本信息,便于后步任务调度失败时可进行版本回滚。其中,git diff和origin都是用于本地代码分支和git远程代码分支进行比对的命令信息。通过将本地代码分支和git远程代码分支比对,得到需要更新的代码内容对被引用的脚本代码实现更新,保证脚本代码的最新版本,同时使用数据库记录更新前后的脚本代码内容,便于在任务调度失败时,实现包括脚本代码在内的版本回滚,达到了保障脚本代码及脚本为最新版本,且脚本及脚本代码可同时回滚的技术效果。
进一步的,如图2所示,基于所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息,之前包括步骤S600:
S610:对所述zookeeper的历史同步文件进行检索,判断是否存在未同步完成文件;
S620:若不存在所述未同步完成文件,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且切换至所述第一脚本开发信息的所在目录执行所述第一脚本开发信息。
具体而言,在对更新后的第一脚本开发信息进行执行前,需要判断zookeeper的历史同步文件中是否有还未同步的待更新的文件信息,由于在第一worker节点从server端拉取最新的第一脚本开发信息及最新代码信息进行更新后即将zookeeper对应worker节点路径下的文件信息删除,表征更新完成,通过遍历zookeeper,若是存在未删除的zookeeper对应worker节点路径下的文件信息,则更新未完成,继续更新;若是不存在zookeeper对应worker节点路径下的文件信息,则更新完成,则进行开发调试和任务执行。通过对zookeeper的历史同步文件的检索,保障第一worker节点更新后的第一脚本开发信息为最新版本的数据。
进一步的,如图3所示,所述方法包括步骤S700:
S710:判断所述数据处理服务器是否存在异常工作情况;
S720:若所述数据处理服务器存在所述异常工作情况,生成第一对比指令;
S730:根据所述第一对比指令,对异常后执行文件与异常前执行文件进行对比,生成第一对比结果;
S740:根据所述第一对比结果,若所述异常后执行文件存在差异,生成第一同步指令;
S750:根据所述第一同步指令,将所述第一脚本开发信息全量同步至所述数据处理服务器。
具体而言,当数据处理服务器存在异常工作情况,示例性地如:宕机,导致任务执行中断,再次启动时,需要对异常工作前后文件进行比对,根据差异情况对第一脚本开发信息进行同步。
所述第一对比指令指的是数据处理服务器存在异常工作情况时,再次启动后生成的调用异常工作前后文件进行比对的指令;所述第一对比结果指的是将异常工作前后文件进行比对得到的结果,示例性地的比对方式为:从数据库中调用更新的第一脚本开发信息,从数据处理服务器调用再次启动后的第一脚本开发信息,使用接口对比文件checksum文件是否相同,其中,checksum是进行数据完整性和准确性的校验算法。
进一步的,当数据处理服务器存在异常工作情况前后文件存在差异时,基于第一同步指令将数据库中调用的第一脚本开发信息全量同步至数据处理服务器,保障第一脚本开发信息的完整性和准确性。
综上所述,本申请所提供的一种调度系统脚本同步和执行方法具有如下技术效果:
1.通过将任务调度系统分为server端和worker端,在server端调取开发人员提供的脚本开发信息,并基于脚本开发信息在git仓库中对进行资源配置;通过zookeeper程序得到和脚本开发信息相对应的发生变更的worker节点,根据变更信息worker节点在server端拉取脚本开发信息,进而依据资源配置结果和拉取的脚本开发信息执行任务,实现了保障脚本和脚本引用代码为最新版本,且由于git仓库的存在,回滚时可以同时回滚脚本和被引用的脚本代码的技术效果。
2.通过将本地代码分支和git远程代码分支比对,得到需要更新的代码内容对被引用的脚本代码实现更新,保证脚本代码的最新版本,同时使用数据库记录更新前后的脚本代码内容,便于在任务调度失败时,实现包括脚本代码在内的版本回滚,达到了保障脚本代码及脚本为最新版本,且脚本及脚本代码可同时回滚的技术效果。
3.通过对zookeeper的历史同步文件的检索,保障第一worker节点更新后的第一脚本开发信息未最新版本的数据。
4.当数据处理服务器存在异常工作情况前后文件存在差异时,基于第一同步指令将数据库中调用的第一脚本开发信息全量同步至数据处理服务器,保障第一脚本开发信息的完整性和准确性。
实施例二
基于与前述实施例中一种调度系统脚本同步和执行方法相同的发明构思,如图4所示,本申请提供了一种调度系统脚本同步和执行系统,其中,所述系统包括:
第一获得单元11,所述第一获得单元11用于获得第一调度系统,所述第一调度系统包括server端和worker端;
第二获得单元12,所述第二获得单元12用于根据所述server端,获得数据开发用户提交的第一脚本开发信息,且对所述第一脚本开发信息进行git资源配置,获得第一配置信息;
第一生成单元13,所述第一生成单元13用于基于zookeeper,将所述第一脚本开发信息传输至第一worker节点,生成第一变更指令,其中,所述zookeeper与所述server端通信链接,且所述第一worker节点包含于所述worker端;
第一处理单元14,所述第一处理单元14用于根据所述第一变更指令,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且所述server端生成第一执行指令;
第一执行单元15,所述第一执行单元15用于根据所述第一执行指令,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息。
进一步的,所述系统还包括:
第一构建单元,所述第一构建单元用于构建git仓库,其中,所述git仓库包括webhook配置信息、资源类型配置信息;
第二生成单元,所述第二生成单元用于根据所述资源类型配置信息,对所述git仓库进行地址配置和ssh公钥配置,生成所述第一配置信息;
第一配置单元,所述第一配置单元用于根据所述资源类型配置信息,对所述数据处理服务器进行存储路径配置。
进一步的,所述系统还包括:
第三生成单元,所述第三生成单元用于所述数据开发用户提交所述第一脚本开发信息后,根据所述webhook配置信息,生成所述第一脚本开发信息的webhook代码更新提醒指令;
第一提醒单元,所述第一提醒单元用于根据所述webhook代码更新提醒指令,提醒所述server端进行配置更新。
进一步的,所述系统还包括:
第三获得单元,所述第三获得单元用于获得本地代码分支信息和git远程代码分支信息;
第四获得单元,所述第四获得单元用于调用git diff命令,对所述本地代码分支信息和所述git远程代码分支信息进行对比,获得当前更新文件;
第一录入单元,所述第一录入单元用于将所述当前更新文件录入数据库。
进一步的,所述系统还包括:
第一判断单元,所述第一判断单元用于对所述zookeeper的历史同步文件进行检索,判断是否存在未同步完成文件;
第二执行单元,所述第二执行单元用于若不存在所述未同步完成文件,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且切换至所述第一脚本开发信息的所在目录执行所述第一脚本开发信息。
进一步的,所述系统还包括:
第二判断单元,所述第二判断单元用于判断所述数据处理服务器是否存在异常工作情况;
第四生成单元,所述第四生成单元用于若所述数据处理服务器存在所述异常工作情况,生成第一对比指令;
第五生成单元,所述第五生成单元用于根据所述第一对比指令,对异常后执行文件与异常前执行文件进行对比,生成第一对比结果;
第六生成单元,所述第六生成单元用于根据所述第一对比结果,若所述异常后执行文件存在差异,生成第一同步指令;
第三执行单元,所述第三执行单元用于根据所述第一同步指令,将所述第一脚本开发信息全量同步至所述数据处理服务器。
示例性电子设备
下面参考图5来描述本申请的电子设备。
基于与前述实施例中一种调度系统脚本同步和执行方法相同的发明构思,本申请还提供了一种电子设备,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得系统以执行实施例一任一项所述的方法。
该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;总线架构304可以是外设部件互连标(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry Standardarchitecture,简称EISA)总线等。所述总线架构304可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器302可以是一个CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口303,使用任何收发器一类的系统,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN),有线接入网等。
存储器301可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable Programmable read-only memory,EEPROM)、只读光盘(compactdiscread-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线架构304与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器301用于存储执行本申请方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本申请上述实施例提供的一种调度系统脚本同步和执行方法。
本申请提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一任一项所述的方法。
可选的,本申请中的计算机执行指令也可以称之为应用程序代码,本申请对此不作具体限定。
本申请通过将任务调度系统分为server端和worker端,在server端调取开发人员提供的脚本开发信息,并基于脚本开发信息在git仓库中对进行资源配置;通过zookeeper程序得到和脚本开发信息相对应的发生变更的worker节点,根据变更信息worker节点在server端拉取脚本开发信息,进而依据资源配置结果和拉取的脚本开发信息执行任务,实现了保障脚本和脚本引用代码为最新版本,且由于git仓库的存在,回滚时可以同时回滚脚本和被引用的脚本代码的技术效果。
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(SolidState Disk,SSD))等。
本申请中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑系统,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算系统的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于终端中。可选地,处理器和存储媒介也可以设置于终端中的不同的部件中。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请及其等同技术的范围之内,则本申请意图包括这些改动和变型在内。
Claims (9)
1.一种调度系统脚本同步和执行方法,其特征在于,所述方法包括:
获得第一调度系统,所述第一调度系统包括server端和worker端;
根据所述server端,获得数据开发用户提交的第一脚本开发信息,且对所述第一脚本开发信息进行git资源配置,获得第一配置信息;
基于zookeeper,将所述第一脚本开发信息传输至第一worker节点,生成第一变更指令,其中,所述zookeeper与所述server端通信连接,且所述第一worker节点包含于所述worker端;
根据所述第一变更指令,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且所述server端生成第一执行指令;
根据所述第一执行指令,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息。
2.如权利要求1所述的方法,其特征在于,所述方法包括:
构建git仓库,其中,所述git仓库包括webhook配置信息、资源类型配置信息;
根据所述资源类型配置信息,对所述git仓库进行地址配置和ssh公钥配置,生成所述第一配置信息;
根据所述资源类型配置信息,对所述数据处理服务器进行存储路径配置。
3.如权利要求2所述的方法,其特征在于,所述方法包括:
所述数据开发用户提交所述第一脚本开发信息后,根据所述webhook配置信息,生成所述第一脚本开发信息的webhook代码更新提醒指令;
根据所述webhook代码更新提醒指令,提醒所述server端进行配置更新。
4.如权利要求3所述的方法,其特征在于,所述方法包括:
获得本地代码分支信息和git远程代码分支信息;
调用git diff命令,对所述本地代码分支信息和所述git远程代码分支信息进行对比,获得当前更新文件;
将所述当前更新文件录入数据库。
5.如权利要求1所述的方法,其特征在于,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息,之前包括:
对所述zookeeper的历史同步文件进行检索,判断是否存在未同步完成文件;
若不存在所述未同步完成文件,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且切换至所述第一脚本开发信息的所在目录执行所述第一脚本开发信息。
6.如权利要求4所述的方法,其特征在于,所述方法包括:
判断所述数据处理服务器是否存在异常工作情况;
若所述数据处理服务器存在所述异常工作情况,生成第一对比指令;
根据所述第一对比指令,对异常后执行文件与异常前执行文件进行对比,生成第一对比结果;
根据所述第一对比结果,若所述异常后执行文件存在差异,生成第一同步指令;
根据所述第一同步指令,将所述第一脚本开发信息全量同步至所述数据处理服务器。
7.一种调度系统脚本同步和执行系统,其特征在于,所述系统包括:
第一获得单元,所述第一获得单元用于获得第一调度系统,所述第一调度系统包括server端和worker端;
第二获得单元,所述第二获得单元用于根据所述server端,获得数据开发用户提交的第一脚本开发信息,且对所述第一脚本开发信息进行git资源配置,获得第一配置信息;
第一生成单元,所述第一生成单元用于基于zookeeper,将所述第一脚本开发信息传输至第一worker节点,生成第一变更指令,其中,所述zookeeper与所述server端通信链接,且所述第一worker节点包含于所述worker端;
第一处理单元,所述第一处理单元用于根据所述第一变更指令,所述第一worker节点在所述server端拉取所述第一脚本开发信息,且所述server端生成第一执行指令;
第一执行单元,所述第一执行单元用于根据所述第一执行指令,所述第一worker节点上的数据处理服务器执行所述第一脚本开发信息。
8.一种电子设备,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,其特征在于,当所述程序被所述处理器执行时,使系统以执行如1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210085948.6A CN114443251A (zh) | 2022-01-25 | 2022-01-25 | 一种调度系统脚本同步和执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210085948.6A CN114443251A (zh) | 2022-01-25 | 2022-01-25 | 一种调度系统脚本同步和执行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443251A true CN114443251A (zh) | 2022-05-06 |
Family
ID=81368823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210085948.6A Pending CN114443251A (zh) | 2022-01-25 | 2022-01-25 | 一种调度系统脚本同步和执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443251A (zh) |
-
2022
- 2022-01-25 CN CN202210085948.6A patent/CN114443251A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9253265B2 (en) | Hot pluggable extensions for access management system | |
CN108427616B (zh) | 后台程序监控方法及监控装置 | |
US20120159421A1 (en) | System and Method for Exclusion of Inconsistent Objects from Lifecycle Management Processes | |
CN108416449B (zh) | 一种运维方法和装置 | |
CN110162334B (zh) | 一种代码管理方法、装置及存储介质 | |
CN112445598B (zh) | 一种基于quartz的任务调度方法、装置、电子设备以及介质 | |
CN111679888A (zh) | 一种代理容器的部署方法及装置 | |
JP2023527195A (ja) | ベースライン監視方法、装置、読み取り可能な媒体、及び電子機器 | |
CN110764894A (zh) | 一种定时任务管理方法、装置、设备及存储介质 | |
CN110609755A (zh) | 跨区块链节点的消息处理方法及装置、设备、介质 | |
CN113778486A (zh) | 一种代码流水线的容器化处理方法、装置、介质及设备 | |
CN114185577A (zh) | 配置管理系统、配置管理方法、服务器及存储介质 | |
CN113220433A (zh) | 一种代理程序运行管理方法及系统 | |
CN112612850A (zh) | 数据同步方法及装置 | |
CN111913793A (zh) | 分布式任务调度方法、装置、节点设备和系统 | |
CN114443251A (zh) | 一种调度系统脚本同步和执行方法 | |
CN116149701A (zh) | 一种面向边缘终端的软件在线升级方法和系统 | |
CN114816866A (zh) | 故障处理方法、装置、电子设备和存储介质 | |
CN112099879B (zh) | 配置信息管理方法、装置、计算机设备及存储介质 | |
CN115167874A (zh) | 自动驾驶软件镜像部署方法、装置、电子设备和可读介质 | |
CN111858234A (zh) | 一种任务执行方法、装置、设备、介质 | |
US20150046414A1 (en) | Computer product, managing apparatus, and managing method | |
US20220164219A1 (en) | Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program | |
CN112433740B (zh) | 一种集群离线升级的方法、系统、设备及介质 | |
CN114510282B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant after: Bairong Zhixin (Beijing) Technology Co.,Ltd. Address before: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant before: Bairong Zhixin (Beijing) credit investigation Co.,Ltd. |