CN108932157A - 分布式处理任务的方法、系统、电子设备和可读介质 - Google Patents
分布式处理任务的方法、系统、电子设备和可读介质 Download PDFInfo
- Publication number
- CN108932157A CN108932157A CN201710362214.7A CN201710362214A CN108932157A CN 108932157 A CN108932157 A CN 108932157A CN 201710362214 A CN201710362214 A CN 201710362214A CN 108932157 A CN108932157 A CN 108932157A
- Authority
- CN
- China
- Prior art keywords
- task
- command
- node
- execution machine
- zookeeper
- 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.)
- Granted
Links
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/465—Distributed object oriented systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种分布式处理任务的方法、系统、电子设备和可读介质,能够实现分布式集群环境下高可用的worker架构方案,可以通过自定义命令的方式,使得执行机可以灵活、多样化的执行任务。该方法包括:将任务配置信息保存至ZooKeeper的配置服务持久化节点中,管理端从所述配置服务持久化节点中读取所述任务配置信息;管理端根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式处理任务的方法、系统、电子设备和可读介质。
背景技术
在如今业务复杂的系统中,常常有很多的工作需要一些任务在固定的时间或者固定的周期去定时处理,例如每天上下班打卡的提醒、每周关键指标的报表、重要邮件的定时发送等。在系统软件设计过程中,为了降低系统之间的耦合性以及单个应用程序的负荷,通常会将这些固定周期要去做的任务抽取出来,放在一个单独应用程序里去维护,这样的应用程序统称为Worker。
现有技术中,实现任务调度的worker方案主要包括如下两种:
1)利用开源项目Quartz实现任务定时调度的应用;
2)利用淘宝开源的一套分布式调度框架TBSchedule实现任务调度,可以支持集群的部署方案,支持特定任务在单个执行机器上执行,支持单个任务拆分到多个执行机器上执行。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1、Quartz:
(1)支持简单集群,但不能对单个任务进行分片式拆分;
(2)在单个任务处理数据量大的情况下,对应用服务器造成的压力很大,甚至可能引起服务器宕机。
2、TBSchedule:
当多个执行机并行执行单个任务时,只能根据任务的数据量来拆分任务,拆分策略相对单一,不能自定义执行机执行任务的策略。
发明内容
有鉴于此,本发明实施例提供一种分布式处理任务的方法、系统、电子设备和可读介质,能够实现分布式集群环境下高可用的worker架构方案,可以通过自定义命令的方式,使得执行机可以灵活、多样化的执行任务。
为实现上述目的,根据本发明实施例的一个方面,提供了一种分布式处理任务的方法。
本发明实施例的一种分布式处理任务的方法包括:将任务配置信息保存至ZooKeeper的配置服务持久化节点中,管理端从所述配置服务持久化节点中读取所述任务配置信息;管理端根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务。
可选地,所述方法还包括:将所述任务配置信息保存至数据库中。
可选地,所述方法还包括:所述执行机根据预设性能分析周期,计算其所在服务器的性能分数,并将所述性能分数保存至数据库中。
可选地,所述方法还包括:所述管理端根据任务配置信息,为复杂任务配置相应的策略信息,并将所述策略信息保存至数据库中;根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令还包括:若所述任务为简单任务,则从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机,并根据所述性能分数最高的执行机生成相应的自定义命令;若所述任务为复杂任务,则获取所述复杂任务的策略信息,并根据所述策略信息从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机组,并根据所述策略信息和所述执行机组的信息生成自定义命令。
可选地,所述策略信息和/或所述自定义命令基于XML语言实现。
可选地,所述方法还包括:所述管理端利用Quartz框架将所述自定义命令下发至执行机,以实现任务调度。
可选地,通过所述命令服务持久化节点将所述自定义命令下发至执行机包括:执行机在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;管理端将自定义命令发送至所述命令服务持久化节点,所述执行机利用所述临时子节点监听到所述命令服务持久化节点的数据变化,并根据所述数据变化获取自定义命令。
可选地,所述方法还包括:所述管理端开启命令下发监控功能,用于按照预设监控周期监控自定义命令是否下发成功。
为实现上述目的,根据本发明实施例的另一个方面,提供了另一种分布式处理任务的方法。
本发明实施例的另一种分布式处理任务的方法包括:执行机在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;当管理端将任务的自定义命令发送至所述命令服务持久化节点时,若所述执行机通过所述临时子节点监听到所述命令服务持久化节点的数据变化,则根据所述数据变化获取自定义命令;解析所述自定义命令,执行相应的任务。
可选地,所述方法还包括:所述执行机根据预设性能分析周期,计算其所在服务器的性能分数,并将所述性能分数保存至数据库中。
可选地,所述方法还包括:所述任务包括简单任务和复杂任务,所述管理端为复杂任务配置相应的策略信息,然后将所述策略信息保存至数据库中;所述自定义命令是指:若所述任务为简单任务,则管理端从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机,并根据所述性能分数最高的执行机生成的自定义命令;若所述任务为复杂任务,则管理端从数据库中获取所述复杂任务的策略信息,并根据所述策略信息从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机组,并根据所述策略信息和所述性能分数最高的执行机组的信息生成的自定义命令。
可选地,所述策略信息和/或所述自定义命令基于XML语言实现。
可选地,解析所述自定义命令包括:利用plist包解析所述自定义命令。
可选地,所述方法还包括:所述管理端开启命令下发监控功能,用于按照预设监控周期监控所述执行机是否获取到所述自定义命令。
为实现上述目的,根据本发明实施例的再一个方面,提供了另一种分布式处理任务的系统。
本发明实施例的一种分布式处理任务的系统包括:管理端、ZooKeeper、执行机,其中:管理端用于将任务配置信息保存至ZooKeeper的配置服务持久化节点中,并从所述配置服务持久化节点中读取所述任务配置信息;根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务;执行机用于在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;当管理端将任务的自定义命令发送至所述命令服务持久化节点时,若所述执行机通过所述临时子节点监听到所述命令服务持久化节点的数据变化,则根据所述数据变化获取自定义命令;以及解析所述自定义命令,执行相应的任务;ZooKeeper用于通过配置服务持久化节点管理任务的配置信息,通过命令服务持久化节点统一管理执行机。
为实现上述目的,根据本发明实施例的又一个方面,提供了电子设备。
本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的分布式处理任务的方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的分布式处理任务的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用在分布式集群环境下利用ZooKeeper进行配置信息管理和执行机节点的管理,并基于自定义命令进行任务的调度的技术手段,所以克服了不能对单个任务进行灵活、多样的执行的技术问题,进而达到对任务的多样化、合理的管理,提高服务器的利用效率的技术效果;通过在简单任务情况下,管理端主动选取最优的执行机进行任务执行,在复杂任务情况下,管理端可根据自定义策略向执行机下发命令,进行执行任务,从而可以根据实现对任务的灵活调度;通过将任务配置信息保存至数据库中,从而可以避免当ZooKeeper宕机的情况下,保证任务配置信息数据的安全性;通过执行机根据预设性能分析周期,计算其所在服务器的性能分数,从而可以有利于管理端在进行任务调度时,有针对的选择性能最高的执行机执行任务;通过基于XML语言实现自定义命令,从而可以实现在分布式环境中方便的实现数据通信,并且允许管理端自定义任务执行策略;通过管理端利用Quartz框架将所述自定义命令下发至执行机,从而既可以实现任务调度,又可以根据管理员自定义的命令进行任务中数据的横向或纵向的分区,实现根据自定义命令实现任务的执行;通过管理端开启命令下发监控功能,从而可以按照预设监控周期监控自定义命令是否下发成功。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例可以应用于其中的示例性系统架构图;
图2是根据本发明实施例的分布式处理任务的方法的主要步骤的示意图;
图3是根据本发明实施例的另一分布式处理任务的方法的主要步骤的示意图;
图4是根据本发明实施例的分布式处理任务的系统的主要部分的示意图;
图5是用于实现本发明实施例的分布式处理任务的方法的总体系统的组成部分的示意图;
图6是根据本发明实施例的分布式处理任务的方法的管理端的主要流程示意图;
图7是根据本发明实施例的分布式处理任务的方法的执行机的主要流程的示意图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了可以应用本发明实施例的分布式处理任务方法或分布式处理任务系统的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的分布式处理任务方法一般由服务器105执行,相应地,分布式处理任务系统一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明实施例的分布式处理任务的方法和系统提出一种分布式集群环境下高可用的worker架构方案,能够动态的水平扩展任务执行机,在处理简单任务情况下,管理端能够主动选取最优的执行机执行任务,在处理复杂任务情况下,管理端可根据自定义策略向执行机下发命令,执行任务。
以下是本发明实施例中涉及的一些技术术语的解释:
Java:是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,本发明的worker系统框架即是利用Java语言编写的分布式的定时处理任务的系统;
JVM:Java虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,本发明实施例中,执行任务的执行机可以是运行在JVM上;
Quartz:一个开源的任务调度框架,可以利用此框架周期性的执行任务,本发明实施例中,管理端集群利用Quartz实现任务调度;
ZooKeeper:一个开源的分布式应用程序协调服务,可以利用此框架对集群中的应用进行统一的管理;
持久化节点:与ZooKeeper进行网络通信的客户端,在与ZooKeeper断开连接后,该节点依旧存在;
临时目录节点:与ZooKeeper进行网络通信的客户端,在与ZooKeeper断开连接后,该节点被删除;
XML:可扩展标记语言,一种允许自定义且经常在分布式环境中用于数据通信的源语言,本发明实施例中,利用XML语言编写任务的策略信息和/或自定义命令;
Spring:一个分层的JavaSE/EE一站式轻量级开源框架,本发明实施例中,无论是在管理端服务还是在执行机中都要调用ZooKeeper的接口,这时就需要通过Spring把ZooKeeper引入进项目中;
Plist:一个开源的解析XML文件的包;
管理端:用于统一管理任务配置、策略命令、监控执行机性能的WEB管理端服务。
Redis:Redis是一个key-value存储系统。
图2是根据本发明实施例的分布式处理任务的方法的主要步骤的示意图。
如图2所示,本发明实施例的一种分布式处理任务的方法主要包括如下步骤:
步骤S201:将任务配置信息保存至ZooKeeper的配置服务持久化节点中,管理端从所述配置服务持久化节点中读取所述任务配置信息。
本发明实施例中,将从管理端配置文件中获取的任务配置信息保存在配置服务持久化节点中,以便于当任务数据发生变更时,管理端集群从ZooKeeper的配置服务持久化节点中统一获取任务配置信息。此外,还可以将所述任务配置信息保存至数据库中作为灾备,当ZooKeeper宕机时,可以从数据库读取数据。此处的数据库可以但不限于是MySQL数据库。
步骤S202:管理端根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令。
本发明实施例的分布式处理任务的方法还可以包括:执行机根据预设性能分析周期(例如但不限于是每隔15秒,此时间间隔可以动态配置),计算其所在服务器的性能分数,并将所述性能分数保存至数据库中。性能分数的计算过程可以如下:获取当前服务器的CPU、内存,按照性能分数=100-CPU使用率*0.5-内存使用率*0.5的公司,计算出性能分数,并存入例如先不限于Redis集群中。
此外,本发明实施例中,还可以包括:管理端根据任务配置信息,为复杂任务配置相应的策略信息,并将策略信息保存至数据库(例如但不限于前述存储任务配置信息的MySQL)中。
因此,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令还可以包括:若任务为简单任务,则从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机,并根据所述性能分数最高的执行机生成相应的自定义命令;若任务为复杂任务,则获取该复杂任务的策略信息,并根据所述策略信息从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机组,并根据所述策略信息和所述执行机组的信息生成自定义命令。
需要说明的是,本发明实施例中,策略信息和自定义命令可以是基于XML语言实现,以便于实现自定义命令,自定义执行策略,并将自定义的命令、策略信息在分布式数据通信环境中便捷通信。
步骤S203:通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务。
本发明实施例中,管理端可以利用Quartz框架将所述自定义命令下发至执行机,以实现任务调度。
具体而言,通过所述命令服务持久化节点将所述自定义命令下发至执行机包括:执行机在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;管理端将自定义命令发送至所述命令服务持久化节点,所述执行机利用所述临时子节点监听到所述命令服务持久化节点的数据变化,并根据所述数据变化获取自定义命令。
此外,本发明实施例的分布式处理任务的方法还可以包括:管理端开启命令下发监控功能,用于按照预设监控周期监控自定义命令是否下发成功。
图3是根据本发明实施例的另一分布式处理任务的方法的主要步骤的示意图。
如图3所示,本发明实施例的另一种分布式处理任务的方法主要包括如下步骤:
步骤S301:执行机在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化。
步骤S302:当管理端将任务的自定义命令发送至所述命令服务持久化节点时,若所述执行机通过所述临时子节点监听到所述命令服务持久化节点的数据变化,则根据所述数据变化获取自定义命令。
步骤S303:解析所述自定义命令,执行相应的任务。
其中,该方法还可包括:执行机根据预设性能分析周期,计算其所在服务器的性能分数,并将所述性能分数保存至例如先不限于Redis集群中。
本发明实施例中,任务可以根据任务的数据量或者数据类型的不同区分为简单任务和复杂任务(例如包含数据量较大、或者数据分类较多的任务,使用一个执行机执行任务压力过大,容易效率低下甚至宕机),管理端可以根据复杂任务的具体情形配置相应的策略信息,然后将策略信息保存至数据库(例如但不限于前述存储任务配置信息的MySQL)中。
因此,本发明实施例中的自定义命令可以包括:若任务为简单任务,则管理端从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机,并根据所述性能分数最高的执行机生成的自定义命令;若任务为复杂任务,则管理端从数据库中获取所述复杂任务的策略信息,并根据所述策略信息从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机组,并根据所述策略信息和所述性能分数最高的执行机组的信息生成的自定义命令。
需要说明的是,策略信息和/或自定义命令是基于XML语言实现。因此,本发明实施例中解析所述自定义命令相应的可以是包括:利用plist包解析所述自定义命令。
此外,本发明实施例的分布式处理任务的方法还可以包括:所述管理端开启命令下发监控功能,用于按照预设监控周期监控所述执行机是否获取到所述自定义命令。
图4是根据本发明实施例的分布式处理任务的系统的主要部分的示意图。
如图4所示,本发明实施例的一种分布式处理任务的系统400主要包括如下部分:管理端401、ZooKeeper402、执行机403,其中:管理端401用于将任务配置信息保存至ZooKeeper402的配置服务持久化节点中,并从所述配置服务持久化节点中读取所述任务配置信息;根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper402的命令服务持久化节点中选择执行所述任务的执行机403,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机403,以使所述执行机403按照所述自定义命令执行所述任务;执行机403用于在ZooKeeper402的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;当管理端401将任务的自定义命令发送至所述命令服务持久化节点时,若所述执行机403通过所述临时子节点监听到所述命令服务持久化节点的数据变化,则根据所述数据变化获取自定义命令;以及解析所述自定义命令,执行相应的任务;ZooKeeper402用于通过配置服务持久化节点管理任务的配置信息,通过命令服务持久化节点统一管理执行机403。
图4介绍了本发明实施例的分布式处理任务的系统400的主要部分的示意图。图5是可用于实现本发明实施例的分布式处理任务的方法的总体系统的组成部分的示意图。与图4的主要组成部分大致相同,但是对各组成部分的具体功能进行了较详细的描述。
如图5所示,可用于实现本发明实施例的分布式处理任务的方法的总体系统的组成部分主要包括:Master集群,即管理端服务、ZooKeeper集群、MySQL集群、Redis集群以及Worker执行机集群。
其中,Master集群包含实现命令管理和配置管理的功能,ZooKeeper集群中包含“命令服务持久化节点”和“配置服务持久化节点”,是ZooKeeper上的节点信息,用于支持管理端Master集群完成功能的实现。
ZooKeeper集群中,“节点注册”是各执行机注册到zookeeper中。“watcher监控”具体指的是:管理端服务发送命令的动作,实际就是把命令数据发送到命令服务节点,而执行机监听了这个节点,当节点数据改变时能够及时发现,从而获取命令数据进行解析,执行相应的任务。“配置信息”是定时任务的配置信息,从管理端的配置文件中获取,保存在ZooKeeper中。主要目的是,由于管理端是一个集群,当任务配置信息发生变化时,管理端可以统一从ZooKeeper中拉取配置信息,达到统一管理的作用。
MySQL集群中的“节点”指的是执行机节点,每一个执行机应用理解为一个节点,就是执行机信息;“任务”指定时任务的详情信息;“命令”:是管理端根据策略消息和执行机节点信息生成执行命令信息。
图6是根据本发明实施例的分布式处理任务的方法的管理端的主要流程示意图;图7是根据本发明实施例的分布式处理任务的方法的执行机的主要流程的示意图。以下结合图5、图6、图7,对本发明实施例的分布式处理任务的方法和实现该方法的分布式处理任务的系统进行详细说明。
本发明实施例中,利用分布式处理任务的系统实现分布式处理任务的方法主要包括如下流程:
(1)启动管理端服务,在ZooKeeper集群上查找是否有配置服务的持久化节点,如果没有,则管理端在ZooKeeper上创建一个配置服务持久化节点,用于管理定时任务的配置信息。
(2)查找ZooKeeper上是否有命令服务持久化节点,如果没有,则在ZooKeeper上创建一个命令服务持久化节点,用于统一管理执行机,可通过命令服务持久化节点找到所有的执行机节点并对执行机进行监控。
(3)从管理端配置文件中读取任务配置信息,把涉及的任务详情存入数据库,例如可以但不限于MySQL中,并把任务配置信息保存在配置服务持久化节点上,其中,任务配置信息可以但不限于包括如下信息:任务名称、任务执行周期、具体执行任务的方法、任务创建人、任务修改时间等。
(4)开启命令下发监控任务(例如可以但不限于设置为每3分钟执行一次,超时时间3分钟,当然,此处的时间可根据实际需求动态配置)。
(5)依次启动执行机服务,判断ZooKeeper上是否存在命令服务持久化节点,若不存在则停止启动并且同时可以发出告警通知(例如可以但不限于以邮件、UMP、短信等形式)。若存在命令节点,则在ZooKeeper的命令服务持久化节点下创建临时子节点,并且执行机监听ZooKeeper的命令服务持久化节点。此处是借助Zookeeper的watcher机制,管理端服务发送自定义命令的动作,实际就是把自定义命令数据发送到命令服务持久化节点,而执行机监听了这个命令服务持久化节点,当节点中有数据改变时能够及时发现,从而可以方便的获取自定义命令数据并进行解析,以执行相应的任务。此处,设置的子节点为临时子节点是基于如下考虑:每一个执行机都对应一个临时子节点。当执行机宕机后,ZooKeeper和执行机之间连接就会断掉,临时子节点就会消失,这样就能清楚地发现具体是哪一个执行机出问题了,从而进行相应的故障转移。
(6)执行机按照预设间隔周期(例如可以但不限于是每隔15秒,此时间可动态配置)获取当前服务器CPU、内存,计算出服务器性能分数(性能分数=100-CPU使用率*0.5-内存使用率*0.5),并把性能分数存入Redis集群。
(7)管理端定时执行简单任务,首先获取命令服务持久化节点下存活的执行机节点信息,根据执行机节点信息从Redis中取出性能分数最高的执行机,之后更新任务的执行机IP和状态至“开始”,接着根据执行机节点信息生成自定义命令,并下发该自定义命令给该执行机。
(8)若管理端下发命令失败或者执行机没有收到下发命令,管理端会通过命令超时监控任务进行判断,判断当前任务下发的自定义命令是否超时,超时则重新下发。
(9)执行机获取下发的自定义命令,同时判断当前任务状态是否是“开始”,如果不是则结束执行机当前流程,如果是则更新数据库中任务状态至“执行中”。之后解析自定义命令(例如可以是采用plist包解析),按照自定义命令的要求执行任务方法。执行成功则更新任务状态至“成功”,失败则更新任务状态至“失败”,并且失败时还可以同时发出告警通知(例如但不限于以邮件、UMP、短信等形式)。
(10)管理端定时执行复杂任务,首先从数据库(前述MySQL)中取出该任务的策略信息,之后获取命令服务持久化节点下存活的执行机节点信息,结合策略信息和执行机节点信息从Redis中取出性能分数最高的执行机组,接着更新任务的执行机IP和状态至“开始”(可能是多条数据),最后根据策略消息和执行机节点信息生成执行命令,下发任务执行机命令。
(11)若管理端下发命令失败或者执行机没有收到下发命令,管理端会通过命令超时监控任务进行监控,判断当前任务下发的命令是否超时,超时则重新下发命令。
(12)执行机获取下发的命令,同时判断当前任务状态是否是“开始”,如果不是则结束执行机当前流程,如果是则更新数据库中任务状态至“执行中”。之后解析命令(例如可以是采用plist包解析),获取自己需要执行的自定义命令的内容,按照自定义命令要求执行任务方法。执行成功则更新任务状态至“成功”,失败更新则任务状态至“失败”,并还可以同时发出告警通知(例如可以但不限于以邮件、UMP、短信等形式)。
从以上描述可以看出,因为采用在分布式集群环境下利用ZooKeeper进行配置信息管理和执行机节点的管理,并基于自定义命令进行任务的调度的技术手段,所以克服了不能对单个任务进行灵活、多样的执行的技术问题,进而达到对任务的多样化、合理的管理,提高服务器的利用效率的技术效果;通过在简单任务情况下,管理端主动选取最优的执行机进行任务执行,在复杂任务情况下,管理端可根据自定义策略向执行机下发命令,进行执行任务,从而可以根据实现对任务的灵活调度;通过将任务配置信息保存至数据库中,从而可以避免当ZooKeeper宕机的情况下,保证任务配置信息数据的安全性;通过执行机根据预设性能分析周期,计算其所在服务器的性能分数,从而可以有利于管理端在进行任务调度时,有针对的选择性能最高的执行机执行任务;通过基于XML语言实现自定义命令,从而可以实现在分布式环境中方便的实现数据通信,并且允许管理端自定义任务执行策略;通过管理端利用Quartz框架将所述自定义命令下发至执行机,从而既可以实现任务调度,又可以根据管理员自定义的命令进行任务中数据的横向或纵向的分区,实现根据自定义命令实现任务的执行;通过管理端开启命令下发监控功能,从而可以按照预设监控周期监控自定义命令是否下发成功。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:将任务配置信息保存至ZooKeeper的配置服务持久化节点中,管理端从所述配置服务持久化节点中读取所述任务配置信息;管理端根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务。
根据本发明实施例的技术方案,因为采用在分布式集群环境下利用ZooKeeper进行配置信息管理和执行机节点的管理,并基于自定义命令进行任务的调度的技术手段,所以克服了不能对单个任务进行灵活、多样的执行的技术问题,进而达到对任务的多样化、合理的管理,提高服务器的利用效率的技术效果;通过在简单任务情况下,管理端主动选取最优的执行机进行任务执行,在复杂任务情况下,管理端可根据自定义策略向执行机下发命令,进行执行任务,从而可以根据实现对任务的灵活调度;通过将任务配置信息保存至数据库中,从而可以避免当ZooKeeper宕机的情况下,保证任务配置信息数据的安全性;通过执行机根据预设性能分析周期,计算其所在服务器的性能分数,从而可以有利于管理端在进行任务调度时,有针对的选择性能最高的执行机执行任务;通过基于XML语言实现自定义命令,从而可以实现在分布式环境中方便的实现数据通信,并且允许管理端自定义任务执行策略;通过管理端利用Quartz框架将所述自定义命令下发至执行机,从而既可以实现任务调度,又可以根据管理员自定义的命令进行任务中数据的横向或纵向的分区,实现根据自定义命令实现任务的执行;通过管理端开启命令下发监控功能,从而可以按照预设监控周期监控自定义命令是否下发成功。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (17)
1.一种分布式处理任务的方法,其特征在于,包括:
将任务配置信息保存至ZooKeeper的配置服务持久化节点中,管理端从所述配置服务持久化节点中读取所述任务配置信息;
管理端根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;
通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述任务配置信息保存至数据库中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述执行机根据预设性能分析周期,计算其所在服务器的性能分数,并将所述性能分数保存至数据库中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述管理端根据任务配置信息,为复杂任务配置相应的策略信息,并将所述策略信息保存至数据库中;
根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令还包括:
若所述任务为简单任务,则从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机,并根据所述性能分数最高的执行机生成相应的自定义命令;
若所述任务为复杂任务,则获取所述复杂任务的策略信息,并根据所述策略信息从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机组,并根据所述策略信息和所述执行机组的信息生成自定义命令。
5.根据权利要求1或4所述的方法,其特征在于,所述策略信息和/或所述自定义命令基于XML语言实现。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述管理端利用Quartz框架将所述自定义命令下发至执行机,以实现任务调度。
7.根据权利要求1所述的方法,其特征在于,通过所述命令服务持久化节点将所述自定义命令下发至执行机包括:
执行机在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;
管理端将自定义命令发送至所述命令服务持久化节点,所述执行机利用所述临时子节点监听到所述命令服务持久化节点的数据变化,并根据所述数据变化获取自定义命令。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述管理端开启命令下发监控功能,用于按照预设监控周期监控自定义命令是否下发成功。
9.一种分布式处理任务的方法,其特征在于,包括:
执行机在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;
当管理端将任务的自定义命令发送至所述命令服务持久化节点时,若所述执行机通过所述临时子节点监听到所述命令服务持久化节点的数据变化,则根据所述数据变化获取自定义命令;
解析所述自定义命令,执行相应的任务。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述执行机根据预设性能分析周期,计算其所在服务器的性能分数,并将所述性能分数保存至数据库中。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:所述任务包括简单任务和复杂任务,所述管理端为复杂任务配置相应的策略信息,然后将所述策略信息保存至数据库中;
所述自定义命令是指:
若所述任务为简单任务,则管理端从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机,并根据所述性能分数最高的执行机生成的自定义命令;
若所述任务为复杂任务,则管理端从数据库中获取所述复杂任务的策略信息,并根据所述策略信息从ZooKeeper的命令服务持久化节点中选择性能分数最高的执行机组,并根据所述策略信息和所述性能分数最高的执行机组的信息生成的自定义命令。
12.根据权利要求9或11所述的方法,其特征在于,所述策略信息和/或所述自定义命令基于XML语言实现。
13.根据权利要求9所述的方法,其特征在于,解析所述自定义命令包括:利用plist包解析所述自定义命令。
14.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述管理端开启命令下发监控功能,用于按照预设监控周期监控所述执行机是否获取到所述自定义命令。
15.一种分布式处理任务的系统,其特征在于,包括:管理端、ZooKeeper、执行机,其中:
管理端用于将任务配置信息保存至ZooKeeper的配置服务持久化节点中,并从所述配置服务持久化节点中读取所述任务配置信息;根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务;
执行机用于在ZooKeeper的命令服务持久化节点下创建临时子节点,以监听所述命令服务持久化节点的数据变化;当管理端将任务的自定义命令发送至所述命令服务持久化节点时,若所述执行机通过所述临时子节点监听到所述命令服务持久化节点的数据变化,则根据所述数据变化获取自定义命令;以及解析所述自定义命令,执行相应的任务;
ZooKeeper用于通过配置服务持久化节点管理任务的配置信息,通过命令服务持久化节点统一管理执行机。
16.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-14中任一所述的方法。
17.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-14中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710362214.7A CN108932157B (zh) | 2017-05-22 | 2017-05-22 | 分布式处理任务的方法、系统、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710362214.7A CN108932157B (zh) | 2017-05-22 | 2017-05-22 | 分布式处理任务的方法、系统、电子设备和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108932157A true CN108932157A (zh) | 2018-12-04 |
CN108932157B CN108932157B (zh) | 2021-04-30 |
Family
ID=64450084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710362214.7A Active CN108932157B (zh) | 2017-05-22 | 2017-05-22 | 分布式处理任务的方法、系统、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108932157B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587258A (zh) * | 2018-12-14 | 2019-04-05 | 北京金山云网络技术有限公司 | 一种服务探活方法及装置 |
CN110321644A (zh) * | 2019-07-09 | 2019-10-11 | 中国科学院电子学研究所 | 一种面向卫星系统的分布式仿真系统及其仿真方法 |
CN112000271A (zh) * | 2020-08-13 | 2020-11-27 | 努比亚技术有限公司 | 一种触控信号识别控制方法、设备及计算机可读存储介质 |
CN112328388A (zh) * | 2020-09-17 | 2021-02-05 | 北京中数科技术有限公司 | 一种融合多线程及分布式技术的并行计算方法及系统 |
CN113010307A (zh) * | 2021-02-25 | 2021-06-22 | 成都库珀区块链科技有限公司 | 一种多链区块链浏览器系统及其使用方法 |
CN113823025A (zh) * | 2021-08-24 | 2021-12-21 | 广州市瑞立德信息系统有限公司 | 一种命令重试方法、系统、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1642105A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 一种在网络系统中实现任务管理的方法 |
CN101741885A (zh) * | 2008-11-19 | 2010-06-16 | 珠海市西山居软件有限公司 | 分布式系统及分布式系统处理任务流的方法 |
CN102932210A (zh) * | 2012-11-23 | 2013-02-13 | 北京搜狐新媒体信息技术有限公司 | 一种PaaS云平台的节点监控方法和系统 |
US20130117225A1 (en) * | 2011-11-03 | 2013-05-09 | Michael W. Dalton | Distributed storage medium management for heterogeneous storage media in high availability clusters |
CN103581225A (zh) * | 2012-07-25 | 2014-02-12 | 中国银联股份有限公司 | 分布式系统中的节点处理任务的方法 |
US20150172412A1 (en) * | 2012-07-06 | 2015-06-18 | Cornell University | Managing dependencies between operations in a distributed system |
CN104866378A (zh) * | 2015-05-29 | 2015-08-26 | 北京京东尚科信息技术有限公司 | 一种协调执行任务的系统及方法 |
CN105701099A (zh) * | 2014-11-25 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 用于在分布式环境中执行任务的方法、装置及系统 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
CN106445676A (zh) * | 2015-08-05 | 2017-02-22 | 杭州海康威视系统技术有限公司 | 一种分布式数据计算的任务分配方法和任务分配装置 |
CN106557363A (zh) * | 2016-12-05 | 2017-04-05 | 广发证券股份有限公司 | 一种大数据任务调度的系统以及方法 |
-
2017
- 2017-05-22 CN CN201710362214.7A patent/CN108932157B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1642105A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 一种在网络系统中实现任务管理的方法 |
CN101741885A (zh) * | 2008-11-19 | 2010-06-16 | 珠海市西山居软件有限公司 | 分布式系统及分布式系统处理任务流的方法 |
US20130117225A1 (en) * | 2011-11-03 | 2013-05-09 | Michael W. Dalton | Distributed storage medium management for heterogeneous storage media in high availability clusters |
US20150172412A1 (en) * | 2012-07-06 | 2015-06-18 | Cornell University | Managing dependencies between operations in a distributed system |
CN103581225A (zh) * | 2012-07-25 | 2014-02-12 | 中国银联股份有限公司 | 分布式系统中的节点处理任务的方法 |
CN102932210A (zh) * | 2012-11-23 | 2013-02-13 | 北京搜狐新媒体信息技术有限公司 | 一种PaaS云平台的节点监控方法和系统 |
CN105701099A (zh) * | 2014-11-25 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 用于在分布式环境中执行任务的方法、装置及系统 |
CN104866378A (zh) * | 2015-05-29 | 2015-08-26 | 北京京东尚科信息技术有限公司 | 一种协调执行任务的系统及方法 |
CN106445676A (zh) * | 2015-08-05 | 2017-02-22 | 杭州海康威视系统技术有限公司 | 一种分布式数据计算的任务分配方法和任务分配装置 |
CN106293971A (zh) * | 2016-08-15 | 2017-01-04 | 张家林 | 一种分布式任务调度的方法和装置 |
CN106557363A (zh) * | 2016-12-05 | 2017-04-05 | 广发证券股份有限公司 | 一种大数据任务调度的系统以及方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587258A (zh) * | 2018-12-14 | 2019-04-05 | 北京金山云网络技术有限公司 | 一种服务探活方法及装置 |
CN110321644A (zh) * | 2019-07-09 | 2019-10-11 | 中国科学院电子学研究所 | 一种面向卫星系统的分布式仿真系统及其仿真方法 |
CN110321644B (zh) * | 2019-07-09 | 2021-03-26 | 中国科学院电子学研究所 | 一种面向卫星系统的分布式仿真系统及其仿真方法 |
CN112000271A (zh) * | 2020-08-13 | 2020-11-27 | 努比亚技术有限公司 | 一种触控信号识别控制方法、设备及计算机可读存储介质 |
CN112328388A (zh) * | 2020-09-17 | 2021-02-05 | 北京中数科技术有限公司 | 一种融合多线程及分布式技术的并行计算方法及系统 |
CN113010307A (zh) * | 2021-02-25 | 2021-06-22 | 成都库珀区块链科技有限公司 | 一种多链区块链浏览器系统及其使用方法 |
CN113010307B (zh) * | 2021-02-25 | 2024-04-05 | 库珀科技集团有限公司 | 一种多链区块链浏览器系统及其使用方法 |
CN113823025A (zh) * | 2021-08-24 | 2021-12-21 | 广州市瑞立德信息系统有限公司 | 一种命令重试方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108932157B (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108932157A (zh) | 分布式处理任务的方法、系统、电子设备和可读介质 | |
CN110310034A (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CN107590186B (zh) | 管理和执行数据处理策略的方法和策略引擎系统 | |
CN109542445A (zh) | 一种Android插件化开发的方法和装置 | |
CN107885590A (zh) | 用于智能设备的任务处理方法和装置 | |
CN110245011A (zh) | 一种任务调度方法和装置 | |
CN109905286A (zh) | 一种监控设备运行状态的方法和系统 | |
CN109995801A (zh) | 一种消息传输方法和装置 | |
CN108984549A (zh) | 一种基于动态配置数据库的分库分表数据抽取方法和装置 | |
CN109981719A (zh) | 信息处理方法及其系统、计算机系统和计算机可读介质 | |
CN110019339A (zh) | 一种数据查询方法和系统 | |
CN108681777A (zh) | 一种基于分布式系统的机器学习程序运行的方法和装置 | |
CN108874828A (zh) | 数据迁移的方法和装置 | |
CN110134427A (zh) | 一种生成代码文件的方法和装置 | |
CN109032796A (zh) | 一种数据处理方法和装置 | |
CN108984496A (zh) | 生成报表的方法和装置 | |
CN110019123A (zh) | 一种数据迁移方法和装置 | |
CN110019158A (zh) | 一种监控数据质量的方法和装置 | |
CN110083457A (zh) | 一种数据获取方法、装置以及数据分析方法、装置 | |
CN110515741A (zh) | 一种基于本地任务队列的降级处理方法和装置 | |
CN109814957A (zh) | 一种用于ios系统的标签添加方法和装置 | |
CN108984197A (zh) | 一种代码更新方法和装置 | |
CN109960212A (zh) | 任务发送方法和装置 | |
CN113220479B (zh) | 一种基于隔离网络的工作流调度方法、装置及电子设备 | |
CN113076186B (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 |