一种数据库适配方法及数据库适配器组成比例

技术编号:14299182 阅读:69 留言:0更新日期:2016-12-26 04:28
本发明专利技术公开了一种数据库适配方法及数据库适配器,该数据库适配方法包括:接收客户端的链接请求,在数据库集中选定主数据库,建立主数据库与客户端的链接;在主数据库创建临时表,接收操作指令并在临时表中对数据进行操作;将操作结果发送至客户端并保存数据。本发明专利技术的数据库适配方法通过在主数据库中建立临时表,加快了用户对数据的编辑操作速度,也极大提高了数据库的访问速度,改善了用户对数据库的使用体验。

【技术实现步骤摘要】

本专利技术涉及信息
,特别是涉及一种数据库适配方法及数据库适配器
技术介绍
随着科技的进步,人们对数据的处理,也从普通的文本文件,慢慢发展到数据库。面对越来越多样化的数据,各种不同类型的数据库相继出现,如现在主流的Oracle、Sql Server、DB2、Sybase、Mysql、Postgre、MongoDB等类型的数据库。现有的主流数据库中,主要分为两种类型:SQL和NoSQL数据库,他们各有其优缺点,适用于各种不同的使用环境,为用户提供更方便快捷的服务。对用户而言,根据自身需求,选择使用合适的数据库是十分必要的;就使用而言,不同数据库间存在很大的差异性是非常大的,如语法之间的差异、使用方式之间的差异等。当用户需要使用多种数据库进行系统开发,在对数据进行读写操作时,需要保证不同数据库间的数据一致性,现有技术中普遍采用数据库适配器来实现不同数据库之间的桥接。数据库适配器,可以适配多种数据库间操作,从而数据读写内容一致性;上层用户利用通用的数据库适配器接口,根据数据库适配器的语法,进行数据操作,从而适配各种不同的数据库。但是实际操作过程中,当用户通过客户端对数据进行操作时,往往是直接在数据库中对文件本身进行读写编辑等操作,操作过程中相应的文件处于锁定状态,其他用户不能同时进行操作,客户端只能等待前一用户操作完成才能进行操作,从而导致访问缓慢、排队等问题,同时也使得不同数据库之间的数据同步缓慢,影响了客户端与不同数据库之间的数据交互。
技术实现思路
本专利技术的目的在于,提供一种数据库适配方法及数据库适配器,可以同时实现不同用户对同一数据的操作,克服了文件锁定操作所产生的弊端。本专利技术的实现上述目的所采用的技术方案是:根据本专利技术的一个方面,提供了一种数据库适配方法,包括:接收客户端的链接请求,在数据库集中选定主数据库,建立主数据库与客户端的链接;在主数据库创建临时表,接收操作指令并在临时表中对数据进行操作;将操作结果发送至客户端并保存数据。在数据库集中选定主数据库的过程包括:获取客户端的链接请求所请求的数据表和数据,检索数据库集中的每一数据库中的数据表及数据,并与所请求的数据表和数据相匹配,筛选出包含有所请求的所述数据表和数据的数据库;将至少一个包含有所请求的数据表和数据的数据库设为主数据库。在主数据库创建临时表的步骤包括:确定向同一数据发送链接请求的客户端数量;根据所确定的客户端数量,在主数据库创建对应数量的临时表,将数据插入至临时表;建立客户端与临时表一一对应的链接关系。接收操作指令并在临时表中对数据进行操作的步骤包括:接收客户端的操作指令,确定主数据库的类型,将客户端的操作指令解析成对应主数据库的操作指令;按照解析完成后的主数据库的操作指令对临时表内的所述数据进操作。将操作结果发送至客户端并保存数据的步骤包括:在多个客户端对同一数据操作完成后,主数据库分别生成对应的数据的子版本;将多个临时表中数据的子版本整合,生成数据的主版本;将数据的主版本和子版本发送至对应的客户端,并保存至主数据库的对应数据表中。该方法还包括:在选定主数据库后,将其它匹配成功的数据库设为从数据库,建立主数据库与从数据库的链接;将操作完成后的数据同步至从数据库对应的数据中。同步的数据包括主版本和子版本,并保留未操作前的数据的版本。该方法还包括:在链接或操作过程中,检测主数据库的运行状态,若主数据库运行异常,则切换一从数据库为主数据库,建立与客户端、其它从数据库的链接,并创建临时表。链接请求和操作指令的传输方式为异步线程传输。根据本专利技术的另一方面,一种数据库适配器,包括:链接单元,用于接收客户端的链接请求,在数据库集中选定主数据库,建立主数据库与客户端的链接;操作单元,用于在主数据库创建临时表,接收操作指令并在临时表中对数据进行操作;反馈单元,用于将操作结果发送至客户端并保存数据。本专利技术采用上述技术方案所具有的技术效果是:本专利技术的数据库适配方法是在主数据库中建立临时表,用户在临时表中对数据进行编辑操作,而非直接对文件进行操作,因此数据始终处于开放状态,不同用户通过数据库适配器可以同时对同一数据进行操作,极大提高了数据库的访问速度,改善了用户对数据库的使用体验。附图说明图1为本专利技术数据库适配方法的流程图一;图2为本专利技术数据库适配方法的流程图二;图3为本专利技术数据库适配方法的流程图三;图4为本专利技术数据库适配方法的整体连接框图;具体实施方式为清楚的说明本专利技术中的方案,下面给出优选的实施例并结合附图详细说明。以下的说明本质上仅仅是示例性的而并不是为了限制本公开的应用或用途。应当理解的是,在全部的附图中,对应的附图标记表示相同或对应的部件和特征。与现有数据库文件操作方式中直接对文件自身进行操作以致文件被锁定不同,本专利技术一种数据库适配方法,如图1的流程图所示,步骤包括:S101、接收客户端的链接请求,在数据库集中选定主数据库,建立主数据库与客户端的链接;S102、在主数据库创建临时表,接收操作指令并在临时表中对数据进行操作;S103、将操作结果发送至客户端并保存数据。待操作的数据可以映射或插入至主数据库所创建的临时表中,用户对该数据的读写编辑等操作均是临时表中的数据中操作完成,因此并不会对数据库中的文件进行lock(锁定)等设置,数据库的数据可以被多次映射或插入至多个不同的临时表中,以供不同客户端的用户进行数据的读写操作。在本专利技术的一个具体实施例中,临时表可以根据数据的种类和数量进行确定,如每一个数据对应一个临时表,同一数据可以建立多个临时表,以供不同的客户端用户链接;或者将临时表与客户端相对应,如每一客户端或ip地址的用户对应建立一个临时表,同一客户端或ip地址的用户对同一主数据库的不同数据进程读写编辑等操作。在本专利技术的一个实施例中,数据库适配器接收客户端的链接请求,并在已知的多个备选的数据库中选定主数据库,进而建立主数据库与客户端的链接,实现客户端与主数据库的数据交互,具体步骤如图2所示,包括:S201、获取客户端的链接请求所请求的数据表和数据;具体的,根据链接请求的内容及类型以确定所要操作的数据表的类型以及对应的数据内容,链接对象中的数据可以为一个或多个数据以及多个与单一数据相关联的其他数据;S202、检索数据库集中的每一数据库中的数据表及数据,并与所请求的数据表和数据相匹配,筛选出包含有所请求的所述数据表和数据的数据库;具体的,由于同一数据可以以不同的编程语言储存在不同类型的数据库中,因此该步骤检索过程中检索已知数据库或备选数据库中是否包含该数据,并不局限于某一种或几种编程语言的数据库,在特定数据库范围或编程语言范围内的检索则依据其设定的范围进行数据的查找检索;S203、将至少一个包含有所请求的数据表和数据的数据库设为主数据库;考虑到同一数据在不同数据库中具有关联关系,因此在其中一个数据库内的数据进行操作后,可以将相应的操作编辑内容同步至其他数据库内对应的数据中,极大的提高了数据内容的统一性和同步性。在本专利技术的一个实施例中,在主数据库创建临时表的步骤如图3所示,包括:S301、确定对同一数据发送链接请求的客户端数量;由于同一时刻可以存在多个客户端对同一数据库内的同一数据进行操作,或者多个客户端在有时间交叉的不同时刻内对同一数本文档来自技高网...
一种数据库适配方法及数据库适配器

【技术保护点】
一种数据库适配方法,其特征在于,包括:接收客户端的链接请求,在数据库集中选定主数据库,建立主数据库与客户端的链接;在主数据库创建临时表,接收操作指令并在临时表中对数据进行操作;将操作结果发送至客户端并保存所述数据。

【技术特征摘要】
1.一种数据库适配方法,其特征在于,包括:接收客户端的链接请求,在数据库集中选定主数据库,建立主数据库与客户端的链接;在主数据库创建临时表,接收操作指令并在临时表中对数据进行操作;将操作结果发送至客户端并保存所述数据。2.根据权利要求1所述的数据库适配方法,其特征在于,所述在数据库集中选定主数据库的过程包括:获取客户端的链接请求所请求的数据表和数据,检索数据库集中的每一数据库中的数据表及数据,并与所请求的数据表和数据相匹配,筛选出包含有所请求的所述数据表和数据的数据库;将至少一个包含有所请求的数据表和数据的数据库设为主数据库。3.根据权利要求2所述的数据库适配方法,其特征在于,所述在主数据库创建临时表的步骤包括:确定向同一数据发送链接请求的客户端数量;根据所确定的客户端数量,在主数据库创建对应数量的临时表,将数据插入至临时表;建立客户端与临时表一一对应的链接关系。4.根据权利要求3所述的数据库适配方法,其特征在于,所述接收操作指令并在临时表中对数据进行操作的步骤包括:接收客户端的操作指令,确定主数据库的类型,将客户端的操作指令解析成对应主数据库的操作指令;按照解析完成后的主数据库的操作指令对临时表内的所述数据进操作。5.根据权利要求4所述的数据库适配方法,其特征在于,所述将操作结果发送至客...

【专利技术属性】
技术研发人员:商宇威晋晓宇
申请(专利权)人:北京金山安全管理系统技术有限公司
类型:发明
国别省市:北京;11

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

1