CN109710433B - 基于元数据驱动的数据处理方法、装置及系统 - Google Patents
基于元数据驱动的数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN109710433B CN109710433B CN201811644190.5A CN201811644190A CN109710433B CN 109710433 B CN109710433 B CN 109710433B CN 201811644190 A CN201811644190 A CN 201811644190A CN 109710433 B CN109710433 B CN 109710433B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- identification
- task
- running
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于元数据驱动的数据处理方法、装置及系统,其中方法应用于基于元数据驱动的数据处理系统中调用服务器,所述方法包括:从消息引擎的消息队列中提取任务消息;确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息。本申请中节点上的运行容器不再是固定不变的,而是可以依据存储任务消息所需的运行数据的节点,在该节点的运行容器或与该节点的附近节点的运行容器中来执行任务消息。本申请由于两个节点之间的距离减少,所以传输时间也会相对减少,因此可以提高FaaS装置的处理速度。
Description
技术领域
本申请涉及通信技术领域,尤其涉及基于元数据驱动的数据处理方法、装置及系统。
背景技术
FaaS装置(函数即服务,Function-as-a-Service,FaaS)包括多个节点,节点既可以作为计算节点又可以作为存储节点。FaaS装置的节点可以加载运行容器,以用于运行任务并获得结果。
但是,FaaS装置中节点的运行容器是固定的,运行容器中运行任务所需的运行数据通常位于其它节点,所以运行容器接收任务后,需要从其它节点调取任务所需的运行数据。
节点之间交互运行数据会浪费较多时间,所以导致FaaS装置的处理速度较慢。
发明内容
鉴于此,本申请提供基于元数据驱动的数据处理方法、装置及系统,可以提高FaaS装置的处理速度。
为了实现上述目的,本申请提供下述技术特征:
一种基于元数据驱动的数据处理方法,应用于基于元数据驱动的数据处理系统中调用服务器,所述方法包括:
从消息引擎的消息队列中提取任务消息;
确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;
在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息。
可选的,所述在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息,包括:
在确定存储所述运行数据标识集对应运行数据的一个节点标识情况下,判断该节点标识对应节点是否有足够资源运行所述任务消息;
若该节点标识对应节点有足够资源运行所述任务消息,则在该节点标识对应节点的运行容器中执行所述任务消息;
若该节点标识对应节点不具有足够资源运行所述任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述任务消息。
可选的,所述在与该节点标识对应节点的附近节点的运行容器中执行所述任务消息包括:
确定与该节点标识对应节点的最接近节点;
发送任务消息至所述最接近节点,由所述最接近节点从该节点标识对应节点中获取运行数据并于所述最接近节点的运行容器中执行所述任务消息;
接收所述最接近节点反馈的最终结果,并发送最终结果至持久化服务器。
可选的,所述在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息,包括:
在确定存储所述运行数据标识集对应运行数据的N个节点标识的情况下,划分所述运行数据标识集为N个节点标识一一对应的N个运行数据标识子集;
划分所述任务消息为与N个运行数据标识子集一一对应的N个子任务消息,获得N个节点标识一一对应的N个子任务消息;
对于一个节点标识对应的一个子任务消息而言:
判断该节点标识对应节点是否有足够资源运行所述子任务消息;
若该节点标识对应节点有足够资源运行所述子任务消息,则在该节点标识对应节点的运行容器中执行所述子任务消息;
若该节点标识对应节点不具有足够资源运行所述子任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述子任务消息;
汇集N个节点标识对应节点反馈的子任务消息对应的N个子结果;
分析并计算个N个子结果获得所述任务消息对应的最终结果,并发送最终结果至持久化服务器。
可选的,所述在与该节点标识对应节点的附近节点的运行容器中执行所述子任务消息包括:
确定与该节点标识对应节点的最接近节点;
发送子任务消息至所述最接近节点,由所述最接近节点从该节点标识对应节点中获取运行数据并于所述最接近节点的运行容器中执行所述任务消息。
可选的,所述任务消息包括任务类型;
在所述任务消息的任务类型为订阅类型的情况下,所述确定存储所述运行数据标识集对应运行数据的一个或多个节点标识包括:确定存储所述运行数据标识集对应运行数据的一个节点标识;
在所述任务消息的任务类型为业务服务函数类型的情况下,所述确定所述任务消息所需使用的运行数据对应的一个或多个节点标识包括:确定存储所述运行数据标识集对应运行数据的一个或多个节点标识。
可选的,在所述任务消息的任务类型为订阅类型的情况下,若出现异常中断,则保存中间结果至持久化服务器中,以供下次启动后从持久化服务器中获取中间结果以按照中间结果继续执行。
一种基于元数据驱动的数据处理方法,应用于基于元数据驱动的数据处理系统中节点,所述方法包括:
接收调用服务器发送的任务消息;其中,所述任务消息包括脚本标识、运行数据标识集和运行数据标识集所归属的节点标识;
判断节点是否包含运行所述运行数据标识集对应的运行数据;
若否则从所述节点标识对应的节点中获取与所述运行数据标识集对应的运行数据;
若是则判断节点是否包含与所述脚本标识对应的运行容器;
若是则于该运行容器中创建与任务消息对应的任务,以用于执行所述任务消息并获得结果;
若否则于该节点构建与脚本标识对应的运行容器,并于该运行容器中创建与任务消息对应的任务,以用于执行所述任务消息并获得结果。
一种基于元数据驱动的数据处理装置,应用于基于元数据驱动的数据处理系统中调用服务器,所述装置包括:
提取单元,用于从消息引擎的消息队列中提取任务消息;
确定单元,用于确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;
执行单元,用于在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息。
一种基于元数据驱动的数据处理系统,包括:
调用服务器;
与所述调用服务器相连的控制层服务器、元数据服务器和多个节点,控制层服务器和所述元数据服务器相连;
其中,所述控制层服务器,用于接收执行请求,对所述执行请求进行鉴权操作并在鉴权通过后转换所述执行请求为任务消息并存储所述执行请求至消息引擎的消息队列;
所述调用服务器,用于从消息引擎的消息队列中提取任务消息;确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息。
通过以上技术手段,可以实现以下有益效果:
本申请中节点上的运行容器不再是固定不变的,而是可以依据存储任务消息所需的运行数据的节点,在该节点的运行容器或与该节点的附近节点的运行容器中来执行任务消息。
由于运行容器于存储运行数据的节点上实现,此情况下可以直接避免节点之间的数据传输过程。
运行容器还可以在存储运行数据附近节点上实现,相对于原来毫无规律两个节点之间交互数据而言,本申请由于两个节点之间的距离减少,所以传输时间也会相对减少。
即,本申请通过改变运行容器的位置,来实现运行容器与运行数据的靠近,从而避免传输运行数据或者减少交互运行数据的时间,以此来提高FaaS装置的处理速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种基于元数据驱动的数据处理系统的结构示意图;
图2为本申请实施例公开的一种基于元数据驱动的数据处理方法的流程图;
图3为本申请实施例公开的又一种基于元数据驱动的数据处理方法的流程图;
图4为本申请实施例公开的一种基于元数据驱动的数据处理装置的结构示意图;
图5为本申请实施例公开的又一种基于元数据驱动的数据处理装置的结构示意图。
具体实施方式
本申请可以存储元数据之间的对应关系,从而基于元数据之间的对应关系,实现在运行数据所在节点或者最接近运行数据的节点上启动运行容器。
运行容器可以于存储运行数据的节点上实现,此情况下可以直接避免节点之间的数据传输过程,两个节点之间的交互时间减小至最小时间。
运行容器还可以于存储运行数据的附近节点上实现,相对于原来毫无规律两个节点之间交互数据而言,本申请由于两个节点之间的距离减少,所以传输时间也会相对减少。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,本申请提供了一种基于元数据驱动的数据处理系统,包括:
调用服务器11;
与所述调用服务器11相连的控制层服务器12;
与所述调用服务器11相连的元数据服务器13;且,控制层服务器12和所述元数据服务器13相连;
与所述调用服务器11相连的多个节点14;每个节点连接一个或多个工业设备,以用于获取并存储一个或多个工业设备的运行数据。
所述基于元数据驱动的数据处理系统还可以包括与调用服务器11相连的持久化服务器15,用于存储运行任务过程中的中间结果或运行任务结束后的最终结果。
本申请中在元数据服务器13存储元数据之间的对应关系,元数据之间的对应关系包括:节点标识与运行数据标识的对应关系,脚本文件和脚本文件标识,脚本文件标识与运行数据标识集的对应关系。
其中,对于每个节点而言,元数据服务器可以构建节点的节点标识与该节点所存储运行数据标识之间的对应关系,以便于元数据服务器得知各个节点所存储的运行数据。
元数据服务器还用于存储已经编写完毕的、用于运行某个任务的脚本文件。每个脚本文件均对应一个唯一的脚本标识。元数据服务器已存储的脚本文件并没有正式启动运行,后续需要运行脚本文件时再启动。
可以理解的是,在脚本文件确定后,脚本文件所需的运行数据也是确定的,所以元数据服务器还存储有与各个脚本文件对应的运行数据标识集。
本申请提供一种基于元数据驱动的数据处理方法,应用于上述图1所示的基于元数据驱动的数据处理系统。参见图2,基于元数据驱动的数据处理方法可以包括以下步骤:
步骤S201:控制层服务器接收执行请求。
控制层服务器可以提供用于界面,用户可以利用控制层服务器所提供的界面向控制层服务器发送一个启动脚本的执行请求。或者,其它设备可以直接调用控制层服务器的HTTP接口,向控制层服务器发送一个启动脚本的执行请求。当然,还可以采用其它方式来接收执行请求。
执行请求可以包括:用于表示脚本文件的脚本标识、脚本所使用语言类型(JS或Python等)和任务类型。
任务类型可以包括订阅类型或业务服务函数类型,在任务类型为订阅类型的情况下,不一定有返回结果给用户,但是通常会在内部结果输出到持久化服务器中。订阅函数类型通常仅采用一个节点运行数据来执行任务。
业务服务函数类型意味着,该任务类型会有一个返回结果,以告知用户该任务计算结果或者运行成功与否。因此业务服务函数类型的执行结果会被存储在持久化服务器中。业务服务函数类型通常采用一个或多个节点的运行数据来综合执行任务。
步骤S202:控制层服务器对所述执行请求进行鉴权操作。
为了用户是否有与执行请求对应的权限,可以对用户身份执行鉴权操作,在鉴权通过后则表示可以继续执行后续步骤,否则停止执行后续步骤并给出提示信息,以告知用户权限不足。
步骤S203:控制层服务器在确认所述执行请求鉴权通过后,转换所述执行请求为任务消息并存储所述执行请求至消息引擎的消息队列。
控制层服务器在确定鉴权通过后,可以转换执行请求为任务消息,以便于存储至任务消息至消息引擎的消息队列中,以供调用服务器来执行任务消息。
控制层服务器是一个无状态的服务,在实际部署中能够部署多个实例。这些实例彼此之间并不直接感知,可以对接收的执行请求实现负载均衡。在本实例中消息引擎可以使用Kafka或RocketMQ,消息队列为消息引擎中事先已经创建好的、用于存储任务消息的队列。
上述步骤S201~S203为控制层服务器周期性执行步骤,以持续向消息队列添加任务消息。
步骤S204:调用服务器监控所述消息队列。
步骤S205:调用服务器在所述消息队列非空的情况下,从所述消息队列中提取任务消息。任务消息包括脚本标识、脚本所使用语言类型(JS或Python等)和任务类型。
步骤S206:调用服务器确定所述任务消息所需使用的运行数据对应的一个或多个节点标识。
调用服务器从元数据服务器获取元数据之间的对应关系,即,从元数据服务器,脚本文件标识与运行数据标识集的对应关系,以及,节点标识与运行数据标识的对应关系。
调用服务器确定执行所述任务消息中脚本标识,并依据脚本文件标识与运行数据标识集的对应关系,确定所述任务消息中脚本标识对应的运行数据标识集,也即确定执行所述任务消息所需使用的运行数据标识集。
在所述任务消息的任务类型为订阅类型情况下,通常为从一个节点订阅数据,所以运行数据标识集对应的运行数据通常存储于一个节点中。
因此所述确定存储所述运行数据标识集对应运行数据的一个或多个节点标识包括:确定存储所述运行数据标识集对应运行数据的一个节点标识。
在所述任务消息的任务类型为业务服务函数类型的情况下,通常为从一个或多个节点获取运行数据,所以运行数据标识集对应的运行数据通常存储于一个或多个节点中。
因此,在所述任务消息的任务类型为业务服务函数类型的情况下,所述确定所述任务消息所需使用的运行数据对应的一个或多个节点标识包括:确定存储所述运行数据标识集对应运行数据的一个或多个节点标识。
调用服务器节点标识的数量执行下一步操作,在具有一个节点标识的情况下进入步骤S207;若具有N(N≥2且为自然数)个节点标识的情况下,进入步骤S211。
步骤S207:调用服务器在确定存储所述运行数据标识集对应运行数据的一个节点标识情况下,判断该节点标识对应节点是否有足够资源运行所述任务消息。若是则进入步骤S208,若否则进入步骤S209。
在任务类型为订阅类型,或,任务类型为业务服务函数类型且具有一个节点标识的情况下,说明执行任务消息的运行数据均存储于一个节点中。
由于节点可能运行一个或多个任务,会占用节点部分资源,所以调用服务器首先判断该节点标识对应节点是否有足够资源运行所述任务消息。
步骤S208:调用服务器发送任务消息至该节点标识对应节点,进入步骤S217。
若该节点标识对应节点有足够资源运行所述任务消息,则在该节点标识对应节点的运行容器中执行所述任务消息。
步骤S209:调用服务器确定与该节点标识对应节点的最接近节点。
若该节点标识对应节点不具有足够资源运行所述任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述任务消息。
步骤S210:调用服务器发送任务消息至最接近节点,进入步骤S217。
在步骤S208和步骤S210中,调用服务器与节点之间封装有应用程序接口,以转换不同脚本语言以为统一的脚本语言,以供节点中运行容器使用。
在接收步骤S217~步骤S222获得执行任务消息的最终结果后,可以发送最终结果至持久化服务器,以供持久化服务器存储最终结果。
在运行数据分布于两个及以上的节点的情况下,为了避免过多的节点交互,不再将任务消息于一个节点的一个运行容器中,而是划分任务消息为多个子任务消息,并于多个节点的多个运行容器中实现。下面详细介绍执行过程:
步骤S211:调用服务器划分所述运行数据标识集为N个节点标识一一对应的N个运行数据标识子集。
在任务类型为业务服务函数类型且具有两个及以上节点标识的情况下,说明执行任务消息所需的运行数据分布N个节点中。
调用服务器按节点标识来划分运行数据标识集获得N个运行数据标识子集,每个运行数据标识子集包括一个或多个运行数据标识,该运行数据标识属于均归属一个节点标识,也即运行数据标识对应的运行数据均存储于一个节点。
步骤S212:调用服务器划分所述任务消息为与N个运行数据标识子集一一对应的N个子任务消息,获得N个节点标识一一对应的N个子任务消息。
调用服务器依据N个运行数据标识子集划分任务消息获得N个子任务消息,其中,一个子任务信息执行时,仅需使用对应的一个运行数据标识子集即可。
步骤S213:调用服务器对于一个节点标识对应的一个子任务消息而言:判断该节点标识对应节点是否有足够资源运行所述子任务消息;若是,则进入步骤S214,若否则进入步骤S215。
步骤S214:调用服务器发送子任务信息至该节点标识对应节点。
若该节点标识对应节点有足够资源运行所述子任务消息,则在该节点标识对应节点的运行容器中执行所述子任务消息。
步骤S215:调用服务器确定与该节点标识对应节点的最接近节点。
步骤S216:调用服务器发送子任务消息至最接近节点,进入步骤S217。
若该节点标识对应节点不具有足够资源运行所述子任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述子任务消息;
在步骤S214和步骤S216中,调用服务器与节点之间封装有应用程序接口,以转换不同脚本语言以为统一的脚本语言,以供节点中运行容器使用。
在接收步骤S217~步骤S222获得执行子任务消息获得子结果后,可以继续对子结果进行汇集和分析处理操作,以获得最终结果,并发送最终结果至持久化服务器,以供持久化服务器存储最终结果。
步骤S223:汇集N个节点标识对应节点反馈的子任务消息对应的N个子结果;
步骤S224:分析并计算个N个子结果获得所述任务消息对应的最终结果。
在获得最终结果后可以发送最终结果至持久化服务器,以供持久化服务器存储最终结果。
由于图2篇幅有限,所以步骤S217~步骤S222请参见图3。
步骤S217:节点接收任务消息(/子任务消息),其中,所述任务消息包括脚本标识、运行数据标识集(/运行数据标识子集)和运行数据标识集(/运行数据标识子集)所归属的节点标识。
步骤S218:节点判断节点是否包含运行所述运行数据标识集(/运行数据标识子集)对应的运行数据。若否则进入步骤S219,若是则进入步骤S220。
步骤S219:若否则从所述节点标识对应的节点中获取与所述运行数据标识集对应的运行数据,进入步骤S220。
步骤S220:若是则判断节点是否包含与所述脚本标识对应的运行容器;若是则进入步骤S221,若否则进入步骤S222。
步骤S221:若是则于该运行容器中创建与任务消息对应的任务,并于执行所述任务消息并获得最终结果(子结果)。
在该节点包含该脚本标识对应的运行容器的情况下,则复用该运行容器,于该节点标识对应的节点中、该脚本标识对应的运行容器中执行所述任务消息;具体而言,可以在该运行容器创建与任务消息对应的一个计算任务,并运行采用该计算任务执行任务消息。
步骤S222:若否则于该节点构建与脚本标识对应的运行容器,并于该运行容器中创建与任务消息对应的任务,并于执行所述任务消息并获得结果。
若不存在则需要重新构建与该脚本标识对应的运行容器。在该节点不包含该脚本标识对应的运行容器的情况下,于该节点标识对应的节点中、新建该脚本标识对应的运行容器中执行所述任务消息。
在运行容器不存在运行容器的情况下,调用服务器于该节点中创建运行容器,并在新建容器中构建创建与任务消息对应的一个计算任务,并运行采用该计算任务执行任务消息。
通过以上技术手段,可以实现以下有益效果:
本申请中节点上的运行容器不再是固定不变的,而是可以依据存储任务消息所需的运行数据的节点,在该节点的运行容器或与该节点的附近节点的运行容器中来执行任务消息。
由于运行容器于存储运行数据的节点上实现,此情况下可以直接避免节点之间的数据传输过程。
运行容器还可以在存储运行数据附近节点上实现,相对于原来毫无规律两个节点之间交互数据而言,本申请由于两个节点之间的距离减少,所以传输时间也会相对减少。
即,本申请通过改变运行容器的位置,来实现运行容器与运行数据的靠近,从而避免传输运行数据或者减少交互运行数据的时间,以此来提高FaaS装置的处理速度。
参见图4,本申请提供了一种基于元数据驱动的数据处理装置,应用于基于元数据驱动的数据处理系统中调用服务器,所述装置包括:
提取单元41,用于从消息引擎的消息队列中提取任务消息;
确定单元42,用于确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;
执行单元43,用于在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息。
关于一种基于元数据驱动的数据处理装置的具体实现可以参见图2所示的实施例,在此不再赘述。
参见图5,本申请还提供了一种基于元数据驱动的数据处理装置,应用于基于元数据驱动的数据处理系统中节点,所述装置包括:
接收单元51,用于接收调用服务器发送的任务消息;其中,所述任务消息包括脚本标识、运行数据标识集和运行数据标识集所归属的节点标识;
第一判断单元52,用于判断节点是否包含运行所述运行数据标识集对应的运行数据;
获取单元53,用于若否则从所述节点标识对应的节点中获取与所述运行数据标识集对应的运行数据;
第二判断单元54,用于若是则判断节点是否包含与所述脚本标识对应的运行容器;
第一创建单元55,用于若是则于该运行容器中创建与任务消息对应的任务,以用于执行所述任务消息并获得结果;
第二创建单元56,用于若否则于该节点构建与脚本标识对应的运行容器,并于该运行容器中创建与任务消息对应的任务,以用于执行所述任务消息并获得结果。
参见图1,本申请还提供了一种基于元数据驱动的数据处理系统,包括:
调用服务器;
与所述调用服务器相连的控制层服务器、元数据服务器和多个节点,控制层服务器和所述元数据服务器相连;
其中,所述控制层服务器,用于接收执行请求,对所述执行请求进行鉴权操作并在鉴权通过后转换所述执行请求为任务消息并存储所述执行请求至消息引擎的消息队列;
所述调用服务器,用于从消息引擎的消息队列中提取任务消息;确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于元数据驱动的数据处理方法,其特征在于,应用于基于元数据驱动的数据处理系统中调用服务器,所述方法包括:
从消息引擎的消息队列中提取任务消息;
确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;
在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息;
其中,所述在与该节点标识对应节点的附近节点的运行容器中执行所述任务消息包括:
确定与该节点标识对应节点的最接近节点;
发送任务消息至所述最接近节点,由所述最接近节点从该节点标识对应节点中获取运行数据并于所述最接近节点的运行容器中执行所述任务消息;
接收所述最接近节点反馈的最终结果,并发送最终结果至持久化服务器;
其中所述在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息,包括:
在确定存储所述运行数据标识集对应运行数据的N个节点标识的情况下,划分所述运行数据标识集为N个节点标识一一对应的N个运行数据标识子集;
划分所述任务消息为与N个运行数据标识子集一一对应的N个子任务消息,获得N个节点标识一一对应的N个子任务消息;
对于一个节点标识对应的一个子任务消息而言:
判断该节点标识对应节点是否有足够资源运行所述子任务消息;
若该节点标识对应节点有足够资源运行所述子任务消息,则在该节点标识对应节点的运行容器中执行所述子任务消息;
若该节点标识对应节点不具有足够资源运行所述子任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述子任务消息;
汇集N个节点标识对应节点反馈的子任务消息对应的N个子结果;
分析并计算N个子结果获得所述任务消息对应的最终结果,并发送最终结果至持久化服务器。
2.如权利要求1所述的方法,其特征在于,所述在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息,包括:
在确定存储所述运行数据标识集对应运行数据的一个节点标识情况下,判断该节点标识对应节点是否有足够资源运行所述任务消息;
若该节点标识对应节点有足够资源运行所述任务消息,则在该节点标识对应节点的运行容器中执行所述任务消息;
若该节点标识对应节点不具有足够资源运行所述任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述任务消息。
3.如权利要求1所述的方法,其特征在于,所述在与该节点标识对应节点的附近节点的运行容器中执行所述子任务消息包括:
确定与该节点标识对应节点的最接近节点;
发送子任务消息至所述最接近节点,由所述最接近节点从该节点标识对应节点中获取运行数据并于所述最接近节点的运行容器中执行所述任务消息。
4.如权利要求1所述的方法,其特征在于,所述任务消息包括任务类型;
在所述任务消息的任务类型为订阅类型的情况下,所述确定存储所述运行数据标识集对应运行数据的一个或多个节点标识包括:确定存储所述运行数据标识集对应运行数据的一个节点标识;
在所述任务消息的任务类型为业务服务函数类型的情况下,所述确定所述任务消息所需使用的运行数据对应的一个或多个节点标识包括:确定存储所述运行数据标识集对应运行数据的一个或多个节点标识。
5.如权利要求4所述的方法,其特征在于,在所述任务消息的任务类型为订阅类型的情况下,若出现异常中断,则保存中间结果至持久化服务器中,以供下次启动后从持久化服务器中获取中间结果以按照中间结果继续执行。
6.一种基于元数据驱动的数据处理方法,其特征在于,应用于基于元数据驱动的数据处理系统中节点,所述方法包括:
接收调用服务器发送的任务消息;其中,所述任务消息包括脚本标识、运行数据标识集和运行数据标识集所归属的节点标识;
判断节点是否包含运行所述运行数据标识集对应的运行数据;
若否则从所述节点标识对应的节点中获取与所述运行数据标识集对应的运行数据;
若是则判断节点是否包含与所述脚本标识对应的运行容器;
若是则于该运行容器中创建与任务消息对应的任务,以用于执行所述任务消息并获得结果;
若否则于该节点构建与脚本标识对应的运行容器,并于该运行容器中创建与任务消息对应的任务,以用于执行所述任务消息并获得结果。
7.一种基于元数据驱动的数据处理装置,其特征在于,应用于基于元数据驱动的数据处理系统中调用服务器,所述装置包括:
提取单元,用于从消息引擎的消息队列中提取任务消息;
确定单元,用于确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;
执行单元,用于在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息;
其中,所述在与该节点标识对应节点的附近节点的运行容器中执行所述任务消息包括:
确定与该节点标识对应节点的最接近节点;
发送任务消息至所述最接近节点,由所述最接近节点从该节点标识对应节点中获取运行数据并于所述最接近节点的运行容器中执行所述任务消息;
接收所述最接近节点反馈的最终结果,并发送最终结果至持久化服务器;
其中所述在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息,包括:
在确定存储所述运行数据标识集对应运行数据的N个节点标识的情况下,划分所述运行数据标识集为N个节点标识一一对应的N个运行数据标识子集;
划分所述任务消息为与N个运行数据标识子集一一对应的N个子任务消息,获得N个节点标识一一对应的N个子任务消息;
对于一个节点标识对应的一个子任务消息而言:
判断该节点标识对应节点是否有足够资源运行所述子任务消息;
若该节点标识对应节点有足够资源运行所述子任务消息,则在该节点标识对应节点的运行容器中执行所述子任务消息;
若该节点标识对应节点不具有足够资源运行所述子任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述子任务消息;
汇集N个节点标识对应节点反馈的子任务消息对应的N个子结果;
分析并计算N个子结果获得所述任务消息对应的最终结果,并发送最终结果至持久化服务器。
8.一种基于元数据驱动的数据处理系统,其特征在于,包括:
调用服务器;
与所述调用服务器相连的控制层服务器、元数据服务器和多个节点,控制层服务器和所述元数据服务器相连;
其中,所述控制层服务器,用于接收执行请求,对所述执行请求进行鉴权操作并在鉴权通过后转换所述执行请求为任务消息并存储所述执行请求至消息引擎的消息队列;
所述调用服务器,用于从消息引擎的消息队列中提取任务消息;确定执行所述任务消息所需使用的运行数据标识集,并确定存储所述运行数据标识集对应运行数据的一个或多个节点标识;在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息;
其中,所述在与该节点标识对应节点的附近节点的运行容器中执行所述任务消息包括:
确定与该节点标识对应节点的最接近节点;
发送任务消息至所述最接近节点,由所述最接近节点从该节点标识对应节点中获取运行数据并于所述最接近节点的运行容器中执行所述任务消息;
接收所述最接近节点反馈的最终结果,并发送最终结果至持久化服务器;
其中所述在所述一个或多个节点标识对应的节点或附近节点的运行容器中执行任务消息,包括:
在确定存储所述运行数据标识集对应运行数据的N个节点标识的情况下,划分所述运行数据标识集为N个节点标识一一对应的N个运行数据标识子集;
划分所述任务消息为与N个运行数据标识子集一一对应的N个子任务消息,获得N个节点标识一一对应的N个子任务消息;
对于一个节点标识对应的一个子任务消息而言:
判断该节点标识对应节点是否有足够资源运行所述子任务消息;
若该节点标识对应节点有足够资源运行所述子任务消息,则在该节点标识对应节点的运行容器中执行所述子任务消息;
若该节点标识对应节点不具有足够资源运行所述子任务消息,则在与该节点标识对应节点的附近节点的运行容器中执行所述子任务消息;
汇集N个节点标识对应节点反馈的子任务消息对应的N个子结果;
分析并计算N个子结果获得所述任务消息对应的最终结果,并发送最终结果至持久化服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644190.5A CN109710433B (zh) | 2018-12-30 | 2018-12-30 | 基于元数据驱动的数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811644190.5A CN109710433B (zh) | 2018-12-30 | 2018-12-30 | 基于元数据驱动的数据处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710433A CN109710433A (zh) | 2019-05-03 |
CN109710433B true CN109710433B (zh) | 2021-04-27 |
Family
ID=66259713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811644190.5A Active CN109710433B (zh) | 2018-12-30 | 2018-12-30 | 基于元数据驱动的数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710433B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708375A (zh) * | 2019-09-30 | 2020-01-17 | 恩亿科(北京)数据科技有限公司 | 一种数据处理方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689891A (zh) * | 2017-09-01 | 2018-02-13 | 广西大学 | 大规模突访情境下容器云弹性供给时间点预测方法与系统 |
CN108132830A (zh) * | 2016-12-01 | 2018-06-08 | 北京金山云网络技术有限公司 | 一种任务调度方法、装置及系统 |
CN108363626A (zh) * | 2018-02-08 | 2018-08-03 | 广东小天才科技有限公司 | 一种智能终端中的传感器控制方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9094385B2 (en) * | 2011-08-05 | 2015-07-28 | Battelle Memorial Institute | Intelligent sensor and controller framework for the power grid |
CN103856534B (zh) * | 2012-12-05 | 2018-02-13 | 腾讯科技(深圳)有限公司 | 一种基于对等网络的日志搜集方法和系统 |
CN103530182A (zh) * | 2013-10-22 | 2014-01-22 | 海南大学 | 一种作业调度方法和装置 |
CN105245373B (zh) * | 2015-10-12 | 2017-08-04 | 天津市普迅电力信息技术有限公司 | 一种容器云平台系统的搭建及运行方法 |
US9811434B1 (en) * | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
CN105700943A (zh) * | 2015-12-31 | 2016-06-22 | 上海百事通信息技术股份有限公司 | 分布式任务调度方法及系统 |
CN106936926B (zh) * | 2017-04-18 | 2020-05-15 | 广州华多网络科技有限公司 | 访问数据节点的方法及系统 |
CN107291544B (zh) * | 2017-08-03 | 2020-07-28 | 浪潮云信息技术股份公司 | 任务调度的方法及装置、分布式任务执行系统 |
-
2018
- 2018-12-30 CN CN201811644190.5A patent/CN109710433B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132830A (zh) * | 2016-12-01 | 2018-06-08 | 北京金山云网络技术有限公司 | 一种任务调度方法、装置及系统 |
CN107689891A (zh) * | 2017-09-01 | 2018-02-13 | 广西大学 | 大规模突访情境下容器云弹性供给时间点预测方法与系统 |
CN108363626A (zh) * | 2018-02-08 | 2018-08-03 | 广东小天才科技有限公司 | 一种智能终端中的传感器控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109710433A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120679B (zh) | 任务分配方法及装置 | |
EP2985730A1 (en) | Method and device for partially-upgrading | |
CN111711697A (zh) | 消息推送方法、装置、设备及存储介质 | |
CN110933136A (zh) | 一种服务节点选择方法、装置、设备及可读存储介质 | |
CN109710433B (zh) | 基于元数据驱动的数据处理方法、装置及系统 | |
CN112860450A (zh) | 一种请求处理方法及装置 | |
CN114615340A (zh) | 一种请求处理方法、装置、计算机设备和存储装置 | |
CN111626606A (zh) | 业务规则处理方法、装置、设备、系统及存储介质 | |
CN111679920A (zh) | 批量权益数据处理方法及装置 | |
CN116401034A (zh) | 任务执行方法、计算机设备及计算机存储介质 | |
CN114841267B (zh) | 实时预测方法、装置、电子设备及计算机程序产品 | |
CN112631577B (zh) | 一种模型的调度方法、模型调度器以及模型安全测试平台 | |
CN112416555B (zh) | 一种客户端重启方法及设备、装置、存储介质 | |
CN111092954B (zh) | 一种生成微服务的方法和装置及电子设备 | |
CN114741162A (zh) | 服务编排方法、装置、存储介质和设备 | |
CN114760260A (zh) | 消息推送系统及方法、存储介质及电子设备 | |
CN115914358A (zh) | 消息推送方法、装置、电子设备及计算机存储介质 | |
CN113923204A (zh) | 一种请求转发方法、装置、设备及可读存储介质 | |
CN115018509A (zh) | 一种对象的处理方法、装置、电子设备及存储介质 | |
CN113297358A (zh) | 数据处理方法、装置、服务器和计算机可读存储介质 | |
CN112968825B (zh) | 一种消息发送方法、装置、设备及存储介质 | |
CN110659139A (zh) | 一种远程过程调用方法、计算机设备和存储介质 | |
CN112463828B (zh) | 一种数据处理方法、装置、设备、系统及可读存储介质 | |
CN115269161B (zh) | 一种异常流程逆向回滚方法和系统 | |
CN113301136B (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 | ||
CP03 | Change of name, title or address |
Address after: Room 1-1-180, No. 150, Changpu Road, Jishigang Town, Haishu District, Ningbo, Zhejiang 315016 Patentee after: Lanzhuo Digital Technology Co.,Ltd. Address before: 315000 room 150 (1-1-180), Chang Po Road, Ji Shi Gang Town, Haishu District, Ningbo, Zhejiang. Patentee before: ZHEJIANG LANZHUO INDUSTRIAL INTERNET INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |