CN111078396B - 一种基于多任务实例的分布式数据接入方法和*** - Google Patents

一种基于多任务实例的分布式数据接入方法和*** Download PDF

Info

Publication number
CN111078396B
CN111078396B CN201911157640.2A CN201911157640A CN111078396B CN 111078396 B CN111078396 B CN 111078396B CN 201911157640 A CN201911157640 A CN 201911157640A CN 111078396 B CN111078396 B CN 111078396B
Authority
CN
China
Prior art keywords
data
task
access
instance
node
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
Application number
CN201911157640.2A
Other languages
English (en)
Other versions
CN111078396A (zh
Inventor
林广焕
陈贵民
许光锋
郑汉军
闫浩
王毅宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Anscen Network Technology Co ltd
Original Assignee
Xiamen Anscen Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Anscen Network Technology Co ltd filed Critical Xiamen Anscen Network Technology Co ltd
Priority to CN201911157640.2A priority Critical patent/CN111078396B/zh
Publication of CN111078396A publication Critical patent/CN111078396A/zh
Application granted granted Critical
Publication of CN111078396B publication Critical patent/CN111078396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明给出了一种基于多任务实例的分布式数据接入方法和***,包括基于待接入数据的内容或格式配置待接入数据的数据源、处理器和数据接入的目标位置,并将配置结果发送至主节点;响应于主节点接收到配置结果,主节点利用任务实例规则向执行节点发送执行数据接入的任务实例的命令;响应于接收到主节点发出的命令,执行节点启动任务实例,任务实例包括从数据源获取数据,经由处理器处理后存储至目标位置;主节点接收执行节点返回的任务实例的记录和状态信息,基于执行节点所在集群的负载情况,监控并分配集群中的执行节点的任务实例。利用该方法或***可根据数据的优先级、接入速率和服务器资源对接入进行动态调节,使整个集群的负载均衡。

Description

一种基于多任务实例的分布式数据接入方法和***
技术领域
本发明涉及计算机数据处理领域,尤其是一种基于多任务实例的分布式数据接入方法和***。
背景技术
目前,数据接入在业内常用的现有技术一般是一个单进程多线程的方式直接在单机上运行,尽管多线程能提升一定的并发度,但是依然局限于单机硬件资源的限制。一般都是要通过日志查看接入状态。
现有技术存在以下问题:不直观,学习和使用门槛较高,较难运行和维护;处理性能局限于受限于单机性能的限制,缺乏横向扩展能力和并发处理能力;可靠性和容错性较差,故障会暂停数据接入过程,需要人工干涉;无法做到根据数据优先级、接入速率、服务器资源限制等需求对接入进行动态调节。
发明内容
为了解决现有技术中数据接入中存在的各种问题,本发明提出了一种基于多任务实例的分布式数据接入方法和***,用以解决现有技术中数据接入过程中存在的可靠性和容错性差以及无法依据监控进行动态调节的问题。
在第一个方面,本发明提出了一种基于多任务实例的分布式数据接入方法,该方法包括以下步骤:
S1:基于待接入数据的内容或格式配置待接入数据的数据源、处理器和数据接入的目标位置,并将配置结果发送至主节点;
S2:响应于主节点接收到配置结果,主节点利用任务实例规则向执行节点发送执行数据接入的任务实例的命令,其中,任务实例规则是基于数据的接入速率、资源占用比例和固定实例数对数据接入任务的配置规则;
S3:响应于接收到主节点发出的命令,执行节点启动任务实例,任务实例包括从数据源获取数据,经由处理器处理后存储至目标位置;
S4:主节点接收执行节点返回的任务实例的记录和状态信息,基于执行节点所在集群的负载情况,主节点监控并分配集群中的执行节点的数据接入的任务实例。
优选的,主节点和执行节点采用Master-Slave的架构,主节点对应多个执行节点。利用Master-Slave架构可以在提高计算效率的同时实现了信息的隐藏。
优选的,步骤S1中数据源包括FTP服务器、关系型数据库、NoSQL数据库、本地文件、云存储***中的文件。多种数据源的可选择性保证数据接入的充分性,只要配置和驱动接口可以访问到对应的数据资源即可作为数据源接入。
优选的,步骤S1中的处理器包括文本文件处理器、图片处理器、音视频处理器、关系型数据库记录处理器。处理器的多样性可以确保接入的数据能够得到对应的配置处理。
优选的,步骤S1中的目标位置包括MySQL数据库、Hadoop分布式文件***、HBase原始库、Solr服务器、ElasticSearch索引库中的一个或多个。目标存储可选择一个或多个,可以同时实现搜索或溯源等多种数据支撑。
优选的,步骤S2中的任务实例规则包括:接入速率大于预设速率阈值,启动任务实例;资源占用大于资源阈值,减少任务实例,反之则增加任务实例。通过任务实例规则,可以根据***资源或接入速率配置合适的任务实例的数量,使得数据接入的过程更加合理。
优选的,任务实例的类型包括实时接入和离线接入。通过实时接入和离线接入可分别实现对不同类型的数据源的接入操作。
优选的,步骤S3还包括:任务实例根据待接入数据的优先级动态调整,即在服务器资源有限时,将服务器资源分配予优先级高的数据接入;服务器空闲时,将服务器资源分配予积压的低优先级的数据接入。根据优先级进行数据接入可以保证数据接入的合理高效,确保优先级高的数据的优先接入。
优选的,步骤S4具体包括:主节点监控到任务实例异常退出,将异常退出的任务实例分配至负载最低的执行节点中运行。通过主节点的调配可以使的负载更加均衡,防止出现热点。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时上述方法。
根据本发明的第三方面,提出了一种基于多任务实例的分布式数据接入***,该***包括:
主节点:配置用于接收基于待接入数据的内容或格式配置待接入数据的数据源、处理器和数据接入的目标位置;利用任务实例规则向执行节点发送执行数据接入的任务实例的命令,其中,任务实例规则是基于数据的接入速率、资源占用比例和固定实例数对数据接入任务的配置规则;接收执行节点返回的任务实例的记录和状态信息,基于执行节点所在集群的负载情况,主节点监控并分配集群中的执行节点的数据接入的任务实例;
执行节点:配置用于响应于接收到主节点发出的执行数据接入的任务实例的命令,执行节点启动任务实例,完成数据接入任务。
优选的,执行节点中具体包括数据源、处理器和存储目标。执行节点中的数据源、处理器和存储目标构成了一个完整数据接入任务。
本发明提出了一种基于多任务实例的分布式数据接入方法和***,在该方法中数据接入过程中以任务的形式进行配置,任务以实例的形式下发给执行节点执行,执行节点是分布在集群中的,下发实例会根据每个集群节点的负载情况,选择负载低的执行节点执行任务实例,最终达到整个集群的负载均衡,且主节点可以监控到当某个实例意外退出,并重新将缺失的实例下发到当前负载最低的执行节点中运行。该方法和***非常容易运行和维护,且不受限于单机性能的限制,具有横向扩展和并发处理能力,具有较强的可靠性和容错性,可以根据数据优先级、接入速率和服务器资源限制等需求对接入进行动态调节。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明的一个实施例的基于多任务实例的分布式数据接入方法的流程图;
图2是本发明的一个具体的实施例的基于多任务实例的分布式数据接入方法的流程图;
图3是本发明的一个实施例的基于多任务实例的分布式数据接入***的框架图;
图4是本发明的一个具体实施例的多任务实例的分布式数据接入***的框架图;
图5是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本发明的一个实施例的基于多任务实例的分布式数据接入方法,图1示出了根据本发明的实施例的基于多任务实例的分布式数据接入方法的流程图。如图1所示,该方法包括以下步骤:
S101:基于待接入数据的内容或格式配置待接入数据的数据源、处理器和数据接入的目标位置,并将配置结果发送至主节点。对数据源、处理器和目标位置的配置可以方便于主节点根据数据接入的不同情况分配执行节点进行数据接入的任务。
在具体的实施例中,数据接入的过程是以任务的形式描述,即任务是配置数据接入流程的基本单元,任务包括了输入数据源、处理器和输出目标的组合,其中,输入数据源表示接入数据的来源,比如有FTP服务器,MySQL、Oracle等关系型数据库,HBASE、MongoDB、Redis等为代表的NoSQL数据库,本地文件,云存储***上的文件等多种形式,输入源的存在形式可以是文件格式,也可以是数据库形式,文件的格式可以是普通文本文件,常见的Office格式,邮件文件等。每种输入源都有对应的配置,基于配置和驱动接口可以访问到对应的数据资源,如FTP有服务器、协议、用户名、密码、目录等配置。
在具体的实施例中,处理器描述对数据输入源的处理转换过程,将数据最终转换成包含字段信息的结构化数据,处理器包括文本文件处理器、Excel文件处理器、图片处理器、音视频处理器、关系型数据库记录处理器等。每种处理器都有对应的配置。例如文本文件处理器的配置有:编码,分隔符,开始行号,映射信息等配置。
在具体的实施例中,数据接入的目标位置表示数据最终接入的位置,包括MySQL数据库、Hadoop分布式文件***、HBase原始库、Solr服务器、ElasticSearch索引库等,可以指定多个目标位置,比如同时保存到HBASE原始库和ElasticSearch索引库,提供搜索和溯源的数据支撑。每种输出目标都应对应的配置,如MYSQL有:服务器,用户名,密码,数据库等配置信息。
S102:响应于主节点接收到配置结果,主节点利用任务实例规则向执行节点发送执行数据接入的任务实例的命令,其中,任务实例规则是基于数据的接入速率、资源占用比例和固定实例数对数据接入任务的配置规则。根据任务实例规则可以实现主节点的动态调配任务,使资源应用更加合理。
在优选的实施例中,主节点和执行节点采用Master-Slave的架构,一个主节点对应多个执行节点。利用Master-Slave架构可以在提高计算效率的同时实现了信息的隐藏。
在具体的实施例中,任务的属性包括有任务类型、任务实例、任务配置和任务状态,其中,任务类型包括实时接入和离线接入,实时接入是数据源为在线数据进行处理任务,持续运行直到人工停止任务;离线接入是对数据源是离线数据进行任务处理,处理完成后任务即退出。对于实时接入的任务类型,主节点将扫描数据源信息,将待处理的输入项发送到消息队列,该任务的多个实例共同组成该消息队列的消费组进行消费。
在具体的实施例中,数据接入任务包括多个实例,任务实例是执行实际接入工作的基本单元。***可以动态的调整任务的实例数,调节任务实例的资源占用,从而控制某个任务接入的占用集群的总资源和该任务接入的能力,与实际数据源数据流入速率进行匹配。不同类型的数据一般都拥有不同的优先级,在服务器资源有限的情况下,支持将更多的资源向优先级高的数据类型倾斜保证高优先级的数据的优先接入,而对优先级低的接入任务在服务器资源紧缺的情况下暂时分配较少的服务器资源,等服务器较为空闲的时候,再自动的倾斜资源给积压的低优先级的数据进行接入,以此来保证高优先级的数据的优先接入,低优先级的数据服务器资源较为空闲的时候错峰利用服务器资源。用户可以根据数据的优先级以及期望的接入速率进行配置调整,任务启动后,可以可视化看到该任务的一些性能指标,比如单位时间处理数据条数,单位时间处理的数据大小。
在具体的实施例中,任务实例的配置由任务实例规则组成,可以基于以下几个维度对规则进行配置:1.接入速率,2.***资源占用百分比,3.固定实例数。具体的,目标接入速率:可以配置单位时间接入速率的要求,如100000条/s或者1GB/s这样的规则,***会自动启动足够的实例数,保证接入性能的要求;***资源占用百分比:如3%,则将全部集群总体资源的3%的资源分配给该任务的所有实例,占用较低,则增加实例,占用较高,则减少实例;固定实例数:直接配置数字,***会按配置的数值启动相应的实例数。应当认识到,除了采用上述规则之外,还可以配置其他的自定义规则,可以自定义一些判断逻辑的代码进行自定义,同样能够实现本发明的技术效果。
S103:响应于接收到主节点发出的命令,执行节点启动任务实例,任务实例包括从数据源获取数据,经由处理器处理后存储至目标位置。响应于执行节点的启动命令,从数据源获取数据,交给处理器处理,处理器处理完成后,将结果存储到目标存储上,并且记录和汇报状态给主节点,就完成了一个数据项的数据接入过程,多个任务实例并发协同完成这样的过程,将数据源源不断的接入到目标存储中。
在具体的实施例中,执行节点服务器资源共同组成接入资源池,执行节点定期向主节点发送心跳汇报剩余的资源情况,可以通过部署执行节点横向扩展整个***的接入能力,执行节点负责接收主节点的启动停止任务实例的命令进行相应的操作。
在优选的实施例中,任务实例根据待接入数据的优先级动态调整,即在服务器资源有限时,将服务器资源分配予优先级高的数据接入;服务器空闲时,将服务器资源分配予积压的低优先级的数据接入。根据优先级进行数据接入可以保证数据接入的合理高效,确保优先级高的数据的优先接入。
S104:主节点接收执行节点返回的任务实例的记录和状态信息,基于执行节点所在集群的负载情况,主节点监控并分配集群中的执行节点的数据接入的任务实例。数据接入过程在可视化界面中以任务形式进行配置,任务以实例的形式下发给执行节点执行,执行节点是分布在集群中的,下发实例会根据每个集群节点的负载情况,选择负载低的执行节点执行任务实例,这样最终能达到整个集群的负载均衡。
在优选的实施例中,当某个实例意外退出的时候,主节点会监控发现异常,并且重新将缺失的实例下发到当前负载最低的执行节点中运行。通过主节点的调配可以使的负载更加均衡,有效地防止热点的出现。
在优选的实施例中,可单机部署也可以集群部署以提高主节点的可靠性与容错性。主节点对外是一个整体,主要负责接收用户的前端发送的配置和命令,发送给执行节点执行,监控任务的实例和执行节点的资源情况,进而动态调整任务的实例。
图2示出了本发明的一个具体的实施例的基于多任务实例的分布式数据接入方法的流程图,该方法具体包括:
S201:新建任务。输入任务的基本信息,其中基本信息具体包括任务名称、任务类型等;
S202:配置数据源。输入任务数据源的配置信息,输入源可以为FTP服务器,MySQL、Oracle等关系型数据库,HBASE、MongoDB、Redis等为代表的NoSQL数据库,本地文件,云存储***上的文件等多种形式,输入源的存在形式可以是文件格式,也可以是数据库形式,文件的格式可以是普通文本文件,常见的Office格式,邮件文件等。每种输入源都有对应的配置,基于配置和驱动接口可以访问到对应的数据资源,如FTP有服务器、协议、用户名、密码、目录等配置。
S203:配置解析器。配置处理器的相关参数,根据数据源和所要处理的数据配置处理器,具体可以为文本文件处理器、excel文件处理器、图片处理器、音视频处理器、关系型数据库记录处理器等。描述怎么处理数据源中的数据,转换为结构化数据。每种处理器都有对应的配置,如文本文件处理器的配置有:编码,分隔符,开始行号,映射信息等配置。
S204:配置目标存储。配置存储目标的相关参数,根据数据和数据所需接入的需求,配置目标存储的配置信息,不同输出目标都应对应的配置,如MYSQL有:服务器,用户名,密码,数据库等配置信息。
S205:配置实例规则。根据接入速率、***资源占用百分比、固定实例数或者自定义规则配置实例规则。
S206:启动任务。主节点根据任务实例规则的配置,通知执行节点启动任务实例。
在具体的实施例中,主节点还负责监控并向执行节点发送重启任务实例的命令,当某个实例意外退出的时候,主节点会监控发现异常,并且重新将缺失的实例下发到当前负载最低的执行节点中运行。
S207:执行节点启动任务执行实例。执行节点接收到主节点发送的执行命令,启动任务实例的执行。
S208:任务执行实例从数据源拉取数据处理后发送到目标存储。执行节点启动任务实力后,从数据源获取数据,交给处理器处理,处理器处理完成后,将结果存储到目标存储上,并且记录和汇报状态给主节点,至此完成了一个数据项的数据接入过程,多个任务实例并发协同完成上述过程,将数据源源不断地接入到目标存储中。
图3示出了发明的一个实施例的基于多任务实例的分布式数据接入***的框架图。该***包括相互连接的主节点301和执行节点302。主节点301和执行节点302采用Master-Slave的架构,一个主节点301对应多个执行节点302。
在具体的实施例中,主节点301:配置用于接收基于待接入数据的内容或格式配置待接入数据的数据源、处理器和数据接入的目标位置;利用任务实例规则向执行节点发送执行数据接入的任务实例的命令,其中,任务实例规则是基于数据的接入速率、资源占用比例和固定实例数对数据接入任务的配置规则;接收执行节点返回的任务实例的记录和状态信息,基于执行节点所在集群的负载情况,主节点监控并分配集群中的执行节点的数据接入的任务实例。
在具体点实施例中,执行节点302配置用于响应于接收到主节点发出的执行数据接入的任务实例的命令,执行节点启动任务实例,完成数据接入任务。其中执行节点302中具体包括数据源、处理器和存储目标。
继续参考图4,图4示出了本发明的一个具体实施例的多任务实例的分布式数据接入***的框架图。如图4所示,该***包括主节点401、执行节点402和任务实例403。主节点401和执行节点402采用Master-Slave的架构,一个主节点401对应多个执行节点402。主节点401分配多个执行节点402执行任务的命令,执行节点402接收到命令后启动任务实例403,其中任务实例403具体包括数据源4031、处理器4032和目标存储4033,数据源4031获取数据,交给处理器4032处理,处理器4032处理完成后,将结果存储到目标存储4033上,且过程中任务实例403将数据接入的记录和状态汇报回主节点401。多个任务实例403并发协同完成这样的过程,将数据源源不断的接入到目标存储4033中。在该***中,主节点401负责接收所有的配置,分配和监控任务实例403的执行,记录任务实例403运行的状态,多个执行节点402部署在多个服务器上,共同组成整个集群接入可以调度的资源池,接收主节点401的命令,启动任务实例403进行实际的数据入库的工作。
下面参考图5,其示出了适于用来实现本申请实施例的电子设备的计算机***500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机***500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有***500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括主节点和执行节点。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于待接入数据的内容或格式配置待接入数据的数据源、处理器和数据接入的目标位置,并将配置结果发送至主节点;响应于主节点接收到配置结果,主节点利用任务实例规则向执行节点发送执行数据接入的任务实例的命令,其中,任务实例规则是基于数据的接入速率、资源占用比例和固定实例数对数据接入任务的配置规则;响应于接收到主节点发出的命令,执行节点启动任务实例,任务实例包括从数据源获取数据,经由处理器处理后存储至目标位置;主节点接收执行节点返回的任务实例的记录和状态信息,基于执行节点所在集群的负载情况,主节点监控并分配集群中的执行节点的数据接入的任务实例。
本发明提出了一种基于多任务实例的分布式数据接入方法和***,该方法是基于任务的,一个任务代表了一个从数据源输入到处理再到输出的完整接入过程;它是分布式的,体现在任务是分布式的,一个任务可以包含多个任务实例,每个任务实例可以根据集群执行节点的状态,将任务实例分发给执行节点启动运行;它的动态性体现在任务的实例数可以根据要接入的数据的优先级进行动态调整,在服务器资源不足的情况下,可以针对优先级高的数据接入任务倾斜更多的服务器资源优先接入,而对优先级较低的数据,则先分配较少的资源进行接入,等服务器空闲的时候,再协调更多的资源进行错峰接入。它是负载均衡的,每次都会将新的任务实例分配给负载最低的节点进行启动,最终能达到整个集群的负载均衡,避免热点;它是容错的,当任务实例运行失败的时候,主节点可以监控到实例数异常,自动在负载较低的节点启动新的任务实例。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (9)

1.一种基于多任务实例的分布式数据接入方法,其特征在于,包括以下步骤:
S1:基于待接入数据的内容或格式配置所述待接入数据的数据源、处理器和数据接入的目标位置,并将配置结果发送至主节点;
S2:响应于所述主节点接收到所述配置结果,所述主节点利用任务实例规则向执行节点发送执行数据接入的任务实例的命令,其中,所述任务实例规则是基于数据的接入速率、资源占用比例和固定实例数对数据接入任务的配置规则;
S3:响应于接收到所述主节点发出的所述命令,所述执行节点启动任务实例,所述任务实例包括从所述数据源获取数据,经由所述处理器处理后存储至所述目标位置;
S4:所述主节点接收所述执行节点返回的所述任务实例的记录和状态信息,基于所述执行节点所在集群的负载情况,所述主节点监控并分配所述集群中的所述执行节点的数据接入的任务实例;
所述步骤S2中的任务实例规则包括:所述接入速率大于预设速率阈值,启动任务实例;所述资源占用大于资源阈值,减少任务实例,反之则增加任务实例;
所述任务实例的类型包括实时接入和离线接入,实时接入是数据源为在线数据进行处理任务,持续运行直到人工停止任务;离线接入是对数据源是离线数据进行任务处理,处理完成后任务即退出;对于实时接入的任务类型,所述主节点将扫描数据源信息,将待处理的输入项发送到消息队列,该任务的多个实例共同组成该消息队列的消费组进行消费;
所述任务实例根据所述待接入数据的优先级动态调整,即在服务器资源有限时,将所述服务器资源分配予优先级高的数据接入;所述服务器空闲时,将所述服务器资源分配予积压的低优先级的数据接入,从而控制某个任务接入的占用集群的总资源和该任务接入的能力,与实际数据源数据流入速率进行匹配,支持将更多的资源向优先级高的数据类型倾斜保证高优先级的数据的优先接入,而对优先级低的接入任务在服务器资源紧缺的情况下暂时分配较少的服务器资源,等服务器较为空闲的时候,再自动的倾斜资源给积压的低优先级的数据进行接入,以此来保证高优先级的数据的优先接入,低优先级的数据服务器资源较为空闲的时候错峰利用服务器资源,用户可以根据数据的优先级以及期望的接入速率进行配置调整,任务启动后,可以可视化看到该任务的一些性能指标,包括单位时间处理数据条数,单位时间处理的数据大小。
2.根据权利要求1所述的基于多任务实例的分布式数据接入方法,其特征在于,所述主节点和所述执行节点采用Master-Slave的架构,所述主节点对应多个所述执行节点。
3.根据权利要求1所述的基于多任务实例的分布式数据接入方法,其特征在于,所述步骤S1中数据源包括FTP服务器、关系型数据库、NoSQL数据库、本地文件、云存储***中的文件。
4.根据权利要求1所述的基于多任务实例的分布式数据接入方法,其特征在于,所述步骤S1中的处理器包括文本文件处理器、图片处理器、音视频处理器、关系型数据库记录处理器。
5.根据权利要求1所述的基于多任务实例的分布式数据接入方法,其特征在于,所述步骤S1中的目标位置包括MySQL数据库、Hadoop分布式文件***、HBase原始库、Solr服务器、ElasticSearch索引库中的一个或多个。
6.根据权利要求1所述的基于多任务实例的分布式数据接入方法,其特征在于,所述步骤S4具体包括:所述主节点监控到任务实例异常退出,将所述异常退出的任务实例分配至负载最低的执行节点中运行。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机处理器执行时实施权利要求1至6中任一项所述的方法。
8.一种基于多任务实例的分布式数据接入***,其特征在于,包括:
主节点:配置用于接收基于待接入数据的内容或格式配置所述待接入数据的数据源、处理器和数据接入的目标位置;利用任务实例规则向执行节点发送执行数据接入的任务实例的命令,其中,所述任务实例规则是基于数据的接入速率、资源占用比例和固定实例数对数据接入任务的配置规则;接收所述执行节点返回的所述任务实例的记录和状态信息,基于所述执行节点所在集群的负载情况,所述主节点监控并分配所述集群中的所述执行节点的数据接入的任务实例;
执行节点:配置用于响应于接收到所述主节点发出的执行数据接入的任务实例的命令,所述执行节点启动任务实例,完成数据接入任务;
任务实例规则包括:所述接入速率大于预设速率阈值,启动任务实例;所述资源占用大于资源阈值,减少任务实例,反之则增加任务实例;
所述任务实例的类型包括实时接入和离线接入,实时接入是数据源为在线数据进行处理任务,持续运行直到人工停止任务;离线接入是对数据源是离线数据进行任务处理,处理完成后任务即退出;对于实时接入的任务类型,所述主节点将扫描数据源信息,将待处理的输入项发送到消息队列,该任务的多个实例共同组成该消息队列的消费组进行消费;
所述任务实例根据所述待接入数据的优先级动态调整,即在服务器资源有限时,将所述服务器资源分配予优先级高的数据接入;所述服务器空闲时,将所述服务器资源分配予积压的低优先级的数据接入,从而控制某个任务接入的占用集群的总资源和该任务接入的能力,与实际数据源数据流入速率进行匹配,支持将更多的资源向优先级高的数据类型倾斜保证高优先级的数据的优先接入,而对优先级低的接入任务在服务器资源紧缺的情况下暂时分配较少的服务器资源,等服务器较为空闲的时候,再自动的倾斜资源给积压的低优先级的数据进行接入,以此来保证高优先级的数据的优先接入,低优先级的数据服务器资源较为空闲的时候错峰利用服务器资源,用户可以根据数据的优先级以及期望的接入速率进行配置调整,任务启动后,可以可视化看到该任务的一些性能指标,包括单位时间处理数据条数,单位时间处理的数据大小。
9.根据权利要求8所述的基于多任务实例的分布式数据接入***,其特征在于,所述执行节点中具体包括数据源、处理器和存储目标。
CN201911157640.2A 2019-11-22 2019-11-22 一种基于多任务实例的分布式数据接入方法和*** Active CN111078396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911157640.2A CN111078396B (zh) 2019-11-22 2019-11-22 一种基于多任务实例的分布式数据接入方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911157640.2A CN111078396B (zh) 2019-11-22 2019-11-22 一种基于多任务实例的分布式数据接入方法和***

Publications (2)

Publication Number Publication Date
CN111078396A CN111078396A (zh) 2020-04-28
CN111078396B true CN111078396B (zh) 2023-12-19

Family

ID=70311410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911157640.2A Active CN111078396B (zh) 2019-11-22 2019-11-22 一种基于多任务实例的分布式数据接入方法和***

Country Status (1)

Country Link
CN (1) CN111078396B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913791B (zh) * 2020-07-02 2023-10-13 北京和瑞精湛医学检验实验室有限公司 任务调度方法、装置、设备和计算机可读存储介质
CN111885158B (zh) * 2020-07-22 2023-05-02 曙光信息产业(北京)有限公司 一种集群任务处理方法、装置、电子设备及存储介质
CN112631805A (zh) * 2020-12-28 2021-04-09 深圳壹账通智能科技有限公司 数据处理方法、装置、终端设备及存储介质
CN113434278A (zh) * 2021-07-08 2021-09-24 上海浦东发展银行股份有限公司 数据聚合***、方法、电子设备及存储介质
CN116166722A (zh) * 2021-11-24 2023-05-26 中兴通讯股份有限公司 任务异步处理方法、装置、存储介质及电子装置
CN114282271A (zh) * 2021-12-22 2022-04-05 国汽大有时空科技(安庆)有限公司 基于gnss的数据实时处理方法、***及存储介质
CN114416325B (zh) * 2022-04-02 2022-08-26 深圳新闻网传媒股份有限公司 基于智能分析的批量任务计算***
CN117237004B (zh) * 2023-11-10 2024-03-05 深圳海辰储能科技有限公司 一种储能设备交易处理方法、装置和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182277A (zh) * 2013-05-21 2014-12-03 北大方正集团有限公司 基于多任务***的分布式***和方法
CN107066319A (zh) * 2017-01-17 2017-08-18 北京国电通网络技术有限公司 一种面向异构资源的多维调度***
CN107733986A (zh) * 2017-09-15 2018-02-23 中国南方电网有限责任公司 支持一体化部署及监控的保护运行大数据支撑平台
CN109582441A (zh) * 2018-11-30 2019-04-05 北京百度网讯科技有限公司 用于提供容器服务的***、方法和装置
CN109857558A (zh) * 2019-01-18 2019-06-07 苏宁易购集团股份有限公司 一种数据流处理方法及***
CN110069335A (zh) * 2019-05-07 2019-07-30 江苏满运软件科技有限公司 任务处理***、方法、计算机设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642800B2 (en) * 2013-10-25 2020-05-05 Vmware, Inc. Multi-tenant distributed computing and database

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182277A (zh) * 2013-05-21 2014-12-03 北大方正集团有限公司 基于多任务***的分布式***和方法
CN107066319A (zh) * 2017-01-17 2017-08-18 北京国电通网络技术有限公司 一种面向异构资源的多维调度***
CN107733986A (zh) * 2017-09-15 2018-02-23 中国南方电网有限责任公司 支持一体化部署及监控的保护运行大数据支撑平台
CN109582441A (zh) * 2018-11-30 2019-04-05 北京百度网讯科技有限公司 用于提供容器服务的***、方法和装置
CN109857558A (zh) * 2019-01-18 2019-06-07 苏宁易购集团股份有限公司 一种数据流处理方法及***
CN110069335A (zh) * 2019-05-07 2019-07-30 江苏满运软件科技有限公司 任务处理***、方法、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111078396A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111078396B (zh) 一种基于多任务实例的分布式数据接入方法和***
CN109408205B (zh) 基于hadoop集群的任务调度方法和装置
CN106657314B (zh) 跨数据中心数据同步***及方法
CN102541460B (zh) 一种多磁盘场景下的磁盘管理方法和设备
US9870269B1 (en) Job allocation in a clustered environment
CN102880503A (zh) 数据分析***及数据分析方法
CN105786603B (zh) 一种基于分布式的高并发业务处理***及方法
CN113342477B (zh) 一种容器组部署方法、装置、设备及存储介质
US9836516B2 (en) Parallel scanners for log based replication
CN109901918B (zh) 一种处理超时任务的方法和装置
CN111897633A (zh) 一种任务处理的方法和装置
CN113886089B (zh) 一种任务处理方法、装置、***、设备及介质
CN110782122B (zh) 数据处理方法、装置及电子设备
CN112579267A (zh) 一种去中心化大数据作业流调度方法及装置
CN114090580A (zh) 数据处理方法、装置、设备、存储介质及产品
CN112181942A (zh) 时序数据库***和数据处理方法及装置
CN104182295A (zh) 一种数据备份方法及装置
CN109213743B (zh) 一种数据查询方法和装置
US20200382463A1 (en) Priority topic messaging
CN111767126A (zh) 分布式批量处理的***和方法
CN113472638B (zh) 边缘网关控制方法及***、装置、电子设备、存储介质
CN117093335A (zh) 分布式存储***的任务调度方法及装置
CN114090201A (zh) 资源调度方法、装置、设备及存储介质
CN115129438A (zh) 任务分布式调度的方法和装置
CN111767113A (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