处理业务数据的方法和装置制造方法及图纸

技术编号:14415617 阅读:71 留言:0更新日期:2017-01-12 03:40
本发明专利技术公开了一种处理业务数据的方法和装置,属于计算机通信技术领域。所述方法包括:获取用户输入的预设结构化查询语言SQL语句;判断所述预设结构化查询语言SQL语句是自定义SQL语句还是标准SQL语句;如果所述预设结构化查询语言SQL语句是所述自定义SQL语句,则获取所述自定义SQL语句对应的数据源的可用的数据库连接;将所述自定义SQL语句转换为多个所述标准SQL语句;在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行多个所述标准SQL语句对应的业务数据操作。本发明专利技术通过自定义SQL语句可以实现在线分布式处理业务数据,减小了延时,且不需要在线写很多SQL语句,比较简单。

【技术实现步骤摘要】

本专利技术涉及计算机通信
,具体涉及一种处理业务数据的方法和装置
技术介绍
随着计算机通信技术的发展,可以通过计算机实现很多业务,在通过计算机实现业务时,业务对应的业务数据一般都会通过相应的数据库进行存储。而对于数据量比较大的业务,需要通过分库分表方式进行数据存储才能满足业务的存储需求。对于存在分库分表的数据库,如果业务数据是与路由相关的,则可以通过路由规则进行查询(即通过特定的分表字段处理业务数据),通过路由规则精准的定位到指定的表,查询到相应的业务数据,对业务数据进行订正、结构变更等处理;如果业务数据是与路由无关的,则需要通过离线分析查询,或者通过在线写很多SQL(StructuredQueryLanguage,结构化查询语言)语句来分析查询,对分析查询到的业务数据进行订正、结构变更等处理。而且,当前也会将业务数据存放在不同类型的数据库中,如将一些业务数据存放在MySQL数据库、一些业务数据存放在Oracle数据库、一些业务数据存放在SQLServer数据库等,对于业务数据存放在不同类型的数据库的情况,一般是将业务数据抽取到统一的管理系统中,然后进行离线分析查询。现有处理业务数据的方法,离线分析处理的方法可以用于处理与路由无关的业务数据和存放在不同类型的数据库的业务数据,然而离线分析处理的方法是一种离线的方式,会存在较大的延时;在线写很多SQL语句来分析处理的方法可以用于处理与路由无关的业务数据,然而需要通过很多SQL来分析处理,比较繁琐。
技术实现思路
为了解决现有技术的问题,本专利技术提供了一种处理业务数据的方法和装置,通过自定义SQL语句可以实现在线分布式处理业务数据,减小了延时,且不需要在线写很多SQL语句,比较简单。为了解决上述问题,本专利技术公开了一种处理业务数据的方法,所述方法包括:获取用户输入的预设结构化查询语言SQL语句;判断所述预设结构化查询语言SQL语句是自定义SQL语句还是标准SQL语句;如果所述预设结构化查询语言SQL语句是所述自定义SQL语句,则获取所述自定义SQL语句对应的数据源的可用的数据库连接;将所述自定义SQL语句转换为多个所述标准SQL语句;在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行多个所述标准SQL语句对应的业务数据操作。进一步地,获取所述自定义SQL语句对应的数据源的可用的数据库连接,包括:判断所述自定义SQL语句是否符合预设语法标准;如果所述自定义SQL语句符合所述预设语法标准,则将所述自定义SQL语句中的数据连接信息转换为对应的数据源;判断所述自定义SQL语句对应的数据源对应的全局数据源连接池中是否存在所述自定义SQL语句对应的数据源的数据库连接;如果所述自定义SQL语句对应的数据源对应的全局数据源连接池中存在所述数据库连接,则从所述自定义SQL语句对应的数据源对应的全局数据源连接池中取出所述数据库连接,对所述自定义SQL语句对应的数据源对应的全局数据源连接池中取出的所述数据库连接进行可用性检测,得到所述自定义SQL语句对应的数据源的可用的数据库连接。进一步地,判断所述自定义SQL语句对应的数据源对应的全局数据源连接池中是否存在所述自定义SQL语句对应的数据源的数据库连接之后,还包括:如果所述自定义SQL语句对应的数据源对应的全局数据源连接池中没有存在所述数据库连接,则根据所述自定义SQL语句对应的数据源进行汇总整理得到所述自定义SQL语句对应的数据源的可用的数据库连接,将汇总整理得到的所述自定义SQL语句对应的数据源的可用的数据库连接存储在所述自定义SQL语句对应的数据源对应的全局数据源连接池中。进一步地,将所述自定义SQL语句转换为多个标准SQL语句之后,还包括:对多个所述标准SQL语句进行合并优化;相应地,在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行多个所述标准SQL语句对应的业务数据操作,包括:在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行合并优化后的多个所述标准SQL语句对应的业务数据操作。进一步地,所述自定义SQL语句包括:无路由查询分表语句、无密码查询指定库语句、有密码查询语句和/或提示Hint支持语句。进一步地,判断所述预设结构化查询语言SQL语句是自定义SQL语句还是标准SQL语句之后,还包括:如果所述预设结构化查询语言SQL语句是所述标准SQL语句,则获取所述标准SQL语句对应的数据源的可用的数据库连接;在所述标准SQL语句对应的数据源的数据库连接对应的数据库中执行所述标准SQL语句对应的业务数据操作。进一步地,获取所述标准SQL语句对应的数据源的可用的数据库连接,包括:判断所述标准SQL语句是否符合预设语法标准;如果所述标准SQL语句符合预设语法标准,则将所述标准SQL语句中的数据连接信息转换为对应的数据源;判断所述标准SQL语句对应的数据源对应的全局数据源连接池中是否存在数据库连接;如果所述标准SQL语句对应的数据源对应的全局数据源连接池中存在数据库连接,则从所述标准SQL语句对应的数据源对应的全局数据源连接池中取出数据库连接,对从所述标准SQL语句对应的数据源对应的全局数据源连接池中取出的数据库连接进行可用性检测,得到所述标准SQL语句对应的数据源的可用的数据库连接。进一步地,判断所述标准SQL语句对应的数据源对应的全局数据源连接池中是否存在数据库连接之后,还包括:如果所述标准SQL语句对应的数据源对应的全局数据源连接池中没有存在数据库连接,则根据所述标准SQL语句对应的数据源进行汇总整理得到所述标准SQL语句对应的数据源的可用的数据库连接,将汇总整理得到的所述标准SQL语句对应的数据源的可用的数据库连接存储在所述标准SQL语句对应的数据源对应的全局数据源连接池中。进一步地,所述业务数据操作包括:对业务数据进行查询、订正和/或结构变更。为了解决上述问题,本专利技术还公开了一种处理业务数据的装置,所述装置包括:获取模块,用于获取用户输入的预设结构化查询语言SQL语句;判断模块,用于判断所述预设结构化查询语言SQL语句是自定义SQL语句还是标准SQL语句;自定义连接获取模块,用于如果所述预设结构化查询语言SQL语句是所述自定义SQL语句,则获取所述自定义SQL语句对应的数据源的可用的数据库连接;转换模块,用于将所述自定义SQL语句转换为多个所述标准SQL语句;第一执行模块,用于在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行多个所述标准SQL语句对应的业务数据操作。进一步地,所述自定义连接获取模块包括:第一判断单元,用于判断所述自定义SQL语句是否符合预设语法标准;第一转换单元,用于如果所述自定义SQL语句符合所述预设语法标准,则将所述自定义SQL语句中的数据连接信息转换为对应的数据源;第二判断单元,用于判断所述自定义SQL语句对应的数据源对应的全局数据源连接池中是否存在所述自定义SQL语句对应的数据源的数据库连接;第一自定义连接获取单元,用于如果所述自定义SQL语句对应的数据源对应的全局数据源连接池中存在所述数据库连接,则从所述自定义SQL语句对应的数据源对应的全局数据源连接池中取出所述数据库连接,对所述自本文档来自技高网...
处理业务数据的方法和装置

【技术保护点】
一种处理业务数据的方法,其特征在于,所述方法包括:获取用户输入的预设结构化查询语言SQL语句;判断所述预设结构化查询语言SQL语句是自定义SQL语句还是标准SQL语句;如果所述预设结构化查询语言SQL语句是所述自定义SQL语句,则获取所述自定义SQL语句对应的数据源的可用的数据库连接;将所述自定义SQL语句转换为多个所述标准SQL语句;在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行多个所述标准SQL语句对应的业务数据操作。

【技术特征摘要】
1.一种处理业务数据的方法,其特征在于,所述方法包括:获取用户输入的预设结构化查询语言SQL语句;判断所述预设结构化查询语言SQL语句是自定义SQL语句还是标准SQL语句;如果所述预设结构化查询语言SQL语句是所述自定义SQL语句,则获取所述自定义SQL语句对应的数据源的可用的数据库连接;将所述自定义SQL语句转换为多个所述标准SQL语句;在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行多个所述标准SQL语句对应的业务数据操作。2.如权利要求1所述的方法,其特征在于,获取所述自定义SQL语句对应的数据源的可用的数据库连接,包括:判断所述自定义SQL语句是否符合预设语法标准;如果所述自定义SQL语句符合所述预设语法标准,则将所述自定义SQL语句中的数据连接信息转换为对应的数据源;判断所述自定义SQL语句对应的数据源对应的全局数据源连接池中是否存在所述自定义SQL语句对应的数据源的数据库连接;如果所述自定义SQL语句对应的数据源对应的全局数据源连接池中存在所述数据库连接,则从所述自定义SQL语句对应的数据源对应的全局数据源连接池中取出所述数据库连接,对所述自定义SQL语句对应的数据源对应的全局数据源连接池中取出的所述数据库连接进行可用性检测,得到所述自定义SQL语句对应的数据源的可用的数据库连接。3.如权利要求2所述的方法,其特征在于,判断所述自定义SQL语句对应的数据源对应的全局数据源连接池中是否存在所述自定义SQL语句对应的数据源的数据库连接之后,还包括:如果所述自定义SQL语句对应的数据源对应的全局数据源连接池中没有存在所述数据库连接,则根据所述自定义SQL语句对应的数据源进行汇
\t总整理得到所述自定义SQL语句对应的数据源的可用的数据库连接,将汇总整理得到的所述自定义SQL语句对应的数据源的可用的数据库连接存储在所述自定义SQL语句对应的数据源对应的全局数据源连接池中。4.如权利要求1所述的方法,其特征在于,将所述自定义SQL语句转换为多个标准SQL语句之后,还包括:对多个所述标准SQL语句进行合并优化;相应地,在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行多个所述标准SQL语句对应的业务数据操作,包括:在所述自定义SQL语句对应的数据源的可用的数据库连接对应的数据库中执行合并优化后的多个所述标准SQL语句对应的业务数据操作。5.如权利要求1所述的方法,其特征在于,所述自定义SQL语句包括:无路由查询分表语句、无密码查询指定库语句、有密码查询语句和/或提示Hint支持语句。6.如权利要求1所述的方法,其特征在于,判断所述预设结构化查询语言SQL语句是自定义SQL语句还是标准SQL语句之后,还包括:如果所述预设结构化查询语言SQL语句是所述标准SQL语句,则获取所述标准SQL语句对应的数据源的可用的数据库连接;在所述标准SQL语句对应的数据源的数据库连接对应的数据库中执行所述标准SQL语句对应的业务数据操作。7.如权利要求6所述的方法,其特征在于,获取所述标准SQL语句对应的数据源的可用的数据库连接,包括:判断所述标准SQL语句是否符合预设语法标准;如果所述标准SQL语句符合预设语法标准,则将所述标准SQL语句中的数据连接信息转换为对应的数据源;判断所述标准SQL语句对应的数据源对应的全局数据源连接池中是否存在数据库连接;如果所述标准SQL语句对应的数据源对应的全局数据源连接池中存在
\t数据库连接,则从所述标准SQL语句对应的数据源对应的全局数据源连接池中取出数据库连接,对从所述标准SQL语句对应的数据源对应的全局数据源连接池中取出的数据库连接进行可用性检测,得到所述标准SQL语句对应的数据源的可用的数据库连接。8.如权利要求7所述的方法,其特征在于,判断所述标准SQL语句对应的数据源对应的全局数据源连接池中是否存在数据库连接之后,还包括:如果所述标准SQL语句对应的数据源对应的全局数据源连接池中没有存在数据库连接,则根据所述标准SQL语句对应的数据源进行汇总整理得到所述标准SQL语句对应的数据源的可用的数据库连接,将汇总整理得到的所述标准SQL语句对应的数据源的可用的数据库连接存储在所述标准SQL语句对应的数据源对应的全局数据源连接池中。9.如权利要求1-8任一权利要求所述的方法,其特征在于,所述业务数据操作包括:对业务数据进行查询、订...

【专利技术属性】
技术研发人员:廖科叶正盛
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1