一种跨平台的数据库访问方法技术

技术编号:10185486 阅读:102 留言:0更新日期:2014-07-04 16:19
一种跨平台的数据库访问方法,包括步骤:初始化统一查询语言UQL;编写统一查询语言UQL语句;对统一查询语言UQL语句进行预处理;判断是否进行语法判断;将相应语法形式化封装,生成XML表达式;解析XML表达式,获取相应参数;根据获取到的参数提取统一查询语言UQL语句的目标数据库类型、统一查询语言UQL语句的访问类型,选择对应的基础模块进行参数填充并执行;将执行结果形式化封装返回。本发明专利技术让内部的服务方法不再是一个个有针对性的具体方法实现,而是一个通用的解析执行模块,在iOS客户端,放弃以前直接调用服务方法的简单流程,通过数据访问语句来达到数据访问的目的。

【技术实现步骤摘要】
一种跨平台的数据库访问方法
本专利技术属于数据库访问方法
,涉及一种跨平台的数据库访问方法。
技术介绍
随着移动终端普及程度的不断提高,终端应用开发也随之成为热点,给人们的生活、工作、学习带来了很大的便利,而iOS(苹果公司的手持设备操作系统)平台则是其中最大的平台,在移动开发领域中占有举足轻重的地位。iOS应用的开发虽是基于iOS平台,但是往往需要后台服务器的支持。其中大部分服务器是基于其他操作系统平台的,因此出现了大量跨平台的服务器访问的问题。目前用到的方法主要是使用WebService(网络服务)进行服务器访问。WebService是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务。各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问WebService,通过WebService内部执行得到所需结果。WebService可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。传统基于WebService的交互方式虽然实现跨平台数据库访问,但是,不够灵活,不能够通用,维护代价也比较大。
技术实现思路
本专利技术目的在于提供一种跨平台的数据库访问方法,解决现有技术不够灵活,不能通用的问题。本专利技术的技术方案是,一种跨平台的数据库访问方法,包括以下步骤:第1步:初始化统一查询语言UQL,输入开关参数;第2步:编写统一查询语言UQL语句;第3步:对统一查询语言UQL语句进行预处理;第4步:根据第1步中的开关参数判断是否进行语法判断;对于不需要进行规则判断的统一查询语言UQL语句直接执行第5步;而对于需要进行语法规则判断的统一查询语言UQL语句,则进行语法验证;第5步:将相应语法形式化封装,生成XML表达式;第6步:解析XML表达式,获取相应参数;第7步:根据获取到的参数提取统一查询语言UQL语句的目标数据库类型、统一查询语言UQL语句的访问类型,选择对应的基础模块进行参数填充并执行。第8步:将执行结果形式化封装返回。上述第4步中的语法验证具体包括:(1)对统一查询语言UQL语句进行预处理。预处理包括将表达不同含义的“()”根据其不同含义进行相应变形,将需要单独处理而没有用空格隔开的单词自动添加空格,最后将整个UQL语句中多余的空格去除。(2)提取形纹,即将统一查询语言UQL语句数值化。提取形纹的具体方法为将UQL语句拆分成单词,然后根据关键词分配表进行相应的数值替换,对于非关键词单词以负数替换,其绝对值为该词在当前数组中的位置下标;同时,还识别记录一些会触发语句转换的关键词的数值,用于后续可能存在的数据库语言形式转换操作。(3)进行规则库匹配,当匹配成功时执行第5步;匹配失败时进行案例库匹配,若成功则执行第5步,失败时返回第2步;案例库匹配为将统一查询语言UQL语句的形纹与在案例库中的形纹案例做对比,看是否存在该案例记录;不存在则匹配失败,但此时不能武断的判定该统一查询语言UQL语句就一定不合法,此时应进行相应的后台操作,即反馈案例。案例库匹配成功,即认为当前的统一查询语言UQL语句是正确语法,此时要检测是否要进行相应的语法转换,若需要,则进行相应的转换,然后进行形式化封装,不需要则直接进行XML形式化封装,最后将这个统一查询语言UQL语句同样发送到服务器;案例库匹配不成功,即认为当前的统一查询语言UQL语句是错误语法,但是,同时后台会将这个统一查询语言UQL语句同样发送到服务器,倘若服务器正确执行并返回了结果,则该语句是正确的,后台会自动提取该统一查询语言UQL语句的形纹,并且将其存入案例库中即加入到Trie树里面,并且Tire树转化成相应的文件,以文件形式写入本地,当下一次遇到该类型的案例时就能判断出该案例是符合语法规则的了。本专利技术具有如下有益效果:1、本专利技术改变Webservicce存在的作用,让内部的服务方法不再是一个个有针对性的具体方法实现,而是一个通用的解析执行模块。在iOS客户端,放弃以前直接调用服务方法的简单流程,而是通过数据访问语句(自定义为统一查询语言UQL语句),来达到数据访问的目的。这些统一查询语言UQL语句都是类似基础的数据库语句,通过各种组合可以实现所有的数据访问目的。2、本专利技术可以兼容多种数据库。其中的服务器端WebService服务,可以根据不同的客户端请求的需求去访问不同类型的数据库,目前支持SqlServer、Oracle、MySql等。它完全是一个通用可移植的模块,一旦完成就可以供众多应用开发使用,不局限与具体应用以及具体数据库。3、本专利技术所有用于实现跨平台数据库访问的方法被封装成静态库,开发人员将静态库以及相关的头文件加入到工程里面,在需要进行数据库访问的类里面加入相关头文件,就能进行相应方法的调用,实现跨平台的数据库。4、本专利技术定义“形纹”概念,对于统一查询语言UQL语句语法的验证及其语句转化工作都是基于形纹概念完成的,将传统的针对字符验证的复杂操作变成了针对数值序列的操作,大大的简化了验证操作的过程,提高了验证效率,并且能够很好的满足本专利技术的需求。附图说明图1为本专利技术跨平台的数据库访问方法的整体交互模型图。图2为本专利技术跨平台的数据库访问方法流程图。图3为本专利技术跨平台的数据库访问方法的客户端核心模块的执行流程图。图4为本专利技术跨平台的数据库访问方法中用于保存形纹库的Trie树的结构示意图。图5为本专利技术跨平台的数据库访问方法的案例库生成流程图。图6为本专利技术跨平台的数据库访问方法服务器端WebService的一个交互模型图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术涉及到的自定义概念解释:1.统一查询语言UQL:UnifiedQueryLanguage,统一查询语言。这个定义是对本专利技术的核心思想一种高度概括凝练,在进行开发的过程中进行访问数据库时,需要写入实现访问需求的数据库语句,目前暂时用比较通用的SqlServer语句作为语法模型,也就是在写数据库语句时,其实写的是SqlServer语句,但是可以将该语句转换成表达相同访问意图的其他数据库语句,所以可以理解为统一的查询语言,称之为统一查询语言UQL语句。2.形纹:每种数据库语言都是通过设定好的语法规则完成语义表达的,这些语法规则以特定的形式进行组织。由于语法规则是固定的,所以这些语法的表现形式也是固定不变的。因此可以从这些语法形式上进行相应的提炼,总结出规律。数据库语言的表现形式主要是通过一些关键词组来支撑,类似骨架一样,是一个语句的主体。同一类语义的语句主体是不变,只要把其中的部分非关键词的成分替换就能实现很多不一样的访问语句。但是这些核心主体骨架是不会改变。当将这些关键词数值化后,这些关键词形成的有序数列就被提炼出来了,他们代表了一类语法结构,有很重要的意义。它们独特而唯一,类似人的指纹一样,因此将这些有意义的数值序列称之为”形纹”。简单的说,形纹就是一些关键词的数值化后的序列。但是这些关键词本文档来自技高网...
一种跨平台的数据库访问方法

【技术保护点】
一种跨平台的数据库访问方法,其特征在于,包括以下步骤:第1步:初始化统一查询语言UQL,输入开关参数;第2步:编写统一查询语言UQL语句;第3步:对统一查询语言UQL语句进行预处理;第4步:根据第1步中的开关参数判断是否进行语法判断;对于不需要进行规则判断的统一查询语言UQL语句直接执行第5步;而对于需要进行语法规则判断的统一查询语言UQL语句,则进行语法验证;第5步:将相应语法形式化封装,生成XML表达式;第6步:解析XML表达式,获取相应参数;第7步:根据获取到的参数提取统一查询语言UQL语句的目标数据库类型、统一查询语言UQL语句的访问类型,选择对应的基础模块进行参数填充并执行;第8步:将执行结果形式化封装返回。

【技术特征摘要】
1.一种跨平台的数据库访问方法,其特征在于,包括以下步骤:第1步:初始化统一查询语言UQL,输入开关参数;第2步:编写统一查询语言UQL语句;第3步:对统一查询语言UQL语句进行预处理;第4步:根据第1步中的开关参数判断是否进行语法判断;对于不需要进行规则判断的统一查询语言UQL语句直接执行第5步;而对于需要进行语法规则判断的统一查询语言UQL语句,则进行语法验证;第5步:将相应语法形式化封装,生成XML表达式;第6步:解析XML表达式,获取相应参数;第7步:根据获取到的参数提取统一查询语言UQL语句的目标数据库类型、统一查询语言UQL语句的访问类型,选择对应的基础模块进行参数填充并执行;第8步:将执行结果形式化封装返回;第4步中的语法验证具体包括:(1)对统一查询语言UQL语句进行预处理;(2)提取形纹,即将统一查询语言UQL语句数值化;(3)进行规则库匹配,当匹配成功时执行第5步;匹配失败时返回第2步,进行案例库匹配;所述提取形纹的具体方法为将UQL语句拆分成单词,然后根据关键词分配表进行相应的数值替换;同时,还识别记录一些会触发语句转换的关键词的数值,用于后续可能存在的数据库...

【专利技术属性】
技术研发人员:王磊曹龙叶晓辉费蓉黑新宏
申请(专利权)人:西安理工大学
类型:发明
国别省市:陕西;61

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

1