CN107203387B - 目标数据库访问方法与系统 - Google Patents
目标数据库访问方法与系统 Download PDFInfo
- Publication number
- CN107203387B CN107203387B CN201710445574.3A CN201710445574A CN107203387B CN 107203387 B CN107203387 B CN 107203387B CN 201710445574 A CN201710445574 A CN 201710445574A CN 107203387 B CN107203387 B CN 107203387B
- Authority
- CN
- China
- Prior art keywords
- target database
- programming language
- extension
- client
- access
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种目标数据库访问方法与系统,其中,该方法包括:在第一编程语言的扩展中查找目标数据库客户端;以及使用第一编程语言通过查找到的目标数据库客户端访问目标数据库。由此,第一编程语言开发者在需要访问目标数据库时,就可以利用第一编程语言的扩展中用于实现目标数据库的访问功能的客户端,直接从目标数据库存取数据。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及跨语言的目标数据库访问方法与系统。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在数据库系统的构建过程中,需要根据数据库支持访问的编程语言,设计针对相应编程语言的数据访问接口,由于编程语言种类繁多,无法针对每种编程语言设计相应的数据访问接口,因此,如何实现数据库的跨语言访问是目前亟需解决的一个技术问题。
以Tair数据存储系统为例,Tair是一种高效的key/value数据库,但其仅提供了java和c语言的访问接口,对于其它编程语言例如PHP语言,则无法直接使用Tair数据库进行数据存储。所以其它编程语言往往需要通过第三方的代理服务来访问Tair。图1是示出了PHP访问Tair的实现流程示意图。如图1所示,PHP需要向代理服务方发出请求,由代理服务方访问Tair数据库获取数据,然后再由代理服务方将数据返回给PHP,实现过程较为繁琐。
由此,需要提供一种便捷、高效地解决数据库的跨语言访问障碍的数据访问方案。
发明内容
为了解决如上技术问题,本发明提出,针对数据库未提供数据访问接口的编程语言(为了便于描述,下面称为第一编程语言),可以根据第一编程语言的内核兼容特性,从数据库支持的编程语言对应的客户端中选取其兼容的客户端进行封装,以实现第一编程语言的扩展,该扩展使得第一编程语言可以与数据库原本支持的编程语言一样,从目标数据库直接存取数据。
根据本发明的一个方面,提供了一种目标数据库访问方法,包括:在第一编程语言的扩展中查找目标数据库客户端;以及使用第一编程语言通过查找到的目标数据库客户端访问目标数据库。
由此,第一编程语言开发者在需要访问目标数据库时,就可以利用第一编程语言的扩展中用于实现目标数据库的访问功能的客户端,直接从目标数据库存取数据。
优选地,该方法还可以包括:在扩展中没有查找到目标数据库客户端的情况下,将目标数据库客户端注册至扩展。
优选地,该方法还可以包括:在访问结束后,从扩展中删除目标数据库客户端。
优选地,在第一编程语言的扩展中查找目标数据库客户端的步骤可以包括:在扩展的资源列表中查找目标数据库客户端对应的条目。
优选地,目标数据库客户端可以是由唯一的哈希值表示的。
优选地,目标数据库客户端支持使用第二编程语言的访问;并且第一编程语言的内核兼容第二编程语言。
优选地,使用第一编程语言通过查找到的目标数据库客户端访问目标数据库的步骤可以包括:通过目标数据库客户端对目标数据库进行读和/或写操作。
优选地,读和/或写操作可以包括:将使用目标数据库客户端对目标数据库进行读和/或写操作得到的结果封装成变量返还给第一编程语言。
根据本发明的另一个方面,还提供了一种目标数据库访问系统,包括:第一编程语言的内核和扩展;查找模块,用于在第一编程语言的扩展中查找目标数据库客户端;以及访问模块,用于使用第一编程语言通过查找到的目标数据库客户端访问目标数据库。
优选地,该目标数据库访问系统还可以包括:注册模块,用于在扩展中没有查找到目标数据库客户端的情况下,将目标数据库客户端注册至扩展。
优选地,该目标数据库访问系统还可以包括:删除模块,用于在访问结束后,从扩展中删除目标数据库客户端。
优选地,访问模块将使用目标数据库客户端对目标数据库进行读和/或写操作得到的结果封装成变量返还给第一编程语言。
综上,本发明的目标数据库访问方法与系统,对于数据库没有为其设计相应数据访问接口的第一编程语言,可以根据第一编程语言的内核兼容特性,从数据库支持的编程语言对应的客户端中选取第一编程语言兼容的客户端进行封装,以实现第一编程语言的扩展,该扩展使得第一编程语言可以如同数据库原本支持的编程语言一样,从目标数据库直接存取数据。由此,第一编程语言开发者在需要访问目标数据库时,就可以利用第一编程语言的扩展中用于实现目标数据库的访问功能的客户端,直接从目标数据库存取数据。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是示出了目前PHP访问Tair的实现流程示意图。
图2示出了PHP的内部构成示意图。
图3是示出利用本发明后的PHP访问Tair的实现流程示意图。
图4是示出了根据本发明一实施例的目标数据库访问方法的示意性流程图。
图5是示出了一具体实施例下的基于第一编程语言访问目标数据库的流程示意图。
图6是示出了根据本发明一实施例的目标数据库访问系统的结构的示意性方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
如背景技术部分所述,本发明主要是针对数据库的跨语言访问障碍提出了一种解决方案,为了更好地理解本发明的解决方案的实现原理,下面以Tair数据库为例进行说明,应该知道对于其它来类型的数据库也可以参考下文的描述机理执行相应的处理,以解决跨语言访问障碍。
Tair是一种高性能、分布式的key/value数据存储系统,其提供了java和c语言的访问接口,使得java和c语言可以通过对应的客户端直接访问Tair,但是对于其它编程语言例如PHP(Hypertext Preprocessor,超文本预处理器,一种计算机编程语言),则无法直接使用Tair数据库进行数据存取。所以其它编程语言往往需要通过第三方的代理服务来访问Tair。图1是示出了PHP访问Tair的实现流程示意图。如图1所示,PHP需要向第三方的代理服务发出请求,通过第三方的代理服务访问Tair数据库获取数据,然后再将数据返回给PHP,实现过程较为繁琐。
为此,本申请发明人在深入研究后发现,针对Tair未提供数据访问接口的编程语言(为了便于描述,下面称为第一编程语言),可以根据第一编程语言的内核兼容特性,从Tair支持的编程语言对应的客户端中选取其兼容的客户端进行封装,以实现第一编程语言的扩展,该扩展使得第一编程语言可以与数据库原本支持的编程语言一样,从目标数据库直接存取数据。
下面以第一编程语言为PHP为例,就PHP的扩展实现过程进行示意性说明,应该知道,对于其它类型的第一编程语言,可以参考PHP的扩展实现机理,并结合其具体语言特性以实现扩展。
图2示出了PHP的内部构成示意图。如图2所示,PHP所有的部分都处在一个被称为TSRM的层中,TSRM为线程安全资源管理器(Thread Safe Resource Manager)。
最底下的SAPI是对外提供服务的接口,中间是PHP内核(PHP Core)和Zend引擎。从图2中的文字可以看出,PHP内核负责请求管理/网络和文件操作,Zend引擎则负责编译和执行/内存和资源的分配。在所有这些之上,是扩展层(Extensions),PHP中多数对外接口都是通过扩展层来提供的,例如standard、string等语言基础也被以扩展形式提供。
Zend引擎整体用c语言实现,是PHP的底层内核部分,它将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、内存分配及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕zend实现。
由于PHP的Zend引擎整体由c语言实现,并在底层内核之上提供了能够实现扩展功能的扩展接口,因此可以通过c语言构建类库以实现PHP扩展,而Tair提供了针对c语言的数据访问接口,使得c语言可以通过相应的客户端直接访问Tair。所以可以将c语言客户端通过扩展的方式内嵌到PHP中,即可以将c语言客户端封装成PHP的扩展,由此可以实现将Tair的数据存取的功能封装成PHP函数提供给普通的第PHP开发者使用,如此PHP开发者可以直接通过PHP函数访问Tair,而不必再依赖于第三方的代理服务。如图3所示,在实现效果上,PHP与Tair支持的java和c语言基本相同,就如同PHP原生支持Tair一样。
综上,对于数据库没有为其设计相应数据访问接口的第一编程语言,可以根据第一编程语言的内核兼容特性,从数据库支持的编程语言对应的客户端中选取第一编程语言兼容的客户端进行封装,以实现第一编程语言的扩展,该扩展使得第一编程语言可以如同数据库原本支持的编程语言一样,从目标数据库直接存取数据。由此,第一编程语言开发者可以通过第一编程语言的扩展直接访问数据库,从而可以解决数据库的跨语言访问障碍,另外由于数据库的接口设计逻辑没有进行任何更改,因此在不增加数据库的接口设计复杂度的同时,还可以提高数据库可支持编程语言的种类,从而也可以增大数据库的应用范围、提升数据库的竞争力。
需要说明的是,针对同一第一编程语言,可以对其进行针对多个不同数据库的扩展,以使得该第一编程语言可以基于扩展对多个原本不支持的数据库直接进行数据访问。
至此,就本发明的跨语言访问障碍的解决方案的实现原理做了简要说明。在利用本发明对第一编程语言进行扩展后,第一编程语言开发者就可以基于扩展直接对数据库的数据进行存取,下面结合具体实施例就利用第一编程语言的扩展访问数据库的过程进行说明。
实施例一
图4是示出了根据本发明一实施例的目标数据库访问方法的示意性流程图。
参见图4,在步骤S410,在第一编程语言的扩展中查找目标数据库客户端。
此处的第一编程语言与上文述及的第一编程语言相同,为目标数据库原本不支持的编程语言,也就是目标数据库未提供相应类型的数据访问接口的编程语言。例如,以目标数据库为Tair数据库为例,目前Tair仅支持java和c语言,因此java和c语言之外的PHP等编程语言即为第一编程语言。
如前文所述,可以根据第一编程语言的内核兼容特性,从数据库支持访问的编程语言(为了便于区分,可以称为第二编程语言)对应的客户端中选取第一编程语言兼容的客户端进行封装,以实现第一编程语言的扩展。因此可以认为第一编程语言的扩展中封装着用于实现目标数据库的访问功能的客户端,由此,可以响应于第一编程语言开发者的数据读取请求,在第一编程语言的扩展中查找数据读取请求所针对的目标数据库所对应的扩展,即目标数据库客户端。
在步骤S420,使用第一编程语言通过查找到的目标数据库客户端访问目标数据库。
所查找到的目标数据库客户端可以实现目标数据库的数据存取功能,因此在查找到相应的目标数据库客户端后,就可以直接通过目标数据库客户端访问目标数据库。
另外,在扩展中没有查找到目标数据库客户端的情况下,表明第一编程语言与目标数据库间还存在着跨语言访问障碍,此时可以对第一编程语言进行扩展以将目标数据库客户端注册至扩展。其中,对第一编程语言进行扩展的具体实现过程可以参见上文相关说明,这里不再赘述。进一步地,在访问结束后,还可以从扩展中删除目标数据库客户端。
在本实施例中,针对第一编程语言,还可以维护一个资源列表,资源列表中可以记录有与第一编程语言的各个扩展相对应的条目。由此,在查找目标数据库客户端时,就可以在资源列表中查找目标数据库客户端对应的条目。其中,目标数据库客户端可以是由唯一的哈希值表示,哈希值可以是参考数据库的信息计算得到的。此时,将目标数据库客户端注册至扩展时,还可以将目标数据库客户端的条目记录在资源列表中,在删除目标数据库客户端时,可以一并删除资源列表中对应于目标数据库客户端的条目。
实施例二
图5是示出了一具体实施例下的基于第一编程语言访问目标数据库的流程示意图。
在本实施例中,针对第一编程语言,可以维护一个资源列表,优选地,所维护的资源列表可以是持久化资源列表。资源列表中记录着客户端对象与数据库之间的关联关系,其中,第一编程语言的扩展中用于实现数据库的访问的扩展可以视为客户端对象。具体实现上,可以根据数据库信息构建用于标识数据库的哈希字符串,然后将客户端对象和哈希字符串关联地保存在资源列表中。
如前文所述,针对同一第一编程语言,可以对其进行针对多个不同数据库的扩展,以使得该第一编程语言可以基于多个扩展对多个原本不支持的数据库直接进行数据访问。因此,针对第一编程语言维护的资源列表中可以记录有多个客户端对象中每个客户端对象和与其对应的数据库的关联关系。
参见图5,响应于数据存取请求,可以执行步骤S510,构建用于标识目标数据库的哈希字符串。以Tair数据库为例,可以根据Tair数据库的IP地址、端口、area、group等信息构建哈希字符串。作为本发明的一个示例,可以使用“PHP_kvclient_descriptor:ip列表-area信息-group信息”构建方式构建哈希字符串。假设Tair的IP地址为11.251.178.26,11.251.178.27,area为10,group为group_1,那么使用上述构建方式构建的哈希字符串为:'PHP_kvclient_descriptor:[11.251.178.26,11.251.178.27]-10-group_1'。
然后可以根据构建的哈希字符串在资源列表中进行查找,以确定资源列表中是否存在与构建的哈希字符串对应的客户端对象(步骤S520)。
在资源列表中查找到与构建的哈希字符串对应的客户端对象的情况下,表明第一编程语言的扩展中具有针对目标数据库的扩展,即第一编程语言的扩展中封装了用于访问目标数据库的客户端对象。此时可以执行步骤S550,基于查找到的客户端对象对目标数据库进行读写操作。
在资源列表中未查找到与构建的哈希字符串对应的客户端对象的情况下,有两种情形,一种是第一编程语言的扩展中没有针对目标数据库的扩展,另一种是第一编程语言的扩展中具有针对目标数据库的扩展,但是该扩展对应的客户端对象之前未被使用,客户端对象和哈希字符串的关联关系还没有保存在资源列表中。
针对第一种情形,可以将目标数据库所支持的编程语言客户端封装成第一编程语言的扩展,以使得第一编程语言的扩展中存在着对应于目标数据库的数据访问接口的客户端(客户端对象),然后就可以构建目标数据库的哈希字符串,将构建得到的哈希字符串与客户端对象关联地保存在资源列表中。
针对第二种情形,可以根据目标数据库的IP、端口等信息在第一编程用于的扩展中查找到对应的客户端对象,然后将步骤S510构建得到的哈希字符串和在扩展中查找到的客户端对象关联地保存到资源列表中,即步骤S530,将客户端对象和哈希字符串注册到资源列表中。由此,在后续读取时,可以直接从资源列表中查找对应的客户端对象,避免每次从扩展中进行查找。
最后可以执行步骤S540,基于客户端对象对目标数据库进行读和/或写操作。读和/或写操作包括将使用目标数据库客户端对目标数据库进行读和/或写操作得到的结果封装成变量返还给第一编程语言。
由此,通过将第一编程语言的扩展中用于实现数据库的访问的客户端和数据库之间的关联关系保存在资源列表中,第一编程语言开发者在需要访问数据库时,就可以根据资源列表直接找到扩展中用于实现数据库的访问功能的客户端,从而可以提高数据访问效率。
另外,在使用完毕后还可以删除客户端对象,此处述及的删除可以是仅删除资源列表中记录的客户端对象的关联关系,也可以是连同第一编程语言中表征客户端对象的扩展一并删除。
实施例三
图6是示出了根据本发明一实施例的目标数据库访问系统的结构的示意性方框图。其中,目标数据库访问系统600的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图6所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面仅就目标数据库访问系统600可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图4、图5的描述,这里不再赘述。
参见图6,目标数据库访问系统600包括第一编程语言的内核和扩展610、查找模块620以及访问模块630。在一个实施例中,该目标数据库访问系统600可以就是单纯由第一编程语言实现的系统。
查找模块620用于在第一编程语言的扩展中查找目标数据库客户端,访问模块630用于使用第一编程语言通过查找到的目标数据库客户端访问目标数据库。
访问模块630可以将使用目标数据库客户端对目标数据库进行读和/或写操作得到的结果封装成变量返还给第一编程语言。
参见图6,目标数据库访问系统600还可以可选地包括图中虚线框所示的注册模块640。注册模块640用于在扩展中没有查找到目标数据库客户端的情况下,将目标数据库客户端注册至扩展。
参见图6,目标数据库访问系统600还可以可选地包括图中虚线框所示的删除模块650。删除模块650用于在访问结束后,从扩展中删除目标数据库客户端。
上文中已经参考附图详细描述了根据本发明的目标数据库访问方法与系统。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (12)
1.一种目标数据库访问方法,包括:
在第一编程语言的扩展中查找目标数据库客户端,其中从目标数据库支持访问的编程语言对应的客户端中选取第一编程语言兼容的客户端进行封装,以实现所述第一编程语言的扩展;以及
使用所述第一编程语言通过查找到的所述目标数据库客户端访问所述目标数据库。
2.如权利要求1所述的方法,还包括:
在所述扩展中没有查找到所述目标数据库客户端的情况下,将所述目标数据库客户端注册至所述扩展。
3.如权利要求1所述的方法,还包括:
在所述访问结束后,从所述扩展中删除所述目标数据库客户端。
4.如权利要求1所述的方法,其中,在第一编程语言的扩展中查找目标数据库客户端包括:
在所述扩展的资源列表中查找所述目标数据库客户端对应的条目。
5.如权利要求4所述的方法,其中,所述目标数据库客户端是由唯一的哈希值表示的。
6.如权利要求1所述的方法,其中,所述目标数据库客户端支持使用第二编程语言的访问;并且
所述第一编程语言的内核兼容所述第二编程语言。
7.如权利要求1所述的方法,其中,使用所述第一编程语言通过查找到的所述目标数据库客户端访问所述目标数据库包括:
通过所述目标数据库客户端对所述目标数据库进行读和/或写操作。
8.如权利要求7所述的方法,其中,所述读和/或写操作包括:
将使用所述目标数据库客户端对所述目标数据库进行读和/或写操作得到的结果封装成变量返还给所述第一编程语言。
9.一种目标数据库访问系统,包括:
第一编程语言的内核和扩展;
查找模块,用于在所述第一编程语言的扩展中查找目标数据库客户端,其中从目标数据库支持访问的编程语言对应的客户端中选取第一编程语言兼容的客户端进行封装,以实现所述第一编程语言的扩展;以及
访问模块,用于使用所述第一编程语言通过查找到的所述目标数据库客户端访问所述目标数据库。
10.如权利要求9所述的系统,还包括:
注册模块,用于在所述扩展中没有查找到所述目标数据库客户端的情况下,将所述目标数据库客户端注册至所述扩展。
11.如权利要求9所述的系统,还包括:
删除模块,用于在所述访问结束后,从所述扩展中删除所述目标数据库客户端。
12.如权利要求9所述的系统,其中,所述访问模块将使用所述目标数据库客户端对所述目标数据库进行读和/或写操作得到的结果封装成变量返还给所述第一编程语言。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710445574.3A CN107203387B (zh) | 2017-06-13 | 2017-06-13 | 目标数据库访问方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710445574.3A CN107203387B (zh) | 2017-06-13 | 2017-06-13 | 目标数据库访问方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107203387A CN107203387A (zh) | 2017-09-26 |
CN107203387B true CN107203387B (zh) | 2020-12-29 |
Family
ID=59908113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710445574.3A Active CN107203387B (zh) | 2017-06-13 | 2017-06-13 | 目标数据库访问方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107203387B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448942B (zh) * | 2020-03-27 | 2022-07-22 | 阿里巴巴集团控股有限公司 | 数据库访问方法、装置、设备及存储介质 |
CN112910980B (zh) * | 2021-01-27 | 2022-11-15 | 中国银联股份有限公司 | 一种数据库访问系统和方法 |
CN115062092B (zh) * | 2022-08-10 | 2023-02-03 | 阿里云计算有限公司 | 数据库访问方法、设备、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014094059A1 (en) * | 2012-12-19 | 2014-06-26 | Proteum Software Pty Ltd | A database access system and method for a multi - tier computer architecture |
CN104008135A (zh) * | 2014-05-07 | 2014-08-27 | 南京邮电大学 | 一种多源异构数据库融合系统及其数据查询方法 |
CN104794147A (zh) * | 2013-12-30 | 2015-07-22 | 深圳键桥通讯技术股份有限公司 | 异构数据库访问方法 |
CN105872083A (zh) * | 2016-05-19 | 2016-08-17 | 湖州微未信息科技有限公司 | 一种支持不同类型客户端访问服务器的方法、服务器及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730478B2 (en) * | 2006-10-04 | 2010-06-01 | Salesforce.Com, Inc. | Method and system for allowing access to developed applications via a multi-tenant on-demand database service |
-
2017
- 2017-06-13 CN CN201710445574.3A patent/CN107203387B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014094059A1 (en) * | 2012-12-19 | 2014-06-26 | Proteum Software Pty Ltd | A database access system and method for a multi - tier computer architecture |
CN104794147A (zh) * | 2013-12-30 | 2015-07-22 | 深圳键桥通讯技术股份有限公司 | 异构数据库访问方法 |
CN104008135A (zh) * | 2014-05-07 | 2014-08-27 | 南京邮电大学 | 一种多源异构数据库融合系统及其数据查询方法 |
CN105872083A (zh) * | 2016-05-19 | 2016-08-17 | 湖州微未信息科技有限公司 | 一种支持不同类型客户端访问服务器的方法、服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107203387A (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
CN110865888B (zh) | 一种资源加载方法、装置、服务器及存储介质 | |
WO2020015190A1 (zh) | 业务规则的生成方法、电子装置及可读存储介质 | |
EP3975474B1 (en) | Methods and apparatuses for chaining service data | |
US7913265B2 (en) | Method of loading software with an intermediate object oriented language in a portable device | |
CN107203387B (zh) | 目标数据库访问方法与系统 | |
US10678482B2 (en) | Multi-tier data synchronizer based on concurrent linked list | |
US20150121533A1 (en) | Dynamic analysis interpreter modification for application dataflow | |
US7496926B2 (en) | Method and apparatus to encapsulate a queue in a namespace | |
JPH0877023A (ja) | ローカル・オブジェクト・アドレス及びグローバル・オブジェクト識別子を結合して単一オブジェクト・ポインタにするためのシステム | |
US8370824B2 (en) | Dynamic class loading | |
JP2002522842A5 (zh) | ||
KR102440128B1 (ko) | 통합된 객체 인터페이스를 위한 메모리 관리 장치, 시스템 및 그 방법 | |
US20100070524A1 (en) | Apparatus and method for parsing domain profile in software communication architecture | |
RU2348062C2 (ru) | Способ и устройство для динамического связывания/динамического разрешения путевых имен | |
US9854047B2 (en) | Service pool for multi-tenant applications | |
CN115203251A (zh) | 一种基于共享内存的本地数据库查询方法 | |
US7587421B2 (en) | Method, system, and article of manufacture for generating device specific requests | |
CN116954680A (zh) | 存储系统的插件更新方法、装置、设备、介质及程序产品 | |
CN110245027B (zh) | 一种进程间通信的方法和设备 | |
CN113722363B (zh) | 缓存公共组件及其实现、安装与运行方法 | |
CN109492020A (zh) | 一种数据缓存方法、装置、电子设备及存储介质 | |
US20040221021A1 (en) | High performance managed runtime environment application manager equipped to manage natively targeted applications | |
KR100634322B1 (ko) | 지리정보시스템의 공간 데이터 제공자 기반 버퍼관리 장치및 방법 | |
WO2005020074A1 (ja) | コンピュータシステム及びそれに用いるプログラム実行環境実現方法並びにそのプログラム |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200812 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 13 layer self unit 01 Applicant before: Guangdong Shenma Search Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |