CN108846129B - 存储数据访问方法、装置及存储介质 - Google Patents

存储数据访问方法、装置及存储介质 Download PDF

Info

Publication number
CN108846129B
CN108846129B CN201810709219.7A CN201810709219A CN108846129B CN 108846129 B CN108846129 B CN 108846129B CN 201810709219 A CN201810709219 A CN 201810709219A CN 108846129 B CN108846129 B CN 108846129B
Authority
CN
China
Prior art keywords
data
storage
storage data
database plug
pipeline
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
Application number
CN201810709219.7A
Other languages
English (en)
Other versions
CN108846129A (zh
Inventor
黄辉
胡彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810709219.7A priority Critical patent/CN108846129B/zh
Publication of CN108846129A publication Critical patent/CN108846129A/zh
Application granted granted Critical
Publication of CN108846129B publication Critical patent/CN108846129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种存储数据访问方法,其包括:获取存储数据访问请求,并根据存储数据访问请求触发对应的数据库插件;根据预设的系统映射表,获取数据库插件对应的用于访问存储数据的访问服务器;基于数据库插件的数据管道初始化函数,创建用于传输存储数据的数据管道;基于数据库插件的存储数据获取函数,通过数据管道从所述访问服务器获取存储数据。本发明还提供一种存储数据访问装置,本发明通过数据库插件创建数据管道来传输存储数据,从而不需要对存储数据进行过渡存储;因此数据访问过程占用的网络带宽较少,提高了数据更新的实时性且提高了数据访问的效率。

Description

存储数据访问方法、装置及存储介质
技术领域
本发明涉及数据处理领域,特别是涉及一种存储数据访问方法、装置及存储介质。
背景技术
PostgreSQL数据库是一个功能强大的开源对象关系数据库管理系统,用于安全地存储数据,并允许在处理请求时检索这些数据。
但是PostgreSQL数据库本身没有提供直接访问外部对象存储数据的方法,仅提供了“COPY”、“INSERT INTO”这样的命令将外部文本或者格式化数据导入。目前要实现外部对象存储数据的访问操作,只能先将外部对象存储数据导入到PostgreSQL数据库中,然后再访问PostgreSQL数据库中的数据。
并且PostgreSQL数据库的数据导入也不能直接通过“COPY”等命令直接执行,只能通过搭建一个文件中转平台来实现。因此现有的PostgreSQL数据库中的外部对象存储数据访问方法包括如下缺点:
一、文件中转平台的存储容量受到对象存储文件大小的影响,文件中转平台必须要能够存储下最大的外部对象存储文件,如用户保存的外部对象存储文件的数据量比较大,则需要定时对文件中转平台中的过期文件进行删除操作,以避免磁盘容量不足。
二、从外部对象存储文件到PostgreSQL数据库,数据流动链路较长,数据在中间需要经过两次传输,网络带宽占用较多,数据更新实时性较差。
三、当有多个PostgreSQL数据库同时访问外部对象存储文件时,文件中转平台容易成为瓶颈,从而影响PostgreSQL数据库的外部对象存储数据的访问效率。
发明内容
本发明实施例提供一种占用网络带宽较少、数据更新实时性较好以及数据访问效率较高的存储数据访问方法以及存储数据访问装置;以解决现有的存储数据访问方法及存储数据访问装置占用网络带宽较多、数据更新实时性较差以及数据访问效率较低的技术问题。
本发明实施例提供一种存储数据访问方法,其包括:
接收存储数据访问请求,根据所述存储数据访问请求触发对应的数据库插件,其中所述数据库插件包括数据管道初始化函数和存储数据获取函数;
根据预设的系统映射表,确定所述数据库插件对应的用于访问存储数据的访问服务器,其中所述系统映射表用于记录所述访问服务器与所述数据库插件的对应关系;
基于所述数据库插件的数据管道初始化函数,创建用于传输所述存储数据的数据管道;以及
基于所述数据库插件的存储数据获取函数,通过所述数据管道从所述访问服务器获取所述存储数据。
本发明实施例还提供一种存储数据访问装置,其包括:
数据库插件触发模块,用于接收存储数据访问请求,根据所述存储数据访问请求触发对应的数据库插件,其中所述数据库插件包括数据管道初始化函数和存储数据获取函数;
访问服务器获取模块,用于根据预设的系统映射表,确定所述数据库插件对应的用于访问存储数据的访问服务器,其中所述系统映射表用于记录所述访问服务器与所述数据库插件的对应关系;
数据管道创建模块,用于基于所述数据库插件的数据管道初始化函数,创建用于传输所述存储数据的数据管道;以及
存储数据获取模块,用于基于所述数据库插件的存储数据获取函数,通过所述数据管道从所述访问服务器获取所述存储数据。
本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述的存储数据访问方法。
相较于现有技术,本发明的存储数据访问方法及存储数据访问装置通过数据库插件创建数据管道来传输存储数据,从而不需要对存储数据进行过渡存储;因此数据访问过程占用的网络带宽较少,提高了数据更新的实时性且提高了数据访问的效率;有效的解决了现有的存储数据访问方法及存储数据访问装置占用网络带宽较多、数据更新实时性较差以及数据访问效率较低的技术问题。
附图说明
图1为本发明的存储数据访问方法的第一实施例的流程图;
图2为本发明的存储数据访问方法的第二实施例的流程图;
图3为本发明的存储数据访问方法的第二实施例的步骤S205的流程图;
图4为本发明的存储数据访问装置的第一实施例的结构示意图;
图5为本发明的存储数据访问装置的第二实施例的结构示意图;
图6为本发明的存储数据访问装置的第二实施例的数据管道创建模块的结构示意图;
图7a为本发明的存储数据访问方法及存储数据访问装置的具体实施例的结构示意图;
图7b为本发明的存储数据访问方法及存储数据访问装置的具体实施例的数据访问流程示意图;
图8为本发明的存储数据访问装置所在的电子设备的工作环境结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的存储数据访问方法及存储数据访问装置可设置在任何的电子设备中,用于对存储数据,尤其是对象存储数据进行获取访问操作。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA,Personal Digital Assistant)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该电子设备优选为进行存储数据访问的数据服务器或终端,该数据服务器或终端通过数据库插件创建数据管道来传输存储数据,减少了数据访问过程的占用的网络带宽、提高了数据更新的实时性以及提高了数据访问的效率。
请参照图1,图1为本发明的存储数据访问方法的第一实施例的流程图。本实施例的存储数据访问方法可使用上述的电子设备进行实施,本实施例的存储数据访问方法包括:
步骤S101,接收存储数据访问请求,根据存储数据访问请求触发对应的数据库插件,其中数据库插件包括数据管道初始化函数和存储数据获取函数;
步骤S102,根据预设的系统映射表,确定数据库插件对应的用于访问存储数据的访问服务器,其中系统映射表用于记录访问服务器与数据库插件的对应关系;
步骤S103,基于数据库插件的数据管道初始化函数,创建用于传输存储数据的数据管道;
步骤S104,基于数据库插件的存储数据获取函数,通过数据管道从访问服务器获取存储数据。
下面详细说明本实施例的存储数据访问方法的存储数据访问过程。
在步骤S101中,存储数据访问装置接收存储数据访问请求,该存储数据访问请求为用户请求访问某个存储数据,尤其是对象存储数据的请求。其中对象存储数据为一种可存储海量数据的分布式存储数据,其具有高扩展性、低成本以及高可靠性等特点。
随后存储数据访问装置根据存储数据访问请求触发对应的数据库插件。这里的数据库插件为用于通过数据管道实时获取存储数据的插件,由于该数据库插件可通过数据管道实时访问存储数据,因此不需要对存储数据进行转存操作。该数据库插件包括用于对数据管道进行创建以及初始化的数据管道初始化函数以及用于通过数据管道获取存储数据的存储数据获取函数。
在步骤S102中,存储数据访问装置获取预设的系统映射表,该系统映射表用于记录访问服务器与数据库插件的对应关系。
随后存储数据访问装置根据该系统映射表,确定数据库插件对应的用于访问存储数据的访问服务器,由于存储数据,尤其是对象存储数据无法通过数据库插件直接访问,因此这里需要设置一访问服务器,以便数据库插件通过访问服务器访问对应的存储数据。
在步骤S103中,存储数据访问装置通过访问服务器确定存储数据后,基于数据库插件的数据管道初始化函数,创建用于传输存储数据的数据管道,这里的数据管道仅用于传输存储数据,并不对存储数据进行转存操作。
在步骤S104中,存储数据访问装置基于数据库插件的存储数据获取函数,通过步骤S103创建的数据管道,从访问服务器获取对应的存储数据。
这样即完成了本实施例的存储数据访问方法的存储数据访问过程。
本实施例的存储数据访问方法通过数据库插件创建数据管道来传输存储数据,从而不需要对存储数据进行过渡存储;因此数据访问过程占用的网络带宽较少,提高了数据更新的实时性且提高了数据访问的效率。
请参照图2,图2为本发明的存储数据访问方法的第二实施例的流程图。本实施例的存储数据访问方法可使用上述的电子设备进行实施,本实施例的存储数据访问方法包括:
步骤S201,基于存储数据创建对应的数据库插件;
步骤S202,基于存储数据的地址创建对应的访问服务器,并基于访问服务器与数据库插件的对应关系创建系统映射表;
步骤S203,接收存储数据访问请求,根据存储数据访问请求触发对应的数据库插件,其中数据库插件包括数据管道初始化函数、存储数据获取函数以及数据管道释放函数;
步骤S204,根据预设的系统映射表,确定数据库插件对应的用于访问存储数据的访问服务器,其中系统映射表用于记录访问服务器与数据库插件的对应关系;
步骤S205,基于数据库插件的数据管道初始化函数,创建用于传输存储数据的数据管道;
步骤S206,基于数据库插件的存储数据获取函数,通过数据管道从访问服务器获取存储数据;
步骤S207,基于数据管道释放函数,将数据管道的占用资源释放。
下面详细说明本实施例的存储数据访问方法的存储数据访问过程。
在步骤S201中,存储数据访问装置基于需要访问的存储数据创建对应的数据库插件,以使得通过数据库插件可访问到对应的存储数据。这里的存储数据可为对象存储数据,数据库插件可为PostgreSQL数据库的外部数据包装器插件。
具体的,存储数据访问装置创建数据库插件时,会设置数据库插件的配置文件,该配置文件包括执行数据库插件功能的插件功能处理函数的地址以及用于校验对应的访问服务器的参数的参数校验函数的地址。
这里的数据库插件可通过调用插件功能处理函数实现数据库插件的数据传输以及数据管道创建等功能。数据库插件可通过调用参数校验函数来校验访问服务器上的设置参数是否正确有效。
为了进一步提高存储数据访问的安全性,这里存储数据访问装置可基于存储数据以及接口秘钥创建对应的数据库插件,这样数据库插件可通过接口秘钥来保证数据访问的安全性。
在步骤S202中,存储数据访问装置基于需要访问的存储数据的地址创建对应的访问服务器,该访问服务器可通过存储数据的地址读取到存储数据。这样存储数据访问装置可根据数据库插件对应的存储数据以及访问服务器对应的存储数据设置访问服务器与数据库插件的对应关系。随后存储数据访问装置基于访问服务器以及步骤S201创建的数据库插件的对应关系创建系统映射表。
这里的访问服务器至少需要指定服务器地址host、对应的存储数据的存储桶Bucket、用于确认接口调用者身份的接口调用秘钥编号SecretId、用于秘钥验证操作的秘钥键SecretKey以及存储文件的文件地址filepath。
每个数据库插件可以对应多个访问服务器,即多个存储数据的存储桶;每个访问服务器也可以对应多个数据库插件。
在步骤S203中,存储数据访问装置获取存储数据访问请求,该存储数据访问请求为用户请求访问某个存储数据,尤其是对象存储数据的请求,如PostgreSQL数据访问请求。
随后存储数据访问装置根据存储数据访问请求触发步骤S201中创建的数据库插件。这里的数据库插件为用于通过数据管道实时获取存储数据的插件,由于该数据库插件可通过数据管道实时访问存储数据,因此不需要对存储数据进行转存操作。该数据库插件包括用于对数据管道进行创建以及初始化的数据管道初始化函数、用于通过数据管道获取存储数据的存储数据获取函数、以及用于释放数据管道的数据管道释放函数。
在步骤S204中,存储数据访问装置获取步骤S202中创建的系统映射表,该系统映射表用于记录访问服务器与数据库插件的对应关系。
随后存储数据访问装置根据该系统映射表,获取数据库插件对应的用于访问存储数据的访问服务器,由于存储数据,尤其是对象存储数据无法通过数据库插件直接访问,因此这里需要设置一访问服务器,以便数据库插件通过访问服务器访问对应的存储数据。
在步骤S205中,存储数据访问装置通过访问服务器确定存储数据后,基于数据库插件的数据管道初始化函数,如函数BeginForeignScan,创建用于传输存储数据的数据管道;可通过
fdwroutine->BeginForeignScan=cosBeginForeignScan的方式对该数据管道初始化函数进行注册。这里的数据管道仅用于传输存储数据,并不对存储数据进行转存操作。
具体请参见图3,图3为本发明的存储数据访问方法的第二实施例的步骤S205的流程图。该步骤S205包括:
步骤S301,存储数据访问装置基于存储数据访问请求的进程编号,创建数据管道,以保证数据管道的唯一性。
如在步骤S201中存储数据访问装置基于存储数据以及接口秘钥创建对应的数据库插件,则在本步骤中,存储数据访问装置可根据接口秘钥生成对应的签名字符串,以便存储数据对应的服务器对访问请求进行签名验证。该签名字符串可包括用户账号APPID、接口调用秘钥编号SecretId以及秘钥键SecretKey等。这样存储数据访问装置可基于存储数据访问请求的进程编号以及该签名字符串,创建数据管道。
步骤S302,存储数据访问装置在步骤S301创建的数据管道的输入端口设置存储数据调用方式,如curl的对象调用方式等,以便数据管道的输入端口使用该存储数据调用方式从访问服务器获取存储数据。
步骤S303,存储数据访问装置使用copy函数,将数据管道的输出端口与存储数据访问装置的数据获取端口绑定,以便数据管道的输出端口向数据获取端口输出存储数据。
将数据管道的输入端口和输出端口设置好之后即完成了数据管道的创建操作。
在步骤S206中,存储数据访问装置基于数据库插件的存储数据获取函数,如函数IterateForeignScan,通过步骤S103创建的数据管道,从访问服务器获取对应的存储数据。可通过fdwroutine->IterateForeignScan=cosIterateForeignScan的方式对该数据管道初始化函数进行注册。
存储数据获取函数可从访问服务器获取行数据,并以元组表的方式返回至存储数据访问装置,存储数据访问装置可通过NextCopyFrom函数持续获取数据。
在步骤S207中,存储数据访问装置基于数据库插件的数据管道释放函数,如函数EndForeignScan,将数据管道的占用资源释放。可通过fdwroutine->EndForeignScan=cosEndForeignScan的方式对数据管道释放函数进行注册。
当存储数据访问完毕后,存储数据访问装置可调用数据管道释放函数释放相关的占用资源。
这样即完成了本实施例的存储数据访问方法的存储数据访问过程。
在第一实施例的基础上,本实施例的存储数据访问方法基于存储数据预先创建数据库插件、访问服务器以及系统映射表,进一步提高了存储数据访问的效率;数据管道的输入端口以及输出端口的设置可以进一步提高数据管道的数据传输的稳定性。数据管道释放函数的设置进一步提高了对应的系统资源的使用效率。
本发明还提供一种存储数据访问装置,请参照图4,图4为本发明的存储数据访问装置的第一实施例的结构示意图。本实施例的存储数据访问装置可使用上述的存储数据访问方法的第一实施例进行实施,本实施例的存储数据访问装置40包括数据库插件触发模块41、访问服务器获取模块42、数据管道创建模块43以及存储数据获取模块44。
数据库插件触发模块41用于接收存储数据访问请求,根据存储数据访问请求触发对应的数据库插件,其中数据库插件包括数据管道初始化函数和存储数据获取函数;访问服务器获取模块42用于根据预设的系统映射表,确定数据库插件对应的用于访问存储数据的访问服务器,其中系统映射表用于记录访问服务器与数据库插件的对应关系;数据管道创建模块43用于基于数据库插件的数据管道初始化函数,创建用于传输存储数据的数据管道;存储数据获取模块44用于基于数据库插件的存储数据获取函数,通过数据管道从访问服务器获取存储数据。
本实施例的存储数据访问装置40使用时,首先数据库插件触发模块41接收存储数据访问请求,该存储数据访问请求为用户请求访问某个存储数据,尤其是对象存储数据的请求。其中对象存储数据为一种可存储海量数据的分布式存储数据,其具有高扩展性、低成本以及高可靠性等特点。
随后数据库插件触发模块根据存储数据访问请求触发对应的数据库插件。这里的数据库插件为用于通过数据管道实时获取存储数据的插件,由于该数据库插件可通过数据管道实时访问存储数据,因此不需要对存储数据进行转存操作。该数据库插件包括用于对数据管道进行创建以及初始化的数据管道初始化函数以及用于通过数据管道获取存储数据的存储数据获取函数。
随后访问服务器获取模块42获取预设的系统映射表,该系统映射表用于记录访问服务器与数据库插件的对应关系。
随后访问服务器获取模块42根据该系统映射表,确定数据库插件对应的用于访问存储数据的访问服务器,由于存储数据,尤其是对象存储数据无法通过数据库插件直接访问,因此这里需要设置一访问服务器,以便数据库插件通过访问服务器访问对应的存储数据。
然后数据管道创建模块43通过访问服务器确定存储数据后,基于数据库插件的数据管道初始化函数,创建用于传输存储数据的数据管道,这里的数据管道仅用于传输存储数据,并不对存储数据进行转存操作。
最后存储数据获取模块44基于数据库插件的存储数据获取函数,通过数据管道从访问服务器获取对应的存储数据。
这样即完成了本实施例的存储数据访问装置40的存储数据访问过程。
本实施例的存储数据访问装置通过数据库插件创建数据管道来传输存储数据,从而不需要对存储数据进行过渡存储;因此数据访问过程占用的网络带宽较少,提高了数据更新的实时性且提高了数据访问的效率。
请参照图5,图5为本发明的存储数据访问装置的第二实施例的结构示意图。本实施例的存储数据访问装置可使用上述的存储数据访问方法的第二实施例进行实施,本实施例的存储数据访问装置50包括数据库插件创建模块51、系统映射表创建模块52、数据库插件触发模块53、访问服务器获取模块54、数据管道创建模块55、存储数据获取模块56以及数据管道释放模块57。
数据库插件创建模块51用于基于存储数据创建对应的数据库插件;系统映射表创建模块52用于基于存储数据的地址创建对应的访问服务器,并基于访问服务器与数据库插件的对应关系创建系统映射表;数据库插件触发模块53用于接收存储数据访问请求,并根据所述存储数据访问请求触发对应的数据库插件,其中所述数据库插件包括数据管道初始化函数、存储数据获取函数以及数据管道释放函数;访问服务器获取模块54用于根据预设的系统映射表,确定数据库插件对应的用于访问存储数据的访问服务器,其中系统映射表用于记录访问服务器与所述数据库插件的对应关系;数据管道创建模块55用于基于数据库插件的数据管道初始化函数,创建用于传输存储数据的数据管道;存储数据获取模块56用于基于所述数据库插件的存储数据获取函数,通过数据管道从访问服务器获取存储数据;数据管道释放模块57用于基于数据管道释放函数,将数据管道的占用资源释放。
请参照图6,图6为本发明的存储数据访问装置的第二实施例的数据管道创建模块的结构示意图。该数据管道创建模块57包括签名验证单元61、数据管道创建单元62、输入端口设置单元63以及输出端口设置单元64。
签名验证单元61用于根据接口秘钥生成签名字符串,以便存储数据对应的服务器对访问请求进行签名验证;数据管道创建单元62用于基于存储数据访问请求的进程编号、和/或签名字符串,创建数据管道;输入端口设置单元63用于在数据管道的输入端口设置存储数据调用方式,以便数据管道的输入端口从访问服务器获取所述存储数据;输出端口设置单元64用于使用copy函数,将数据管道的输出端口与数据获取端口绑定,以便数据管道的输出端口向数据获取端口输出存储数据。
本实施例的存储数据访问装置57使用时,首先数据库插件创建模块51基于需要访问的存储数据创建对应的数据库插件,以使得通过数据库插件可访问到对应的存储数据。这里的存储数据可为对象存储数据,数据库插件可为PostgreSQL数据库的外部数据包装器插件。
具体的,数据库插件创建模块51创建数据库插件时,会设置数据库插件的配置文件,该配置文件包括执行数据库插件功能的插件功能处理函数的地址以及用于校验对应的访问服务器的参数的参数校验函数的地址。
这里的数据库插件可通过调用插件功能处理函数实现数据库插件的数据传输以及数据管道创建等功能。数据库插件可通过调用参数校验函数来校验访问服务器上的设置参数是否正确有效。
为了进一步提高存储数据访问的安全性,这里数据库插件创建模块可基于存储数据以及接口秘钥创建对应的数据库插件,这样数据库插件可通过接口秘钥来保证数据访问的安全性。
随后系统映射表创建模块52基于需要访问的存储数据的地址创建对应的访问服务器,该访问服务器可通过存储数据的地址读取到存储数据。这样存储数据访问装置可根据数据库插件对应的存储数据以及访问服务器对应的存储数据设置访问服务器与数据库插件的对应关系。随后系统映射表创建模块基于访问服务器以及数据库插件的对应关系创建系统映射表。
这里的访问服务器至少需要指定服务器地址host、对应的存储数据的存储桶Bucket、用于确认接口调用者身份的接口调用秘钥编号SecretId、用于秘钥验证操作的秘钥键SecretKey以及存储文件的文件地址filepath。
每个数据库插件可以对应多个访问服务器,即多个存储数据的存储桶;每个访问服务器也可以对应多个数据库插件。
然后数据库插件触发模块53获取存储数据访问请求,该存储数据访问请求为用户请求访问某个存储数据,尤其是对象存储数据的请求,如PostgreSQL数据访问请求。
随后数据库插件触发模块53根据存储数据访问请求触发数据库插件创建模块创建的数据库插件。这里的数据库插件为用于通过数据管道实时获取存储数据的插件,由于该数据库插件可通过数据管道实时访问存储数据,因此不需要对存储数据进行转存操作。该数据库插件包括用于对数据管道进行创建以及初始化的数据管道初始化函数、用于通过数据管道获取存储数据的存储数据获取函数、以及用于释放数据管道的数据管道释放函数。
然后访问服务器获取模块54获取系统映射表创建模块52创建的系统映射表,该系统映射表用于记录访问服务器与数据库插件的对应关系。
随后访问服务器获取模块54根据该系统映射表,获取数据库插件对应的用于访问存储数据的访问服务器,由于存储数据,尤其是对象存储数据无法通过数据库插件直接访问,因此这里需要设置一访问服务器,以便数据库插件通过访问服务器访问对应的存储数据。
然后数据管道创建模块55通过访问服务器确定存储数据后,基于数据库插件的数据管道初始化函数,如函数BeginForeignScan,创建用于传输存储数据的数据管道;可通过
fdwroutine->BeginForeignScan=cosBeginForeignScan的方式对该数据管道初始化函数进行注册。这里的数据管道仅用于传输存储数据,并不对存储数据进行转存操作。
具体流程包括:
数据管道创建模块55的数据管道创建单元62基于存储数据访问请求的进程编号,创建数据管道,以保证数据管道的唯一性。
如基于存储数据以及接口秘钥创建对应的数据库插件,则数据管道创建模块55的签名验证单元61可根据接口秘钥生成对应的签名字符串,以便存储数据对应的服务器对访问请求进行签名验证。该签名字符串可包括用户账号APPID、接口调用秘钥编号SecretId以及秘钥键SecretKey等。这样数据管道创建单元可基于存储数据访问请求的进程编号以及该签名字符串,创建数据管道。
数据管道创建模块55的输入端口设置单元63在数据管道的输入端口设置存储数据调用方式,如curl的对象调用方式等,以便数据管道的输入端口使用该存储数据调用方式从访问服务器获取存储数据。
数据管道创建模块55的输出端口设置单元64使用copy函数,将数据管道的输出端口与存储数据访问装置的数据获取端口绑定,以便数据管道的输出端口向数据获取端口输出存储数据。
将数据管道的输入端口和输出端口设置好之后即完成了数据管道的创建操作。
随后存储数据获取模块56基于数据库插件的存储数据获取函数,如函数IterateForeignScan,通过数据管道从访问服务器获取对应的存储数据。可通过fdwroutine->IterateForeignScan=cosIterateForeignScan的方式对该数据管道初始化函数进行注册。
存储数据获取函数可从访问服务器获取行数据,并以元组表的方式返回至存储数据访问装置,存储数据访问装置可通过NextCopyFrom函数持续获取数据。
最后数据管道释放模块57基于数据库插件的数据管道释放函数,如函数EndForeignScan,将数据管道的占用资源释放。可通过fdwroutine->EndForeignScan=cosEndForeignScan的方式对数据管道释放函数进行注册。
当存储数据访问完毕后,数据管道释放模块57可调用数据管道释放函数释放相关的占用资源。
这样即完成了本实施例的存储数据访问装置50的存储数据访问过程。
在第一实施例的基础上,本实施例的存储数据访问装置基于存储数据预先创建数据库插件、访问服务器以及系统映射表,进一步提高了存储数据访问的效率;数据管道的输入端口以及输出端口的设置可以进一步提高数据管道的数据传输的稳定性。数据管道释放函数的设置进一步提高了对应的系统资源的使用效率。
下面通过一具体实施例说明本发明的存储数据访问方法及存储数据访问装置的工作原理。请参照图7a和图7b,图7a为本发明的存储数据访问方法及存储数据访问装置的具体实施例的结构示意图;图7b为本发明的存储数据访问方法及存储数据访问装置的具体实施例的数据访问流程示意图。本具体实施例的存储数据访问装置设置在PostgreSQL数据服务器中。
如图7a所示,本实施例中设置了主备两个PostgreSQL数据服务器,每个PostgreSQL数据服务器均设置外部数据包装器插件,即fdw插件。需要访问的对象存储数据通过存储桶(Bucket)进行存储,存储桶的桶名由用户自定义的字符串以及系统自动生成的数据串链接而成,以保证该存储桶全球唯一。然后根据存储桶创建对应的访问服务器,以使得每个fdw插件均可通过访问服务器获取多个对象存储数据。这里的访问服务器至少需要指定服务器地址host、对应的存储数据的存储桶Bucket、用于确认接口调用者身份的接口调用秘钥编号SecretId、用于秘钥验证操作的秘钥键SecretKey以及存储文件的文件地址filepath等参数。
其中每个fdw插件均应包括配置文件,该配置文件应包括用于执行数据库插件功能的插件处理函数的地址以及用于校验对应的访问服务器的参数的参数校验函数的地址。这样使用fdw插件时,可以解析出对应的动态链接库路径以及注册函数。
具体的,配置文件可包括以下内容:
1、插件介绍文件:
#插件介绍
comment='foreign-data wrapper for flat qcloud cos access'
#插件默认版本;
default_version='1.0'
#模块路径;
module_pathname='$libdir/fdw'
#允许插件初始创建之后将其所含的对象移动到一个不同的模式中;relocatable=true。
2、插件对应的函数文件:
#创建fdw处理函数,当执行创建fdw插件时,会调用该函数
CREATE FUNCTION fdw_handler()
RETURNS fdw_handler
AS'MODULE_PATHNAME'
LANGUAGE C STRICT;
#创建fdw插件参数校验函数,创建与该插件相关的对象时会调用该函数来校验参数;
CREATE FUNCTION fdw_validator(text[],oid)
RETURNS void
AS'MODULE_PATHNAME'
LANGUAGE C STRICT;
#创建数据包装器,指定相应插件处理函数和参数校验函数;
CREATE FOREIGN DATA WRAPPER fdw
HANDLER cos_fdw_handler
VALIDATOR cos_fdw_validator。
当插件和访问服务器创建完成后,具体的数据访问流程请参照图7b,该数据访问流程包括:
步骤S701,PostgreSQL数据服务器72接收到存储数据访问请求71时,fdw插件会基于存储数据访问请求71对应的对象存储数据确定对应的访问服务器。
步骤S702,PostgreSQL数据服务器72初始化并注册数据管道初始化函数BeginForeignScan,注册方式为:
fdwroutine->BeginForeignScan=cosBeginForeignScan;
具体的,PostgreSQL数据服务器72通过接口密钥生成签名字符串,并将上述签名字符串发送至对象存储数据对应的访问服务器73进行签名鉴权操作。签名字符串中可包括用户账号APPID、接口调用秘钥编号SecretId以及秘钥键SecretKey等。
PostgreSQL数据服务器72以存储数据访问请求的进程编号以及签名字符串命名,创建数据管道74;并在数据管道74的输入端口设置curl的对象调用方式,以便数据管道74的输入端口使用该存储数据调用方式从访问服务器73获取存储数据;同时PostgreSQL数据服务器72使用copy函数,将数据管道74的输出端口与PostgreSQL数据服务器72的数据获取端口绑定,以便数据管道74的输出端口向数据获取端口输出存储数据。
步骤S703,PostgreSQL数据服务器72初始化并注册存储数据获取函数IterateForeignScan,注册方式为:
fdwroutine->IterateForeignScan=cosIterateForeignScan;
PostgreSQL数据服务器72通过循环调用存储数据获取函数,从访问服务器73获取行数据,并以元组表的方式返回至PostgreSQL数据服务器72,PostgreSQL数据服务器72可通过NextCopyFrom函数持续获取数据。
步骤S704,PostgreSQL数据服务器初始化并注册数据管道释放函数EndForeignScan,注册方式为:
fdwroutine->EndForeignScan=cosEndForeignScan;
当存储数据访问完毕后,存储数据访问装置可调用数据管道释放函数释放相关的占用资源,避免了大量系统资源的浪费。
这样即完成了本具体实施例的存储数据访问方法及存储数据访问装置的存储数据访问过程。
本发明的存储数据访问方法及存储数据访问装置通过数据库插件创建数据管道来传输存储数据,从而不需要对存储数据进行过渡存储;因此数据访问过程占用的网络带宽较少,提高了数据更新的实时性且提高了数据访问的效率;有效的解决了现有的存储数据访问方法及存储数据访问装置占用网络带宽较多、数据更新实时性较差以及数据访问效率较低的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图8和随后的讨论提供了对实现本发明所述的存储数据访问装置所在的电子设备的工作环境的简短、概括的描述。图8的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备812包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图8图示了包括本发明的存储数据访问装置中的一个或多个实施例的电子设备812的实例。在一种配置中,电子设备812包括至少一个处理单元816和存储器818。根据电子设备的确切配置和类型,存储器818可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图8中由虚线814图示。
在其他实施例中,电子设备812可以包括附加特征和/或功能。例如,设备812还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图8中由存储装置820图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置820中。存储装置820还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器818中由例如处理单元816执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器818和存储装置820是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备812访问的任何其他介质。任意这样的计算机存储介质可以是电子设备812的一部分。
电子设备812还可以包括允许电子设备812与其他设备通信的通信连接826。通信连接826可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备812连接到其他电子设备的其他接口。通信连接826可以包括有线连接或无线连接。通信连接826可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备812可以包括输入设备824,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备812中也可以包括输出设备822,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备824和输出设备822可以经由有线连接、无线连接或其任意组合连接到电子设备812。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备812的输入设备824或输出设备822。
电子设备812的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备812的组件可以通过网络互连。例如,存储器818可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络828访问的电子设备830可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备812可以访问电子设备830并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备812可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备812处执行并且一些指令可以在电子设备830处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (13)

1.一种存储数据访问方法,其特征在于,包括:
接收存储数据访问请求,根据所述存储数据访问请求触发对应的数据库插件,其中所述数据库插件包括数据管道初始化函数和存储数据获取函数;
根据预设的系统映射表,确定所述数据库插件对应的用于访问存储数据的访问服务器,其中所述系统映射表用于记录所述访问服务器与所述数据库插件的对应关系;所述访问服务器是基于对象存储数据无法通过数据库插件直接访问所设置的;
基于所述数据库插件的数据管道初始化函数,创建用于传输所述存储数据的数据管道;以及
基于所述数据库插件的存储数据获取函数,通过所述数据管道从所述访问服务器获取所述存储数据;
其中,所述基于所述数据库插件的数据管道初始化函数,创建用于传输所述存储数据的数据管道的步骤包括:
基于所述存储数据访问请求的进程编号,创建所述数据管道;
在所述数据管道的输入端口设置存储数据调用方式,以便所述数据管道的输入端口从所述访问服务器获取所述存储数据;以及
使用copy函数,将所述数据管道的输出端口与数据获取端口绑定,以便所述数据管道的输出端口向所述数据获取端口输出所述存储数据。
2.根据权利要求1所述的存储数据访问方法,其特征在于,所述数据库插件还包括数据管道释放函数;
所述通过所述数据管道获取所述存储数据的步骤之后还包括:
基于所述数据管道释放函数,将所述数据管道的占用资源释放。
3.根据权利要求1所述的存储数据访问方法,其特征在于,所述存储数据访问方法还包括:
基于存储数据创建对应的数据库插件;以及
基于存储数据的地址创建对应的访问服务器,基于所述访问服务器与所述数据库插件的对应关系创建所述系统映射表。
4.根据权利要求3所述的存储数据访问方法,其特征在于,所述基于存储数据创建对应的数据库插件的步骤为:
基于存储数据以及接口秘钥创建对应的数据库插件;
则所述基于所述数据库插件的数据管道初始化函数,创建用于传输所述存储数据的数据管道的步骤包括:
根据所述接口秘钥生成签名字符串,以便存储数据对应的服务器对访问请求进行签名验证;
基于所述存储数据访问请求的进程编号以及所述签名字符串,创建所述数据管道;
在所述数据管道的输入端口设置存储数据调用方式,以便所述数据管道的输入端口从所述访问服务器获取所述存储数据;以及
使用copy函数,将所述数据管道的输出端口与数据获取端口绑定,以便所述数据管道的输出端口向所述数据获取端口输出所述存储数据。
5.根据权利要求3所述的存储数据访问方法,其特征在于,所述基于存储数据创建对应的数据库插件的步骤包括:
设置所述数据库插件的配置文件,其中所述配置文件包括用于执行所述数据库插件功能的插件处理函数的地址以及用于校验对应的访问服务器的参数的参数校验函数的地址。
6.根据权利要求1所述的存储数据访问方法,其特征在于,所述存储数据为对象存储数据,所述存储数据访问请求为PostgreSQL数据访问请求,所述数据库插件为PostgreSQL数据库的外部数据包装器插件。
7.一种存储数据访问装置,其特征在于,包括:
数据库插件触发模块,用于接收存储数据访问请求,根据所述存储数据访问请求触发对应的数据库插件,其中所述数据库插件包括数据管道初始化函数和存储数据获取函数;
访问服务器获取模块,用于根据预设的系统映射表,确定所述数据库插件对应的用于访问存储数据的访问服务器,其中所述系统映射表用于记录所述访问服务器与所述数据库插件的对应关系;所述访问服务器是基于对象存储数据无法通过数据库插件直接访问所设置的;
数据管道创建模块,用于基于所述数据库插件的数据管道初始化函数,创建用于传输所述存储数据的数据管道;以及
存储数据获取模块,用于基于所述数据库插件的存储数据获取函数,通过所述数据管道从所述访问服务器获取所述存储数据;
所述数据管道创建模块包括:
数据管道创建单元,用于基于所述存储数据访问请求的进程编号,创建所述数据管道;
输入端口设置单元,用于在所述数据管道的输入端口设置存储数据调用方式,以便所述数据管道的输入端口从所述访问服务器获取所述存储数据;以及
输出端口设置单元,用于使用copy函数,将所述数据管道的输出端口与数据获取端口绑定,以便所述数据管道的输出端口向所述数据获取端口输出所述存储数据。
8.根据权利要求7所述的存储数据访问装置,其特征在于,所述数据库插件还包括数据管道释放函数;
所述存储数据访问装置还包括:
数据管道释放模块,用于基于所述数据管道释放函数,将所述数据管道的占用资源释放。
9.根据权利要求7所述的存储数据访问装置,其特征在于,所述存储数据访问装置还包括:
数据库插件创建模块,用于基于存储数据创建对应的数据库插件;以及
系统映射表创建模块,用于基于存储数据的地址创建对应的访问服务器,基于所述访问服务器与所述数据库插件的对应关系创建所述系统映射表。
10.根据权利要求9所述的存储数据访问装置,其特征在于,所述数据库插件创建模块用于基于存储数据以及接口秘钥创建对应的数据库插件;
所述数据管道创建模块包括:
签名验证单元,用于根据所述接口秘钥生成签名字符串,以便存储数据对应的服务器对访问请求进行签名验证;
数据管道创建单元,基于所述存储数据访问请求的进程编号以及所述签名字符串,创建所述数据管道;
输入端口设置单元,在所述数据管道的输入端口设置存储数据调用方式,以便所述数据管道的输入端口从所述访问服务器获取所述存储数据;以及
输出端口设置单元,使用copy函数,将所述数据管道的输出端口与数据获取端口绑定,以便所述数据管道的输出端口向所述数据获取端口输出所述存储数据。
11.根据权利要求9所述的存储数据访问装置,其特征在于,所述数据库插件创建模块用于设置所述数据库插件的配置文件,其中所述配置文件包括用于执行所述数据库插件功能的插件处理函数的地址以及用于校验对应的访问服务器的参数的参数校验函数的地址。
12.根据权利要求7所述的存储数据访问装置,其特征在于,所述存储数据为对象存储数据,所述存储数据访问请求为PostgreSQL数据访问请求,所述数据库插件为PostgreSQL数据库的外部数据包装器插件。
13.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1-6中任一的存储数据访问方法。
CN201810709219.7A 2018-07-02 2018-07-02 存储数据访问方法、装置及存储介质 Active CN108846129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810709219.7A CN108846129B (zh) 2018-07-02 2018-07-02 存储数据访问方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810709219.7A CN108846129B (zh) 2018-07-02 2018-07-02 存储数据访问方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN108846129A CN108846129A (zh) 2018-11-20
CN108846129B true CN108846129B (zh) 2023-04-18

Family

ID=64200887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810709219.7A Active CN108846129B (zh) 2018-07-02 2018-07-02 存储数据访问方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108846129B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413672B (zh) * 2019-07-03 2023-09-19 平安科技(深圳)有限公司 数据自动导入方法、装置及计算机可读存储介质
CN112667713A (zh) * 2021-01-11 2021-04-16 德仕科技(深圳)有限公司 香薰机的智能控制方法、装置及存储介质
CN113125320B (zh) * 2021-04-07 2022-02-18 南京信息工程大学滨江学院 针对气溶胶的观测平台及其流程
CN114416206A (zh) * 2022-01-20 2022-04-29 四维创智(北京)科技发展有限公司 一种插件热加载方法、系统、终端设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101809562A (zh) * 2007-09-27 2010-08-18 微软公司 基于面向服务流水线的体系结构
CN103139238A (zh) * 2011-11-24 2013-06-05 顾自强 一种分布式基于主动数据推送的多维应用插件户外服务器
CN103327052A (zh) * 2012-03-22 2013-09-25 深圳市腾讯计算机系统有限公司 数据存储方法和系统以及数据访问方法和系统
CN103488680A (zh) * 2009-06-19 2014-01-01 布雷克公司 建立搜索引擎的组合算符
CN104077420A (zh) * 2014-07-21 2014-10-01 北京京东尚科信息技术有限公司 一种数据导入HBase数据库的方法和装置
CN106776998A (zh) * 2016-12-06 2017-05-31 华为技术有限公司 一种数据库服务提供方法及服务器
CN108093094A (zh) * 2017-12-08 2018-05-29 腾讯科技(深圳)有限公司 数据库实例访问方法、装置、系统、存储介质和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877368B2 (en) * 2007-11-02 2011-01-25 Paglo Labs, Inc. Hosted searching of private local area network information with support for add-on applications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101809562A (zh) * 2007-09-27 2010-08-18 微软公司 基于面向服务流水线的体系结构
CN103488680A (zh) * 2009-06-19 2014-01-01 布雷克公司 建立搜索引擎的组合算符
CN103139238A (zh) * 2011-11-24 2013-06-05 顾自强 一种分布式基于主动数据推送的多维应用插件户外服务器
CN103327052A (zh) * 2012-03-22 2013-09-25 深圳市腾讯计算机系统有限公司 数据存储方法和系统以及数据访问方法和系统
CN104077420A (zh) * 2014-07-21 2014-10-01 北京京东尚科信息技术有限公司 一种数据导入HBase数据库的方法和装置
CN106776998A (zh) * 2016-12-06 2017-05-31 华为技术有限公司 一种数据库服务提供方法及服务器
CN108093094A (zh) * 2017-12-08 2018-05-29 腾讯科技(深圳)有限公司 数据库实例访问方法、装置、系统、存储介质和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于Client/Server模式的国防工程信息管理系统设计与实现";吴功和;《中国优秀硕士学位论文全文数据库 基础科学》;20030315;正文第28-57页 *
"工商行政管理企业信息查询系统的研究与实现";管维东;《中国优秀硕士学位论文全文数据库 信息科技》;20090615;正文第28-57页 *

Also Published As

Publication number Publication date
CN108846129A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108846129B (zh) 存储数据访问方法、装置及存储介质
CN107025559B (zh) 一种业务处理方法及装置
US7386609B2 (en) Method, system, and program for managing devices in a network
KR101793306B1 (ko) 가상 애플리케이션 확장 포인트
CN109558525B (zh) 一种测试数据集的生成方法、装置、设备和存储介质
US9053107B1 (en) Determining updates for files based on an organization of the files on different blocks of a storage device
KR20060050223A (ko) 데이터 저장소에 동적으로 생성된 연산들 검증 방법 및시스템
KR20120037397A (ko) 카탈로그-기반 소프트웨어 컴포넌트 관리
CN109710695B (zh) 事务请求有效性识别和发起方法、装置、设备和介质
US20200153889A1 (en) Method for uploading and downloading file, and server for executing the same
CN111598575A (zh) 业务流程控制方法、装置、电子设备和可读存储介质
WO2022218057A1 (zh) 内存泄漏的归因方法、装置、电子设备和存储介质
CN114020689A (zh) 数据处理方法、数据处理装置、电子设备及存储介质
CN108776665B (zh) 一种数据处理方法及装置
Votipka et al. Passe-partout: A general collection methodology for Android devices
WO2021226822A1 (zh) 日志写入方法、装置、电子设备以及存储介质
CN112256252B (zh) 接口生成方法、装置、存储介质及电子设备
CN115098297B (zh) 一种云原生存储数据卷的一致性快照生成方法和系统
US9003364B2 (en) Overriding system attributes and function returns in a software subsystem
CN108491160B (zh) 一种数据写入方法及装置
CN116628773A (zh) 数据处理方法、装置、电子设备及存储介质
CN115150392A (zh) 远程文件复制方法、系统、计算设备及存储介质
CN113704120A (zh) 数据传输方法、装置、设备及存储介质
US8200895B2 (en) File system recognition structure
CN110554915A (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
GR01 Patent grant
GR01 Patent grant