CN107562891A - 数据库操作方法及装置 - Google Patents
数据库操作方法及装置 Download PDFInfo
- Publication number
- CN107562891A CN107562891A CN201710794723.7A CN201710794723A CN107562891A CN 107562891 A CN107562891 A CN 107562891A CN 201710794723 A CN201710794723 A CN 201710794723A CN 107562891 A CN107562891 A CN 107562891A
- Authority
- CN
- China
- Prior art keywords
- database
- history
- access
- data
- collection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据库操作方法及装置,该方法包括:获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史;根据历史访问对象判断访问历史中是否包含历史访问对象;当访问历史中不包含历史访问对象时,生成目标访问对象;基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作。本发明实施例中的数据库操作方法能够在多线程模式下对数据库进行高效、准确的操作,缓解了现有技术中还无法实现在多线程模式下对数据库进行高效,准确操作的技术问题。
Description
技术领域
本发明涉及数据库操作的技术领域,尤其是涉及一种数据库操作方法及装置。
背景技术
近几年,由于文档型数据库相比关系型数据库在非结构化处理方面的优势,文档型数据库的使用环境越来越多,SequoiaDB作为一款优秀的新兴文档型数据库,也有更多人去使用。由于SequoiaDB只提供了一个单线程版的数据库操作对象,而在实际使用时,为了提高操作效率,开发人员通常会在多线程模式下进行数据库操作,单线程版的数据库对象并不能满足他们的需求。开发一种多线程模式下可以操作的数据库对象成为了摆在数据库开发人员面前的一项重要的基础任务。
SequoiaDB数据库官方的JAVA驱动中的数据库对象SequoiaDB提供了数据库操作和集群操作的接口,该类为非线程安全类,只能在单线程环境下使用,其缺点是数据库操作进行过程中线程必须等待一个操作结束才能继续往下执行,效率比较低;而如果对这个对象进行简单地多线程调用,则可能导致程序错误,抛出异常甚至崩溃的问题。
综上,目前在对数据库进行操作时,还无法实现在多线程模式下对数据库进行高效,准确的操作。
发明内容
有鉴于此,本发明的目的在于提供一种数据库操作方法,以缓解现有技术中,无法实现在多线程模式下对数据库进行高效,准确操作的技术问题。
第一方面,本发明实施例提供了一种数据库操作方法,所述方法包括:
获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史,其中,所述历史访问对象为当前线程的历史访问对象,所述访问历史中包括多个访问对象;
根据所述历史访问对象判断所述访问历史中是否包含所述历史访问对象;
当所述访问历史中不包含所述历史访问对象时,生成目标访问对象;
基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,当所述访问历史中包含所述历史访问对象时,所述方法还包括:
基于所述历史访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述历史访问对象对所述数据库进行操作。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作,包括:
根据所述目标访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
调用所述数据库的操作方法;
基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,基于所述历史访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作,包括:
根据所述历史访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
调用所述数据库的操作方法;
基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述数据库操作包括多次操作过程,在基于所述数据库的操作方法对所述集合对象中的数据进行操作之后,所述方法还包括:
判断所述多次操作过程是否全部执行完成;
当判断所述多次操作过程全部执行完成时,释放所述线程局部存储中存储的访问对象,其中,所述访问对象包括:所述访问历史中的多个访问对象,所述历史访问对象和所述目标访问对象。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,在基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接之后,所述方法还包括:
在所述线程局部存储中对所述目标访问对象进行存储登记。
第二方面,本发明实施例还提供了一种数据库操作装置,所述装置包括:
获取模块,用于获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史,其中,所述历史访问对象为当前线程的历史访问对象,所述访问历史中包括多个访问对象;
判断模块,用于根据所述历史访问对象判断所述访问历史中是否包含所述历史访问对象;
生成模块,当所述访问历史中不包含所述历史访问对象时,生成目标访问对象;
第一实现模块,用于基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述装置还包括:
第二实现模块,用于基于所述历史访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述历史访问对象对所述数据库进行操作。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述第一实现模块,包括:
第一获取单元,用于根据所述目标访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
第二获取单元,用于获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
第一调用单元,用于调用所述数据库的操作方法;
第一操作单元,用于基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述第二实现模块,包括:
第三获取单元,用于根据所述历史访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
第四获取单元,用于获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
第二调用单元,用于调用所述数据库的操作方法;
第二操作单元,用于基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
本发明实施例带来了以下有益效果:本发明实施例提供了一种数据库操作方法及装置,该数据库操作方法包括:获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史,其中,历史访问对象为当前线程的历史访问对象,访问历史中包括多个访问对象;根据历史访问对象判断访问历史中是否包含历史访问对象;当访问历史中不包含历史访问对象时,生成目标访问对象;基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作。
目前在对数据库进行操作时,还无法实现在多线程模式下对数据库进行高效,准确的操作。在本发明实施例中的数据库操作方法中,首先获取历史访问对象和访问历史,然后,根据历史访问对象判断访问历史中是否包含历史访问对象,当访问历史中不包含历史访问对象时,生成目标访问对象,最终,基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作。本发明实施例中的数据库操作方法能够在多线程模式下对数据库进行高效、准确的操作,缓解了现有技术中还无法实现在多线程模式下对数据库进行高效,准确操作的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据库操作方法的流程图;
图2为本发明实施例提供的基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据访问链接对数据库进行操作的流程图;
图3为本发明实施例提供的基于历史访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据访问链接对数据库进行操作的流程图;
图4为本发明实施例提供的基于数据库的操作方法对集合对象中的数据进行操作后的方法流程图;
图5为本发明实施例提供的一种数据库操作装置的结构示意图。
图标:
11-获取模块;12-判断模块;13-生成模块;14-第一实现模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,发明人考虑到在多线程环境下,不同线程使用同一个访问对象进行数据库操作时会导致程序崩溃等严重问题,所以,发明人设计了不同线程生成不同的访问对象,每个线程只使用自己的访问对象,这些访问对象在创建后可以保存下来,以后在进行操作时,判断为同一个线程的时候,可以复用这个访问对象;并且,在程序结束时,可以将所有的访问对象统一进行释放。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据库操作方法进行详细介绍。
实施例一:
一种数据库操作方法,参考图1,该数据库操作方法包括:
S101、获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史,其中,历史访问对象为当前线程的历史访问对象,访问历史中包括多个访问对象;
具体的,线程局部存储为Threadlocal线程局部变量。另外,也可以不使用Threadlocal线程局部存储技术,而使用自定义的登记和保存技术来达到相同的目的。
S102、根据历史访问对象判断访问历史中是否包含历史访问对象;
也就是在线程局部存储中得到当前线程的历史访问对象后,使用该历史访问对象在访问历史(多个访问对象)中找相应的(即,匹配的,也就是一样的)历史访问对象,如果找到了相应的历史访问对象,说明访问历史中包含历史访问对象,当前线程就可以使用该访问历史中的历史访问对象。
S103、当访问历史中不包含历史访问对象时,生成目标访问对象;
如果当前线程还没有在访问历史中生成过历史访问对象时,那么生成新的访问对象,也就是目标访问对象。
S104、基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作。
具体的,在基于目标访问对象实现当前线程与数据库之间的访问链接之后,在线程局部存储中对目标访问对象进行存储登记,以便于在程序运行结束时,将线程局部存储中的访问对象全部释放。
目前在对数据库进行操作时,还无法实现在多线程模式下对数据库进行高效,准确的操作。在本发明实施例中的数据库操作方法中,首先获取历史访问对象和访问历史,然后,根据历史访问对象判断访问历史中是否包含历史访问对象,当访问历史中不包含历史访问对象时,生成目标访问对象,最终,基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作。本发明实施例中的数据库操作方法能够在多线程模式下对数据库进行高效、准确的操作,缓解了现有技术中还无法实现在多线程模式下对数据库进行高效,准确操作的技术问题。
进一步地,当访问历史中包含历史访问对象时,该方法还包括:
基于历史访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据历史访问对象对数据库进行操作。
进一步地,参考图2,基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作,包括:
S201、根据目标访问对象获取数据库中的集合空间对象,其中,集合空间对象用于存储集合对象;
具体的,在得到目标访问对象后,能够根据目标访问对象获取数据库中的集合空间对象。
另外,还可以删除集合空间对象,但本发明实施例中主要是获取集合空间对象。
S202、获取位于集合空间对象中的集合对象,其中,集合对象中包括数据库中的数据以及数据库中的数据存储结构;
在得到集合空间对象后,就能进一步获取位于集合空间对象中的集合对象。
S203、调用数据库的操作方法;
在得到集合空间对象后,数据库的接口已经规定了操作方法,调用数据库的操作方法。比如:若要删除数据,首先要得到集合对象,然后,调用数据库的删除方法,同时,需要设置匹配条件,根据匹配条件找到匹配的数据进而执行删除的操作。
S204、基于数据库的操作方法对集合对象中的数据进行操作,其中,操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
进一步地,参考图3,基于历史访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作,包括:
S301、根据历史访问对象获取数据库中的集合空间对象,其中,集合空间对象用于存储集合对象;
S302、获取位于集合空间对象中的集合对象,其中,集合对象中包括数据库中的数据以及数据库中的数据存储结构;
S303、调用数据库的操作方法;
S304、基于数据库的操作方法对集合对象中的数据进行操作,其中,操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
该过程中的具体内容和上述步骤S201至步骤S204中的内容相似,在此不再进行赘述。
进一步地,参考图4,数据库操作包括多次操作过程,在基于数据库的操作方法对集合对象中的数据进行操作之后,方法还包括:
S401、判断多次操作过程是否全部执行完成;
具体的,对数据库的操作过程也就是程序的执行过程,判断多次操作过程是否全部执行完成也就是判断程序是否运行结束。
S402、当判断多次操作过程全部执行完成时,释放线程局部存储中存储的访问对象,其中,访问对象包括:访问历史中的多个访问对象,历史访问对象和目标访问对象。
当程序运行结束时,释放线程局部存储中存储的访问对象。
另外,当程序运行没有结束时,也有可能释放线程局部存储中存储的访问对象。比如:中间某次任务执行完成后,就可以把对应任务的访问对象进行释放。
本发明通过线程局部存储技术为每个调用线程配对了一个相应的访问对象,且多次调用并不重复生成,这样就达到了多线程环境下稳定高效操作数据库的目标,在程序结束时,由于已经为每一个线程的访问对象执行过登记过程,所以可以统一对它们进行资源释放,以保证不会发生资源泄漏等问题。本发明解决了在多线程同步访问数据库的情况下出现脏数据的问题。
实施例二:
一种数据库操作装置,参考图5,该装置包括:
获取模块11,用于获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史,其中,历史访问对象为当前线程的历史访问对象,访问历史中包括多个访问对象;
判断模块12,用于根据历史访问对象判断访问历史中是否包含历史访问对象;
生成模块13,当访问历史中不包含历史访问对象时,生成目标访问对象;
第一实现模块14,用于基于目标访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据目标访问对象对数据库进行操作。
进一步地,数据库操作装置还包括:
第二实现模块,用于基于历史访问对象实现当前线程与数据库之间的访问链接,以使当前线程根据历史访问对象对数据库进行操作。
进一步地,第一实现模块,包括:
第一获取单元,用于根据目标访问对象获取数据库中的集合空间对象,其中,集合空间对象用于存储集合对象;
第二获取单元,用于获取位于集合空间对象中的集合对象,其中,集合对象中包括数据库中的数据以及数据库中的数据存储结构;
第一调用单元,用于调用数据库的操作方法;
第一操作单元,用于基于数据库的操作方法对集合对象中的数据进行操作,其中,操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
进一步地,第二实现模块,包括:
第三获取单元,用于根据历史访问对象获取数据库中的集合空间对象,其中,集合空间对象用于存储集合对象;
第四获取单元,用于获取位于集合空间对象中的集合对象,其中,集合对象中包括数据库中的数据以及数据库中的数据存储结构;
第二调用单元,用于调用数据库的操作方法;
第二操作单元,用于基于数据库的操作方法对集合对象中的数据进行操作,其中,操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
进一步地,第一实现模块或第二实现模块,包括:
判断单元,用于判断多次操作过程是否全部执行完成;
释放单元,当判断多次操作过程全部执行完成时,释放线程局部存储中存储的访问对象,其中,访问对象包括:访问历史中的多个访问对象,历史访问对象和目标访问对象。
进一步地,数据库操作装置,还包括:
存储登记模块,用于在线程局部存储中对目标访问对象进行存储登记。
本发明实施例所提供的数据库操作方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据库操作方法,其特征在于,所述方法包括:
获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史,其中,所述历史访问对象为当前线程的历史访问对象,所述访问历史中包括多个访问对象;
根据所述历史访问对象判断所述访问历史中是否包含所述历史访问对象;
当所述访问历史中不包含所述历史访问对象时,生成目标访问对象;
基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作。
2.根据权利要求1所述的操作方法,其特征在于,当所述访问历史中包含所述历史访问对象时,所述方法还包括:
基于所述历史访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述历史访问对象对所述数据库进行操作。
3.根据权利要求1所述的方法,其特征在于,基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作,包括:
根据所述目标访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
调用所述数据库的操作方法;
基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
4.根据权利要求2所述的方法,其特征在于,基于所述历史访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作,包括:
根据所述历史访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
调用所述数据库的操作方法;
基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
5.根据权利要求3或4所述的方法,其特征在于,所述数据库操作包括多次操作过程,在基于所述数据库的操作方法对所述集合对象中的数据进行操作之后,所述方法还包括:
判断所述多次操作过程是否全部执行完成;
当判断所述多次操作过程全部执行完成时,释放所述线程局部存储中存储的访问对象,其中,所述访问对象包括:所述访问历史中的多个访问对象,所述历史访问对象和所述目标访问对象。
6.根据权利要求1所述的方法,其特征在于,在基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接之后,所述方法还包括:
在所述线程局部存储中对所述目标访问对象进行存储登记。
7.一种数据库操作装置,其特征在于,所述装置包括:
获取模块,用于获取存储于线程局部存储中对数据库进行访问的历史访问对象和访问历史,其中,所述历史访问对象为当前线程的历史访问对象,所述访问历史中包括多个访问对象;
判断模块,用于根据所述历史访问对象判断所述访问历史中是否包含所述历史访问对象;
生成模块,当所述访问历史中不包含所述历史访问对象时,生成目标访问对象;
第一实现模块,用于基于所述目标访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述目标访问对象对所述数据库进行操作。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二实现模块,用于基于所述历史访问对象实现所述当前线程与所述数据库之间的访问链接,以使所述当前线程根据所述历史访问对象对所述数据库进行操作。
9.根据权利要求7所述的装置,其特征在于,所述第一实现模块,包括:
第一获取单元,用于根据所述目标访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
第二获取单元,用于获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
第一调用单元,用于调用所述数据库的操作方法;
第一操作单元,用于基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
10.根据权利要求8所述的装置,其特征在于,所述第二实现模块,包括:
第三获取单元,用于根据所述历史访问对象获取所述数据库中的集合空间对象,其中,所述集合空间对象用于存储集合对象;
第四获取单元,用于获取位于所述集合空间对象中的集合对象,其中,所述集合对象中包括所述数据库中的数据以及所述数据库中的数据存储结构;
第二调用单元,用于调用所述数据库的操作方法;
第二操作单元,用于基于所述数据库的操作方法对所述集合对象中的数据进行操作,其中,所述操作包括以下至少之一:添加数据,查询数据,变更数据,删除数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710794723.7A CN107562891A (zh) | 2017-09-05 | 2017-09-05 | 数据库操作方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710794723.7A CN107562891A (zh) | 2017-09-05 | 2017-09-05 | 数据库操作方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107562891A true CN107562891A (zh) | 2018-01-09 |
Family
ID=60978284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710794723.7A Pending CN107562891A (zh) | 2017-09-05 | 2017-09-05 | 数据库操作方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562891A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352992A (zh) * | 2018-12-21 | 2020-06-30 | 北京金山云网络技术有限公司 | 数据一致性检测方法、装置及服务器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517917A (zh) * | 2003-01-27 | 2004-08-04 | ������������ʽ���� | 在多线程环境中管理和持久结构相关联的事务处理的方法 |
CN1869939A (zh) * | 2005-05-27 | 2006-11-29 | 华为技术有限公司 | 一种多线程应用程序访问数据库的方法 |
CN101547212A (zh) * | 2008-03-29 | 2009-09-30 | 华为技术有限公司 | 一种分布式对象的调度方法和系统 |
CN101593131A (zh) * | 2008-05-28 | 2009-12-02 | 国际商业机器公司 | 基于对象池来实现线程操作的方法和设备 |
CN102541927A (zh) * | 2010-12-30 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种实现数据缓存的方法和装置 |
CN102999522A (zh) * | 2011-09-15 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据存储方法和装置 |
US8504520B2 (en) * | 2010-06-11 | 2013-08-06 | Microsoft Corporation | Background synchronization of data objects |
-
2017
- 2017-09-05 CN CN201710794723.7A patent/CN107562891A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517917A (zh) * | 2003-01-27 | 2004-08-04 | ������������ʽ���� | 在多线程环境中管理和持久结构相关联的事务处理的方法 |
CN1869939A (zh) * | 2005-05-27 | 2006-11-29 | 华为技术有限公司 | 一种多线程应用程序访问数据库的方法 |
CN101547212A (zh) * | 2008-03-29 | 2009-09-30 | 华为技术有限公司 | 一种分布式对象的调度方法和系统 |
CN101593131A (zh) * | 2008-05-28 | 2009-12-02 | 国际商业机器公司 | 基于对象池来实现线程操作的方法和设备 |
US8504520B2 (en) * | 2010-06-11 | 2013-08-06 | Microsoft Corporation | Background synchronization of data objects |
CN102541927A (zh) * | 2010-12-30 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种实现数据缓存的方法和装置 |
CN102999522A (zh) * | 2011-09-15 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据存储方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352992A (zh) * | 2018-12-21 | 2020-06-30 | 北京金山云网络技术有限公司 | 数据一致性检测方法、装置及服务器 |
CN111352992B (zh) * | 2018-12-21 | 2023-09-29 | 北京金山云网络技术有限公司 | 数据一致性检测方法、装置及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106325998B (zh) | 一种基于云计算的应用部署的方法和装置 | |
CN109144699A (zh) | 分布式任务调度方法、装置及系统 | |
CN105933137A (zh) | 一种资源管理方法、装置及系统 | |
CN104679594B (zh) | 一种中间件分布式计算方法 | |
CN104915285A (zh) | 一种容器进程监控方法、装置及系统 | |
CN107463434A (zh) | 一种分布式任务处理方法与设备 | |
CN110740194B (zh) | 基于云边融合的微服务组合方法及应用 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN106100868B (zh) | 一种项目运维管理装置、系统及方法 | |
CN109787858A (zh) | 一种批量发布服务的方法及终端 | |
CN105491117A (zh) | 面向实时数据分析的流式图数据处理系统及方法 | |
CN112416578B (zh) | 一种基于深度强化学习的容器云集群资源利用优化方法 | |
CN108241531A (zh) | 一种在集群中为虚拟机分配资源的方法和装置 | |
CN113835874A (zh) | 深度学习业务调度方法、系统、终端及存储介质 | |
CN114048004A (zh) | 虚拟机高可用批量调度方法、装置、设备及存储介质 | |
Mao et al. | Elastic resource management for deep learning applications in a container cluster | |
Maas | A taxonomy of ML for systems problems | |
CN108390914A (zh) | 一种服务更新方法及装置、系统 | |
CN117271101B (zh) | 一种算子融合方法、装置、电子设备及存储介质 | |
WO2017020941A1 (en) | Category based execution scheduling | |
CN107562891A (zh) | 数据库操作方法及装置 | |
CN116560860B (zh) | 一种基于机器学习的资源优先级的实时优化调整方法 | |
CN109359205A (zh) | 一种基于地理格网的遥感影像切分方法及设备 | |
CN107402812A (zh) | 集群资源调度方法、装置、设备及存储介质 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180109 |