计算总线的计算方法和装置与流程

文档序号:11677297阅读:383来源:国知局
计算总线的计算方法和装置与流程

本发明涉及大数据计算技术领域,尤其是涉及计算总线的计算方法和装置。



背景技术:

目前的大数据计算框架可谓五花八门,包括hdfs(hadoopdistributedfilesystem,分布式文件系统)、hbase(hadoopdatabase,分布式数据库系统)、hive、spark、impala、storm、cassandra等等,而且大数据的应用往往混合了各种大数据计算框架,甚至要同传统的oracle、mysql等关系型数据库协同工作,对大数据开发人员要求极高,给大数据的实施和应用带来了极大挑战,如何能将各种计算框架的程序进行有效的集成和编排,并且屏蔽底层大数据计算框架的复杂性,成为实施大数据应用的关键问题。因此,现有的大数据计算框架开发难度大,又各自独立,难于集成在一起融合计算,使得大数据应用的开发比较困难。



技术实现要素:

有鉴于此,本发明的目的在于计算总线的计算方法和装置,可以调用各种大数据计算框架的计算组件来进行计算,并可以集成在一起进行融合计算,从而有利于大数据应用的开发。

第一方面,本发明实施例提供了计算总线的计算方法,所述方法包括:

接收计算请求方发送的计算请求信息;

对所述计算请求信息进行解析,得到计算流程;

根据所述计算流程查找对应的多个计算组件,并调用对应的多个所述计算组件;

将每个所述计算组件的参数分别进行解析,并将解析后的参数进行封装,得到多个计算指令;

执行多个所述计算指令,得到多个计算结果;

将多个所述计算结果进行融合计算,得到融合计算结果。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述计算请求信息包括协议包头和协议包体,所述对所述计算请求信息进行解析,得到计算流程包括:

对所述协议包头进行解析,得到所述计算请求方的身份信息,对所述身份信息进行身份认证;

根据所述身份信息获取所述计算请求方的权限信息,并对所述权限信息进行权限认证;

如果通过所述权限认证,则对所述协议包体进行解析,得到所述计算流程。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述根据所述计算流程查找对应的计算组件,并调用对应的所述计算组件包括:

判断对应的所述计算组件是否注册,如果已注册,则判断对应的所述计算组件的元数据信息是否正确;

如果正确,则从计算总线服务器集群中选择计算服务器,并将对应的所述计算组件的元数据信息发送给所述计算服务器;

根据所述元数据信息调用对应的所述计算组件。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述计算组件包括第一计算组件、第二计算组件和第三计算组件,所述第一计算组件和所述第二计算组件分别对应第一计算结果和第二计算结果,所述将多个所述计算结果进行融合计算,得到融合计算结果包括:

将所述第一计算结果发送给第二计算组件,以使所述第二计算组件得到所述第二计算结果,直至所有的所述计算组件计算完毕,得到所述融合计算结果;

或者,

将所述第一计算结果和所述第二计算结果合并得到第三计算结果,并将所述第三计算结果发送给所述第三计算组件,以使所述第三计算组件得到第四计算结果,直至所有的所述计算组件计算完毕,得到所述融合计算结果。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:

执行多个所述计算指令,得到多个计算日志;

保存所述计算日志。

第二方面,本发明实施例还提供计算总线的计算装置,所述装置包括:

计算总线接收模块,用于接收计算请求方发送的计算请求信息;

计算总线解析模块,用于对所述计算请求信息进行解析,得到计算流程;

计算总线调用模块,用于根据所述计算流程查找对应的多个计算组件,并调用对应的多个所述计算组件;

计算组件解析模块,用于将每个所述计算组件的参数进行解析,并将解析后的参数封装成计算指令,得到多个所述计算指令;

计算引擎执行模块,用于执行多个所述计算指令,得到多个计算结果;

计算总线融合计算模块,用于将多个所述计算结果进行融合计算,得到融合计算结果。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述计算请求信息包括协议包头和协议包体,所述计算总线解析模块包括:

身份认证模块,用于对所述协议包头进行解析,得到所述计算请求方的身份信息,对所述身份信息进行身份认证;

权限认证模块,用于根据所述身份信息获取所述计算请求方的权限信息,并对所述权限信息进行权限认证;

解析模块,用于在所述权限认证通过的情况下,则对所述协议包体进行解析,得到所述计算流程。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述计算总线调用模块包括:

判断模块,用于判断对应的所述计算组件是否注册,如果已注册,则判断对应的所述计算组件的元数据信息是否正确;

选择模块,用于在对应的所述计算组件的元数据信息正确的情况下,从计算总线服务器集群中选择计算服务器,并将对应的所述计算组件的元数据信息发送给所述计算服务器;

调用模块,用于根据所述元数据信息调用对应的所述计算组件。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述计算组件包括第一计算组件、第二计算组件和第三计算组件,所述第一计算组件和所述第二计算组件分别对应第一计算结果和第二计算结果,所述计算总线融合计算模块包括:

第一融合计算模块,用于将所述第一计算结果发送给第二计算组件,以使所述第二计算组件得到所述第二计算结果,直至所有的所述计算组件计算完毕,得到所述融合计算结果;

或者,

第二融合计算模块,用于将所述第一计算结果和所述第二计算结果合并得到第三计算结果,并将所述第三计算结果发送给所述第三计算组件,以使所述第三计算组件得到第四计算结果,直至所有的所述计算组件计算完毕,得到所述融合计算结果。

结合第二方面的第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述装置还包括:

计算引擎执行子模块,用于执行多个所述计算指令,得到多个计算日志;

计算总线保存模块,用于保存所述计算日志。

本发明实施例提供了计算总线的计算方法和装置,通过接收计算请求方发送的计算请求信息;对计算请求信息进行解析,得到计算流程;根据计算流程查找对应的多个计算组件,并调用对应的多个计算组件;将每个计算组件的参数分别进行解析,并将解析后的参数进行封装,得到多个计算指令;执行多个计算指令,得到多个计算结果;将多个计算结果进行融合计算,得到融合计算结果。从而可以调用各种大数据计算框架的计算组件来进行计算,并可以集成在一起进行融合计算,从而有利于大数据应用的开发。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的计算总线的计算方法流程图;

图2为本发明施例一提供的计算总线的计算方法的步骤s102的流程图;

图3为本发明施例一提供的计算总线的计算方法的的步骤s103的流程图;

图4为本发明实施例二提供的计算总线的技术架构图;

图5为本发明实施例二提供的计算总线的计算方法的信令图;

图6为本发明实施例二提供的计算总线的计算装置的结构示意图;

图7为本发明实施例二提供的计算总线解析模块的结构示意图;

图8为本发明实施例二提供的计算总线调用模块的结构示意图。

图标:

10-计算总线接收模块;20-计算总线解析模块;30-计算总线调用模块;40-计算组件解析模块;50-计算引擎执行模块;60-计算总线融合计算模块;21-身份认证模块;22-权限认证模块;23-解析模块;31-判断模块;32-选择模块;33-调用模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前的大数据计算框架可谓五花八门,包括hdfs、hbase、hive、spark、impala、storm、cassandra等等,而且大数据的应用往往混合了各种大数据计算框架,甚至要同传统的oracle、mysql等关系型数据库协同工作,对大数据开发人员要求极高,给大数据的实施和应用带来了极大挑战,如何能将各种计算框架的程序进行有效的集成和编排,并且屏蔽底层大数据计算框架的复杂性,成为实施大数据应用的关键问题。因此,现有的大数据计算框架开发难度大,又各自独立,难于集成在一起融合计算,使得大数据应用的开发比较困难。基于此,本发明实施例提供的计算总线的计算方法和装置,可以调用各种大数据计算框架的计算组件来进行计算,并可以集成在一起进行融合计算,从而有利于大数据应用的开发。

为便于对本实施例进行理解,首先对本发明实施例所公开的计算总线的计算方法进行详细介绍,

实施例一:

图1为本发明实施例一提供的计算总线的计算方法流程图。

参照图1,计算总线的计算方法包括:

步骤s101,接收计算请求方发送的计算请求信息;

这里,如图4所示,计算总线接收算请求方发送的计算请求,这里,计算总线采用master-slave的分布式集群计算框架,保障计算总线的可靠性和稳定性,提升计算总线的高并发处理能力。

计算请求方为需要使用计算服务的请求方,按照计算总线指定的计算协议发起计算请求信息给计算总线,计算请求信息包括数据挖掘计算、实时查询计算、统计分析计算、etl(extraction-transformation-loading,数据提取、转换和加载)计算等。

步骤s102,对计算请求信息进行解析,得到计算流程;

具体地,计算请求信息为根据计算总线指定的计算协议封装成的协议包,即根据计算总线的计算流程编排协议进行计算流程的编排,编排完成后形成协议包发送给计算总线,协议包包括包头和包体,包头是身份信息,包体是计算流程信息,通过解析协议包可以得到计算流程。

进一步地,如图2所示,步骤s102可采用以下步骤实现:

步骤s201,对协议包头进行解析,得到计算请求方的身份信息,对身份信息进行身份认证;

步骤s202,根据身份信息获取计算请求方的权限信息,并对权限信息进行权限认证;

步骤s203,如果通过权限认证,则对协议包体进行解析,得到计算流程。

步骤s103,根据计算流程查找对应的多个计算组件,并调用对应的多个计算组件;

具体地,计算组件是可复用的通用计算组件,如数据抽取组件、数据转换组件、数据加载数据、数据查询组件、统计分析组件、数据挖掘组件等,计算组件可以调用计算引擎来完成计算任务,在完成计算组件开发后,需要将计算组件注册到计算总线中,计算总线通过使用已注册的计算组件进行计算流程的编排,以完成大数据应用的计算逻辑开发。

进一步地,如图3所示,步骤s103可采用以下步骤实现:

步骤s301,判断对应的所述计算组件是否注册,如果已注册,则判断对应的所述计算组件的元数据信息是否正确;

步骤s302,如果正确,则从计算总线服务器集群中选择计算服务器,并将对应的所述计算组件的元数据信息发送给所述计算服务器;

步骤s303,根据所述元数据信息调用对应的所述计算组件。

步骤s104,将每个计算组件的参数分别进行解析,并将解析后的参数进行封装,得到多个计算指令;

步骤s105,执行多个计算指令,得到多个计算结果;

这里,计算组件可以根据计算需要调用计算引擎来运行具体的计算指令,并将计算结果反馈给计算组件,计算引擎具体包括hadoop、spark、impala、storm、rhadoop、消息队列、内存网格,以及关系型数据库oracle、mysql等计算引擎,具体可参照图4。

步骤s106,将多个计算结果进行融合计算,得到融合计算结果。

需要说明的是,计算总线接收计算请求后,对计算请求方的身份和权限进行安全认证,并对计算协议进行解析,得到计算流程,并查找计算流程对应的计算组件,从而按照计算流程顺序依次或者并行调用各个计算组件进行计算,并将最终融合计算的结果和计算日志返回给计算请求方。

进一步地,计算组件包括第一计算组件、第二算组件和第三计算组件,第一计算组件和第二计算组件分别对应第一计算结果和第二计算结果,步骤s106包括:

将第一计算结果发送给第二计算组件,以使第二计算组件得到第二计算结果,直至所有的计算组件计算完毕,得到融合计算结果;

或者,

将第一计算结果和所述第二计算结果合并得到第三计算结果,并将第三计算结果发送给第三计算组件,以使第三计算组件得到第四计算结果,直至所有的计算组件计算完毕,得到融合计算结果。

具体地,计算组件包括很多,各个计算组件的计算可能是串行也可能是并行的,如果是串行的,就将前一个计算组件的计算结果提交给下一个计算组件进行下一步计算,如果是并行的,就将并行计算组件的计算结果进行合并再提交到下一个计算组件进行下一步计算。

根据本发明的示例性实施例,所述方法还包括:

执行多个计算指令,得到多个计算日志;

保存计算日志。

这里,计算总线将计算得到的计算日志进行保存,当计算请求方请求查看计算日志时,才将计算日志发送给计算请求方。

如图5所示,计算总线的计算方法的具体流程的关键步骤如下:

(1)计算请求方根据计算总线指定的计算协议,封装成协议包发起计算请求;

(2)计算总线接收计算请求,对计算请求方的身份信息进行解析,解析后对其身份信息和权限信息进行安全认证,认证失败则返回失败信息给计算请求方,认证成功则进一步对请求的计算流程进行解析,解析成功后,根据计算流程的顺序,依次或者并行调用计算组件。

(3)计算总线在计算组件的调用过程中,需要进行组件的查找,查找组件是否注册,组件的元数据信息是否正确,组件查找成功后,查找计算总线服务器集群中资源最空闲的服务器,将计算组件的元数据发送到该服务器,以使该服务器调用该计算组件;

(4)计算组件接收到计算总线的调用指令后,进行组件环境的初始化,对组件的输入输出参数进行解析,解析完成后封装成计算引擎的计算指令,将计算指令发送给计算引擎执行;

(5)计算引擎执行计算指令,并将计算结果和计算日志返回给计算组件;

(6)计算组件接收计算引擎返回的计算结果和计算日志,并对计算结果进行封装,将封装的计算结果和日志返回给计算总线;

(7)计算总线根据计算流程的顺序,依次或者并行调用计算组件,直到流程执行结束。每个计算组件的调用过程同上面步骤的(3)-(6)。流程执行结束后,计算总线将流程融合计算的结果进行封装,并将封装的结果返回给计算请求方;

(8)计算请求方接收计算总线返回的最终计算结果,并对最终计算结果进行解析。

本发明实施例提供的计算总线的计算方法采用分布式计算框架,可将各种大数据计算框架的计算组件注册到计算总线,不需要考虑具体的底层计算框架,只需通过计算总线,使用各种计算组件进行计算流程的编排和调用,便可实现大数据应用的计算逻辑,有效的减轻了大数据应用开发的技术复杂度,并可充分利用各种计算框架的优势,使得各种计算框架的计算组件可以充分复用,也可以集成在一起进行融合计算,降低了大数据应用的开发难度。

本发明实施例提供了计算总线的计算方法,通过接收计算请求方发送的计算请求信息;对计算请求信息进行解析,得到计算流程;根据计算流程查找对应的多个计算组件,并调用对应的多个计算组件;将每个计算组件的参数分别进行解析,并将解析后的参数进行封装,得到多个计算指令;执行多个计算指令,得到多个计算结果;将多个计算结果进行融合计算,得到融合计算结果。从而可以调用各种大数据计算框架的计算组件来进行计算,并可以集成在一起进行融合计算,从而有利于大数据应用的开发。

实施例二:

图6为本发明实施例二提供的计算总线的计算装置的结构示意图。

参照图6,计算总线的计算装置包括:

计算总线接收模块10,用于接收计算请求方发送的计算请求信息;

计算总线解析模块20,用于对计算请求信息进行解析,得到计算流程;

计算总线调用模块30,用于根据计算流程查找对应的多个计算组件,并调用对应的多个计算组件;

计算组件解析模块40,用于将每个计算组件的参数进行解析,并将解析后的参数封装成计算指令,得到多个计算指令;

计算引擎执行模块50,用于执行多个计算指令,得到多个计算结果;

计算总线融合计算模块60,用于将多个计算结果进行融合计算,得到融合计算结果。

进一步地,计算请求信息包括协议包头和协议包体,如图7所示,计算总线解析模块20包括:

身份认证模块21,用于对协议包头进行解析,得到计算请求方的身份信息,对身份信息进行身份认证;

权限认证模块22,用于根据身份信息获取计算请求方的权限信息,并对权限信息进行权限认证;

解析模块23,用于在权限认证通过的情况下,则对协议包体进行解析,得到计算流程。

进一步地,如图8所示,计算总线调用模块30包括:

判断模块31,用于判断对应的计算组件是否注册,如果已注册,则判断对应的计算组件的元数据信息是否正确;

选择模块32,用于在对应的计算组件的元数据信息正确的情况下,从计算总线服务器集群中选择计算服务器,并将对应的计算组件的元数据信息发送给计算服务器;

调用模块33,用于根据元数据信息调用对应的计算组件。

进一步地,计算组件包括第一计算组件、第二计算组件和第三计算组件,第一计算组件和第二算组件分别对应第一计算结果和第二计算结果,计算总线融合计算模块包括:

第一融合计算模块(未示出),用于将第一计算结果发送给第二计算组件,以使第二计算组件得到第二计算结果,直至所有的计算组件计算完毕,得到融合计算结果;

或者,

第二融合计算模块(未示出),用于将第一计算结果和第二计算结果合并得到第三计算结果,并将第三计算结果发送给第三计算组件,以使第三计算组件得到第四计算结果,直至所有的计算组件计算完毕,得到融合计算结果。

进一步地,所述装置还包括:

计算引擎执行子模块(未示出),用于执行多个计算指令,得到多个计算日志;

计算总线保存模块(未示出),用于保存计算日志。

本发明实施例提供的计算总线的计算装置,与上述实施例提供的计算总线的计算方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本发明实施例提供的计算总线的计算装置包括:计算总线接收模块,用于接收计算请求方发送的计算请求信息;计算总线解析模块,用于对计算请求信息进行解析,得到计算流程;计算总线调用模块,用于根据计算流程查找对应的多个计算组件,并调用对应的多个计算组件;计算组件解析模块,用于将每个计算组件的参数进行解析,并将解析后的参数封装成计算指令,得到多个计算指令;计算引擎执行模块,用于执行多个计算指令,得到多个计算结果;计算总线融合计算模块,用于将多个计算结果进行融合计算,得到融合计算结果。通过调用各种大数据计算框架的计算组件来进行计算,并可以集成在一起进行融合计算,从而有利于大数据应用的开发。

本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1