实时计算业务的实现方法和系统技术方案

技术编号:15391346 阅读:168 留言:0更新日期:2017-05-19 04:42
本发明专利技术提供了一种实时计算业务的实现方法,所述方法包括:调用Pig Latin脚本编译所得到的业务组件;将所述调用的业务组件提交至计算执行引擎;通过所述计算执行引擎运行所述业务组件,以通过所述业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果。此外,还提供了一种与该方法相匹配的实时计算业务的实现系统。上述实时计算业务的实现方法和系统能够在进行跨框架支持时有效节约时间成本,且降低开发成本。

Method and system for implementing real-time computing service

The present invention provides a method for implementing real-time computing services, the method includes: the business component called Pig Latin Script Compilation obtained; the business component will call submitted to the calculation of the execution engine; calculating the execution engine to run the business component through the operation of the business, through the implementation of the components real time computing business of the data stream to obtain real-time corresponding results. In addition, an implementation system of the real-time computing service matching the method is provided. The implementation method and system of the above real-time computing service can effectively save time and cost and reduce the development cost when the cross frame support is carried out.

【技术实现步骤摘要】
实时计算业务的实现方法和系统
本专利技术涉及计算机应用
,特别涉及一种实时计算业务的实现方法和系统。
技术介绍
随着互联网应用的发展,大数据场景越来越多,随之存在着各种实时计算业务,即通过对互联网中存在的数据流进行实时计算得到所需的实时计算结果。现有的实时计算业务的实现中,所有实际操作流程均建立在预置的一个丰富的模板库。该模板库是基于现有的特定流式计算框架的,对跨框架的支持非常薄弱,在实际业务运行期间如需要切换计算框架,即变换计算执行引擎,将需要对整个模板库进行重写,并对相应的模板配置页面进行重新编码,需要投入昂贵的成本,也会对实时计算业务的开发相应带来延期影响,并无法有效节约时间成本和降低开发成本。
技术实现思路
基于此,有必要提供一种实时计算业务的实现方法,该方法能够在进行跨框架支持时有效节约时间成本,且降低开发成本。此外,还有必要提供一种实时计算业务的实现系统,该系统能够在进行跨框架支持时有效节约时间成本,且降低开发成本。为解决上述技术问题,将采用如下技术方案:一种实时计算业务的实现方法,包括:调用PigLatin脚本编译所得到的业务组件;将所述调用的业务组件提交至计算执行引擎;通过所述计算执行引擎运行所述业务组件,以通过所述业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果。一种实时计算业务的实现系统,包括:组件调用模块,用于调用PigLatin脚本编译所得到的业务组件;提交模块,用于将所述调用的业务组件提交至计算执行引擎;计算执行引擎,用于运行所述业务组件,以通过所述业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果。由上述技术方案可知,为实现实时计算业务,将调用相应的业务组件,该业务组件是由PigLatin脚本编译所得到的,将调用的业务组件提交至计算执行引擎,以通过计算执行引擎运行业务组件,在业务组件的运行下对数据流执行实时计算业务,得到相应的实时计算结果,由于该业务组件是由PigLatin脚本编译所得到,其封装了与实时计算业务逻辑相关的操作,并且在编译之后依托Java的跨平台性可轻易适配不同的计算执行引擎,因此在进行跨框架支持时有效节约时间成本,且降低开发成本。附图说明图1是本专利技术实施例提供的一种集群设备的结构示意图;图2是一个实施例中实时计算业务的实现方法的流程图;图3是另一个实施例中实时计算业务的实现方法的流程图;图4是图3中编译PitLatin脚本得到实时计算业务所对应的业务组件的方法流程图;图5是图2中通过计算执行引擎运行业务组件,以通过业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果的方法流程图;图6是一个实施例中实时计算业务的实现系统的结构示意图;图7是另一个实施例中实时计算业务的实现系统的结构示意图;图8是图7中编译模块的结构示意图;图9是图6中计算执行引擎的结构示意图。具体实施方式体现本专利技术特征与优点的典型实施方式将在以下的说明中详细叙述。应理解的是本专利技术能够在不同的实施方式上具有各种的变化,其皆不脱离本专利技术的范围,且其中的说明及图示在本质上是当作说明之用,而非用以限制本专利技术。如前所述,集群设备中,根据各种实时计算业务逻辑对数据流执行实时计算业务。其中,为实现实时计算业务,现在大都是需要预先编写模板,由编写的模板组成模板库。在实际需要执行实时计算业务时,从模板库中选取相应模板,通过对模板属性的配置达到开发定制数据流的实时计算的目的。然而,该模板的编译主要是使用Java语言进行开发,因此,需要编写大量的Java代码,包括相当一部分与实时计算业务本身无关的代码,从而使得现有实时计算业务的实现难以实现跨框架支持,或者说,现有实时计算业务中跨框架支持的实现需要耗费高昂的时间成本和开发成本。对此,为便于实时计算业务的跨框架支持,以使实时计算业务可适用于各种计算执行引擎,特提出了一种实时计算业务的实现方法,该方法由计算机程序实现,与之相对应的,所构建的实时计算业务的实现系统则被存储于集群设备中,以在该集群设备中运行,进而对流入的数据流执行实时计算业务。图1是本专利技术实施例提供的一种集群设备的结构示意图。该集群设备100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)110(例如,一个或一个以上处理器)和存储器120,一个或一个以上存储应用程序131或数据133的存储介质130(例如一个或一个以上海量存储设备)。其中,存储器120和存储介质130可以是短暂存储或持久存储。存储在存储介质130的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器110可以设置为与存储介质130通信,在服务器100上执行存储介质130中的一系列指令操作。服务器100还可以包括一个或一个以上电源150,一个或一个以上有线或无线网络接口170,一个或一个以上输入输出接口180,和/或,一个或一个以上操作系统135,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。下述所示实施例中执行的步骤可以基于该图1所示的集群设备结构。如上面所详细描述的,适配本专利技术的集群设备100将执行实时计算业务的指定操作,即通过中央处理器110运行存储器120中的程序指令,以执行实时计算业务的指定操作,进而实现集群设备100中的实时计算业务。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本专利技术,因此,实现本专利技术并不限于任何特定硬件电路、软件以及两者的组合。在一个实施例中,具体的,该实时计算业务的实现方法如图2所示,包括:步骤210,调用PigLatin脚本编译所得到的业务组件。PigLatin脚本是基于脚本语言PigLatin编写得到的脚本,其与相应的实时计算业务逻辑相对应。也就是说,通过PigLatin脚本,将实时计算业务逻辑所对应的操作全部封装在该PigLatin脚本所编译得到的业务组件中,因此,对于任一实时计算业务的实现,开发者只需要关注于该实时计算业务所涉及的操作进行编码而得到PigLatin脚本即可,而不需要关注与实时计算业务本身无关的操作,进而极大的降低了开发成本,提高开发效率。步骤230,将调用的业务组件提交至计算执行引擎。计算执行引擎是基于一定的流式计算框架搭建的程序组件。其中,该流式计算框架可以是ApacheStorm实时计算框架、InfoSphereStream框架等。该计算执行引擎用于对实时计算业务实现中各种与实时计算业务逻辑无关的操作进行抽象、封装,进而达到屏蔽计算层面的细节的目的,这也就使得由PigLatin脚本编译的业务组件可不必关注于底层的操作,只需要实现实时计算业务本身的逻辑即可,二者相分离,将大为提高了鲁棒性。通过计算执行引擎的实现,使得由PigLatin脚本所编译的业务组件与计算框架本身无关,从而使得实时计算业务的实现可适用于任一计算框架,对于实时计算业务中跨框架的实现而言,不再需要耗费较高的时间成本和开发成本,提高了实时计算业务实现的通用性。步骤250,通过计算执行引擎运行业务组件,以通过业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果本文档来自技高网...
实时计算业务的实现方法和系统

【技术保护点】
一种实时计算业务的实现方法,其特征在于,包括:调用Pig Latin脚本编译所得到的业务组件;将所述调用的业务组件提交至计算执行引擎;通过所述计算执行引擎运行所述业务组件,以通过所述业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果。

【技术特征摘要】
1.一种实时计算业务的实现方法,其特征在于,包括:调用PigLatin脚本编译所得到的业务组件;将所述调用的业务组件提交至计算执行引擎;通过所述计算执行引擎运行所述业务组件,以通过所述业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果。2.根据权利要求1所述的方法,其特征在于,所述调用PigLatin脚本编译所得到的业务组件的步骤之前,所述方法还包括:获取与实时计算业务相符的PigLatin脚本;编译所述PigLatin脚本得到所述实时计算业务所对应的业务组件。3.根据权利要求2所述的方法,其特征在于,所述获取与实时计算业务相符的PigLatin脚本的步骤包括:将编辑器中的编辑内容导出,以得到按照实时计算业务逻辑编写的PigLatin脚本。4.根据权利要求2所述的方法,其特征在于,所述编译所述PigLatin脚本得到所述实时计算业务所对应的业务组件的步骤包括:解析所述获取的PigLatin脚本生成抽象语法树;转换所述抽象语法树为逻辑执行计划;将所述逻辑执行计划编译为所述实时计算业务所对应的业务组件。5.根据权利要求1所述的方法,其特征在于,所述通过所述计算执行引擎运行所述业务组件,以通过所述业务组件的运行对数据流执行实时计算业务,得到相应的实时计算结果的步骤包括:在所述计算执行引擎对所述业务组件进行划分,以将所述业务组件转化为业务拓扑任务;使所述数据流流入所述业务拓扑任务,调用所述业务拓扑任务中的子组件进行处理,并将处理结果发送至下一子组件,以通过各子组件执行实时计算业务逻辑;由结束...

【专利技术属性】
技术研发人员:曹坤李浬
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1