基于大数据流式计算平台的数据处理方法、装置、存储介质及计算机设备与流程

文档序号:31708130发布日期:2022-10-01 12:54阅读:53来源:国知局
基于大数据流式计算平台的数据处理方法、装置、存储介质及计算机设备与流程

1.本技术涉及大数据处理领域,尤其涉及一种基于大数据流式计算平台的数据处理方法、装置、存储介质及计算机设备。


背景技术:

2.随着企业的发展,企业中沉淀有大量的业务数据,为了在业务数据中分析有价值的信息,越来越多的企业部署有大数据平台。在目前的大数据处理过程中,将业务数据一次性加载到内存中,加载完成后在根据规则信息对内存中的业务数据进行处理,然后在磁盘中保存处理后得到的规则执行数据。目前的数据处理方案存在以下问题:业务数据的数据量过大导致内存溢出,规则执行数据的数据量过大导致磁盘空间不足,从而增大处理器的处理开销,出现性能瓶颈,为了解决上述问题一般对服务器进行硬件扩容的方式进行升级改造,这样硬件成本较高。


技术实现要素:

3.本技术实施例提供了基于大数据流式计算平台的数据处理方法、装置、存储介质及计算机设备,可以解决现有技术中数据处理过程占用内存和磁盘空间较大的问题。所述技术方案如下:
4.第一方面,本技术实施例提供了一种基于大数据流式计算平台的数据处理方法,所述方法包括:
5.将数据源中取出的多条业务数据加载到内存中;
6.将所述多条业务数据打包为一个待执行数据包;
7.将所述待执行数据包存入大数据流式计算平台;
8.从所述大数据流式计算平台中获取所述待执行数据包,以及在规则中心获取所述待执行数据包关联的规则信息;
9.根据所述规则信息对所述待执行数据包进行处理得到规则执行数据;
10.将所述规则执行数据进行持久化处理后写入到外部的数据表中。
11.第二方面,本技术实施例提供了一种基于大数据流式计算平台的数据处理装置,所述装置包括:
12.加载单元,用于将数据源中取出的多条业务数据加载到内存中;
13.打包单元,用于将所述多条业务数据打包为一个待执行数据包;
14.存入单元,用于将所述待执行数据包存入大数据流式计算平台;
15.获取单元,用于从所述大数据流式计算平台中获取所述待执行数据包,以及在规则中心获取所述待执行数据包关联的规则信息;
16.执行单元,用于根据所述规则信息对所述待执行数据包进行处理得到规则执行数据;
17.写入单元,用于将所述规则执行数据进行持久化处理后写入到外部的数据表中。
18.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
19.第四方面,本技术实施例提供一种计算机设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
20.本技术一些实施例提供的技术方案带来的有益效果至少包括:
21.通过对数据源中业务数据分批读取,分批加载到内存,分批打包存入到大数据流式计算平台,以及利用大数据流式计算平台分批执行,将规则执行数据存储到外部的数据表中,实现了海量数据规则执行过程中,避免将数据源中的业务数据一次性加载到内存中造成内存资源不足,本技术分批将业务数据加载内存的利用率,利用大数据流式计算平台以流水线的方式处理业务数据,可以提高业务数据的执行效率,将执行后得到的规则实现数据存储到外部的数据表,减少磁盘的存储压力。综上本技术的业务数据的执行过程可以减少内存的占用和磁盘空间的占用。
附图说明
22.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
23.图1是本技术实施例提供的网络架构示意图;
24.图2是本技术实施例提供的基于大数据流式计算平台的数据处理方法的流程示意图;
25.图3是本技术实施例提供的用于设置规则信息的配置界面的示意图;
26.图4是本技术实施例提供的查询界面的示意图;
27.图5是本技术提供的一种基于大数据流式计算平台的数据处理装置的结构示意图;
28.图6是本技术提供的一种计算机设备的结构示意图。
具体实施方式
29.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
30.需要说明的是,本技术提供的基于大数据流式计算平台的数据处理方法一般由计算机设备执行,相应的,基于大数据流式计算平台的数据处理装置一般设置于计算机设备中。
31.图1示出了可以应用于本技术的基于大数据流式计算平台的数据处理方法或基于大数据流式计算平台的数据处理装置的示例性系统架构。
32.如图1所示,系统架构可以包括:计算机设备101和服务器102。计算机设备101和服务器102之间可以通过网络进行通信,网络用于上述各个单元之间提供通信链路的介质。网
络可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆等,无线通信链路包括蓝牙通信链路、无线保真(wireless-fidelity,wi-fi)通信链路或微波通信链路等。
33.其中,服务器102中部署有大数据流式计算平台,计算机设备101分批在数据源中取出多个业务数据进行打包得到待执行数据包,将待执行数据包存入到大数据流式计算平台进行执行。
34.需要说明的是,计算机设备101和服务器102可以是硬件,也可以是软件。当计算机设备101和服务器102为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当计算机设备101和服务器102为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
35.本技术的计算机设备上可以安装有各种通信客户端应用,例如:视频录制应用、视频播放应用、语音交互应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
36.计算机设备可以是硬件,也可以是软件。当计算机设备为硬件时,可以是具有显示屏的各种计算机设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等等。当计算机设备为软件时,可以是安装上述所列举的计算机设备中。其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
37.当计算机设备为硬件时,其上还可以安装有显示设备和摄像头,显示设备显示可以是各种能实现显示功能的设备,摄像头用于采集视频流;例如:显示设备可以是阴极射线管显示器(cathode ray tube display,简称cr)、发光二极管显示器(light-emitting diode display,简称led)、电子墨水屏、液晶显示屏(liquid crystal display,简称lcd)、等离子显示面板(plasma display panel,简称pdp)等。用户可以利用计算机设备上的显示设备,来查看显示的文字、图片、视频等信息。
38.应理解,图1中的计算机设备、网络和服务器的数目仅是示意性的。根据实现需要,可以是任意数量的计算机设备、网络和服务器。
39.下面将结合附图2,对本技术实施例提供的基于大数据流式计算平台的数据处理方法进行详细介绍。其中,本技术实施例中的基于大数据流式计算平台的数据处理装置可以是图1所示的计算机设备。
40.请参见图2,为本技术实施例提供了一种基于大数据流式计算平台的数据处理方法的流程示意图。如图2所示,本技术实施例的所述方法可以包括以下步骤:
41.s201、将数据源中取出的多条业务数据加载到内存中。
42.其中,数据源部署在硬盘等非易失性存储器上,例如:数据源为存储在硬盘中的数据源文件。计算机设备周期性地从数据源中取出多条业务数据,计算机设备取数的周期可根据实际需求而定,本技术不作限制,计算机设备将取出的多条业务数据加载到内存中,采用分批的方式将业务数据加载到内存中,避免内存溢出现象的发生。本技术的业务数据可以是财务相关的业务数据,例如:业务数据为报销数据,包括报销人、报销金额、发票类型等字段和字段值。
43.进一步的,数据源中的数据结构为一个队列,计算机设备采用先进先出的方式在数据源中写数和取数,即计算机设备在写数时,将业务数据写入到队列的队列尾,写入后队
列中业务数据的数量加1;在取数时,将队列的队列头的业务数据取出,取出后队列中业务数据的数量减1,通过队列的方式读写数据,可以提高数据处理效率。计算机设备在检测到数据源中业务数据的数量为0时,不再执行数据取出操作,通过显示单元显示表示执行完毕的通知消息。
44.进一步的,业务系统不定期的向计算机设备发送业务数据,计算机设备在数据获取阶段根据预设的数据模型采集来自业务系统的业务数据,数据获取阶段为一个周期性呈现的时间区间,计算机将数据获取阶段采集到的业务数据写入到磁盘的数据源中。
45.进一步的,本技术的业务数据由主表数据和至少一条子表数据组成,主表数据存放在主表中,子表数据存放在子表中,目标数据源为数据库,数据库中包括主表和关联的至少一个子表,计算机设备分批从主表中获取多条主表数据,对于每条主表数据,根据预设的关联关系分别在主表关联的至少一个子表中获取子表数据,将获取的主表数据和子表数据进行打包得到待执行数据包。
46.s202、将多个业务数据打包为一个待执行数据包。
47.其中,计算机设备提取多个业务数据打包成一个待执行数据包,待执行数据包为执行规则处理的最小数据单元,计算机设备根据多个业务数据包的字段和字段值生成包体,根据多个业务数据的数量和标识生成包体,将包体和包体进行组合得到执行数据包。
48.s203、将待执行数据包存入到大数据流式计算平台。
49.其中,大数据流式计算平台包括但不限于:spark streaming、flink和apache kafka,其中,spark streaming是spark核心api的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。flink是一个针对流数据和批数据的分布式处理引擎。apache kafka:由scala写成,目标是为处理实时数据提供一个统一、高通量、低等待的平台。计算机设备将生成的待执行数据写入到大数据流式计算平台。
50.s204、从大数据流式计算平台中获取待执行数据包,以及在规则中心获取待执行数据包关联的规则信息。
51.其中,计算机设备通过规则引擎周期性的从大数据流式计算平台中获取数据,在获取到s202中生成的待执行数据包时,将待执行数据包加载到内存中,在规则中心中获取待执行数据包关联的规则信息,规则信息表示数据的处理规则,可以是校验规则或稽核规则等。计算机设备预配置有数据类型和规则信息之间的映射关系,根据该映射关系确定待执行数据包的规则信息,将规则信息加载到内存中。
52.其中,计算机设备预配置有规则信息,用户可以通过计算机设备提供的配置界面灵活配置所需的规则信息,用户在配置完成规则信息后生成规则服务,后续通过服务调用的方式使用该规则信息。
53.例如:参见图3所示的配置界面,用户通过输入装置在配置界面执行配置的规则信息为:报销总额的取值大于0且报销总额的取值不为空。
54.进一步的,规则引擎采用分布式部署,多进程、多线程方式处理待执行处理包,可以提高数据处理效率。
55.s205、根据规则信息对待执行数据包进行处理得到规则执行数据。
56.其中,通过规则引擎根据规则信息将待执行数据包中各个业务数据进行处理得到规则执行数据。
57.s206、将规则执行数据进行持久化处理后写入到外部的数据表中。
58.其中,计算机上设备获取内存中的规则执行数据,将规则执行数据进行持久化处理,例如:将规则执行数据存储到磁盘中的数据表中,数据表为计算机设备以外的
59.进一步的,规则中心可提供接口,计算机设备通过该接口查询待执行数据包中各个业务数据的执行进度,以便用户及时掌握数据执行情况。具体为:计算机设备向规则中心发送查询请求,然后接收规则中心返回的查询响应,解析查询响应后在查询界面上显示规则执行数据。
60.例如:参见图4所示的查询界面,业务数据为报销数据,规则执行数据包括如下字段:序号、规则分类、服务编码、服务名称、版本号、执行日期、执行结果、组织名称、规则类型和执行详情,执行详情为一个交互控件,用户通过该交互控件查询执行详情的具体信息。
61.本技术通过对数据源中业务数据分批读取,分批加载到内存,分批打包存入到大数据流式计算平台,以及利用大数据流式计算平台分批执行,将规则执行数据存储到外部的数据表中,实现了海量数据规则执行过程中,避免将数据源中的业务数据一次性加载到内存中造成内存资源不足,本技术分批将业务数据加载内存的利用率,利用大数据流式计算平台以流水线的方式处理业务数据,可以提高业务数据的执行效率,将执行后得到的规则实现数据存储到外部的数据表,减少磁盘的存储压力。综上本技术的业务数据的执行过程可以减少内存的占用和磁盘空间的占用。
62.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
63.请参见图5,其示出了本技术一个示例性实施例提供的基于大数据流式计算平台的数据处理装置的结构示意图,以下简称装置5。该装置5可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分。装置5包括:加载单元501、打包单元502、存入单元503、获取单元504、执行单元505和写入单元506。
64.加载单元501,用于将数据源中取出的多条业务数据加载到内存中;
65.打包单元502,用于将所述多条业务数据打包为一个待执行数据包;
66.存入单元503,用于将所述待执行数据包存入大数据流式计算平台;
67.获取单元504,用于从所述大数据流式计算平台中获取所述待执行数据包,以及在规则中心获取所述待执行数据包关联的规则信息;
68.执行单元505,用于根据所述规则信息对所述待执行数据包进行处理得到规则执行数据;
69.写入单元506,用于将所述规则执行数据进行持久化处理后写入到外部的数据表中。
70.在一个或多个可能的实施例中,还包括:
71.采集单元,用于在规则数据获取阶段,根据预设的数据模型在业务系统中采集业务数据,将采集的业务数据写入数据源。
72.在一个或多个可能的实施例中,所述数据源包括主表和关联的子表,所述业务数据由主表数据和子表数据组成;
73.其中,所述将数据源中取出的多条业务数据加载到内存中,包括:
74.从主表中取出多个主表数据;
75.在关联的子表中取出各个主表数据关联的下级数据;
76.将主表数据和关联的子表数据组成业务数据。
77.在一个或多个可能的实施例中,所述将所述多条业务数据打包为一个待执行数据包包括:
78.根据所述多条业务数据的字段和字段值生成包体;
79.为所述包体添加包头生成待执行数据包;其中,所述包头包括业务数据的数量信息和标识信息。
80.在一个或多个可能的实施例中,还包括:
81.检测单元,用于在检测到所述数据源中业务数据的数量等于0时,通过显示单元推送表示执行完毕的通知消息。
82.在一个或多个可能的实施例中,通过规则引擎采用多进程和多线程的方式对待执行数据包进行处理,所述规则引擎以分布式进行部署。
83.在一个或多个可能的实施例中,还包括:
84.查询单元,用于向所述规则中心发送数据查询请求;
85.接收所述规则中心返回的数据查询响应;
86.解析所述查询响应后在查询界面上显示规则执行数据。
87.需要说明的是,上述实施例提供的装置5在执行基于大数据流式计算平台的数据处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的基于大数据流式计算平台的数据处理装置与基于大数据流式计算平台的数据处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
88.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
89.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
90.本技术还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的基于大数据流式计算平台的数据处理方法。
91.请参见图6,为本技术实施例提供了一种计算机设备的结构示意图。如图6所示,所述计算机设备600可以包括:至少一个处理器601,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602。
92.其中,通信总线602用于实现这些组件之间的连接通信。
93.其中,用户接口603可以包括显示屏(display)、摄像头(camera),可选用户接口603还可以包括标准的有线接口、无线接口。
94.其中,网络接口604可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
95.其中,处理器601可以包括一个或者多个处理核心。处理器601利用各种接口和线路连接整个计算机设备600内的各个部分,通过运行或执行存储在存储器605内的指令、程序、代码集或指令集,以及调用存储在存储器605内的数据,执行计算机设备600的各种功能
和处理数据。可选的,处理器601可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gatearray,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器601可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器601中,单独通过一块芯片进行实现。
96.其中,存储器605可以包括随机存储器(randomaccess memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器605包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器605可用于存储指令、程序、代码、代码集或指令集。存储器605可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。
97.在图6所示的计算机设备600中,用户接口603主要用于为用户提供输入的接口,获取用户输入的数据;而处理器601可以用于调用存储器605中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
98.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
99.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1