一种数据处理方法、装置及系统制造方法及图纸

技术编号:18350407 阅读:21 留言:0更新日期:2018-07-01 23:36
本发明专利技术提供了一种数据处理方法、装置及系统,其中,该方法包括:通过OTL模板库连接访问至少一个MySQL数据库,预先设置驱动参数,还包括:针对任意一个所述MySQL数据库中任意一条数据记录,均执行:根据所述驱动参数依次抽取当前数据记录的各个字段,生成消息;将所述消息发送给任意一个云消息服务平台CMSP。本发明专利技术提供的方案能够降低内存占用。

【技术实现步骤摘要】
一种数据处理方法、装置及系统
本专利技术涉及数据处理
,特别涉及一种数据处理方法、装置及系统。
技术介绍
现在科学技术日新月异,各类数据呈爆发式增长,我们已步入大数据时代。在大数据时代,各种结构化数据、非结构化数据的处理显得尤为重要。现有技术中,当抽取的数据量较大时,往往一次性将表中所有的记录都加载到内存中。该方法导致内存占用过大。
技术实现思路
本专利技术实施例提供了一种数据处理方法、装置及系统,能够降低内存占用。第一方面,本专利技术实施例提供了一种数据处理方法,通过OTL(Oracle,ODBCandDB2-CLITemplateLibrary,OTL模板库)连接访问至少一个MySQL数据库,预先设置驱动参数,还包括:针对任意一个所述MySQL数据库中任意一条数据记录,均执行:根据所述驱动参数依次抽取当前数据记录的各个字段,生成消息;将所述消息发送给任意一个CMSP(CloudMessageServicePlatform,云消息服务平台)。优选地,进一步包括:设置字符数组;所述根据所述驱动参数依次抽取当前数据记录的各个字段,生成消息,包括:根据所述驱动参数依次抽取当前数据记录的各个字段,并拷贝到所述字符数组中;根据拷贝到所述字符数组中的各个字段,生成消息。第二方面,本专利技术实施例提供了一种数据处理装置,通过OTL连接访问至少一个MySQL数据库,包括:设置单元,用于设置驱动参数;抽取单元,用于针对任意一个所述MySQL数据库中任意一条数据记录,均执行:根据所述设置单元设置的所述驱动参数依次抽取当前数据记录的各个字段,生成消息;发送单元,用于将所述抽取单元生成的所述消息发送给任意一个CMSP。优选地,所述设置单元,进一步用于设置字符数组;所述抽取单元,用于根据所述驱动参数依次抽取当前数据记录的各个字段,并拷贝到所述字符数组中;根据拷贝到所述字符数组中的各个字段,生成消息。第三方面,本专利技术实施例提供了一种数据处理系统,包括:上述任一实施例所述的数据处理装置、至少一个MySQL数据库和至少一个第一CMSP;每一个所述第一CMSP,用于接收所述数据处理装置发送的消息。优选地,进一步包括:至少一个组装装置和至少一个第二CMSP;任意一个所述组装装置,用于从目标第一CMSP中获取目标消息;将所述目标消息组装成JSON(JavaScriptObjectNotation,JavaScript对象标记语言)格式的数据;将所述JSON格式的数据发送给目标第二CMSP;任意一个所述第二CMSP,用于接收目标组装装置发送的所述JSON格式的数据。优选地,任意一个所述组装装置,进一步用于设置动态数组;任意一个所述组装装置,用于将所述目标消息拷贝到所述动态数组中;从所述动态数组中依次获取各个字段,生成当前记录;将所述当前记录组装成所述JSON格式的数据。第四方面,本专利技术实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一实施例所述的方法。第五方面,本专利技术实施例提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一实施例所述的方法。本专利技术实施例提供了一种数据处理方法、装置及系统,其中,该方法通过OTL模板库连接访问至少一个MySQL数据库,根据预先设置的驱动参数从MySQL数据库中抽取数据记录的各个字段,拼接成消息发送至CMSP。该方法通过设置的驱动参数控制抽取数据的大小,能够降低内存占用。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一个实施例提供的一种数据处理方法的流程图;图2是本专利技术一个实施例提供的一种数据处理装置的结构示意图;图3是本专利技术一个实施例提供的一种数据处理系统的结构示意图;图4是本专利技术另一个实施例提供的一种数据处理系统的结构示意图;图5是本专利技术另一个实施例提供的一种数据处理方法的流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术实施例提供了一种数据处理方法,通过OTL连接访问至少一个MySQL数据库,该方法可以包括以下步骤:步骤101:设置驱动参数;步骤102:针对任意一个MySQL数据库中任意一条数据记录,均执行:根据驱动参数依次抽取当前数据记录的各个字段,生成消息;步骤103:将消息发送给任意一个CMSP。该方法通过OTL模板库连接访问至少一个MySQL数据库,根据预先设置的驱动参数从MySQL数据库中抽取数据记录的各个字段,拼接成消息发送至CMSP。该方法通过设置的驱动参数控制抽取数据的大小,能够降低内存占用。基于OTL的MySQL数据抽取依据业务逻辑,大致分为底层驱动层、数据抽取层和数据转换层。底层驱动层通过OTL连接访问MySQL数据库。使用OTL连接数据库和其他使用ODBC(OpenDatabaseConnectivity,开放数据库连接)连接MySQL数据库基本是一致的,底层都是使用ODBC的接口。但是本专利技术中使用OTL连接MySQL和其他使用ODBC驱动连接又有所不同。当查询大数据量表时,直接使用ODBC驱动的应用程序往往都是一次性将表中所有的记录都加载到内存中,会耗尽系统的内存。本专利技术在使用OTL从MySQL中抽取大数据量表时,通过设置驱动参数option,可以有效避免这一问题。通过大量测试验证,当option设置为1048576时,MySQL服务器端是逐条推送记录到客户端的,从而避免占用内存过大的问题。在本专利技术的一个实施例中,为了方便数据记录的格式转换,该方法还包括:设置字符数组;根据驱动参数依次抽取当前数据记录的各个字段,生成消息,包括:根据驱动参数依次抽取当前数据记录的各个字段,并拷贝到字符数组中;根据拷贝到字符数组中的各个字段,生成消息。数据抽取层将从MySQL抽取的记录拼接成字符串,然后发送到CMSP上。为最大程度的提高整体性能,在数据抽取时,先预定义存放一条数据记录的字符数组,并将数组空间全部初始化为字符串结束符’\0’。依次取得一条记录的字段,并拷贝到字符数组中。当一条记录拷贝完毕时,将数组中的记录作为一条消息放到CMSP中。当一条记录处理完毕后,将指针重新指向字符数组的首地址,再次取记录字段值并拷贝到数组中,然后放到CMSP中。如此反复循环,直到将数据记录全部取完。数据转换层主要是JSON组装线程,根据消息的长度动态分配一字符数组,取topic中的一条消息,拷贝到动态数组中(使用内存拷贝)。使用指针指向动态数组起始地址,根据表中字段的个数组成for循环本文档来自技高网...
一种数据处理方法、装置及系统

【技术保护点】
1.一种数据处理方法,其特征在于,通过OTL模板库连接访问至少一个MySQL数据库,预先设置驱动参数,还包括:针对任意一个所述MySQL数据库中任意一条数据记录,均执行:根据所述驱动参数依次抽取当前数据记录的各个字段,生成消息;将所述消息发送给任意一个云消息服务平台CMSP。

【技术特征摘要】
1.一种数据处理方法,其特征在于,通过OTL模板库连接访问至少一个MySQL数据库,预先设置驱动参数,还包括:针对任意一个所述MySQL数据库中任意一条数据记录,均执行:根据所述驱动参数依次抽取当前数据记录的各个字段,生成消息;将所述消息发送给任意一个云消息服务平台CMSP。2.根据权利要求1所述的数据处理方法,其特征在于,进一步包括:设置字符数组;所述根据所述驱动参数依次抽取当前数据记录的各个字段,生成消息,包括:根据所述驱动参数依次抽取当前数据记录的各个字段,并拷贝到所述字符数组中;根据拷贝到所述字符数组中的各个字段,生成消息。3.一种数据处理装置,其特征在于,通过OTL模板库连接访问至少一个MySQL数据库,包括:设置单元,用于设置驱动参数;抽取单元,用于针对任意一个所述MySQL数据库中任意一条数据记录,均执行:根据所述设置单元设置的所述驱动参数依次抽取当前数据记录的各个字段,生成消息;发送单元,用于将所述抽取单元生成的所述消息发送给任意一个云消息服务平台CMSP。4.根据权利要求3所述的数据处理方法,其特征在于,所述设置单元,进一步用于设置字符数组;所述抽取单元,用于根据所述驱动参数依次抽取当前数据记录的各个字段,并拷贝到所述字符数组中;根据拷贝到所述字符数组中的各个字段,生成消息。5.一种数据处理系统,其特征在于...

【专利技术属性】
技术研发人员:李钦格李朝铭
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东,37

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

1