CN112115122A - 一种数据访问方法、装置及电子设备 - Google Patents
一种数据访问方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112115122A CN112115122A CN202010989135.0A CN202010989135A CN112115122A CN 112115122 A CN112115122 A CN 112115122A CN 202010989135 A CN202010989135 A CN 202010989135A CN 112115122 A CN112115122 A CN 112115122A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- source
- name
- data table
- 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
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000004891 communication Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/24—Querying
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种数据访问方法、装置及电子设备,包括:接收客户端发送的、针对待访问数据源的元数据获得请求,并且向客户端发送待访问数据源的元数据中的数据库名和数据表名,以使得客户端根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,并根据数据库和数据表进行数据访问。由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,降低了进行数据访问的操作成本。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据访问方法、装置及电子设备。
背景技术
随着互联网的飞速发展、计算机技术的普及和深入,企业在信息化建设的过程中,需要根据业务数据的类型、使用方式、应用场景等因素,将业务数据存储在不同存储方式的数据源中。
而随着企业的发展,常常需要对存储在不同数据源之间的业务数据进行数据访问。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
由于各数据源之间存储方式的不同,使得用户针对不同存储方式的数据源进行数据访问的操作是不同的,导致进行数据访问的操作成本高。
发明内容
本发明实施例的目的在于提供一种数据访问方法,以减小进行数据访问的操作成本。具体技术方案如下:
本发明实施例提供一种数据访问方法,应用于服务器,包括:
接收客户端发送的、针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
向所述客户端发送所述待访问数据源的元数据中的所述数据库名和所述数据表名,以使得所述客户端根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表,并根据所述数据库和所述数据表进行数据访问。
进一步的,所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
进一步的,所述方法还包括:
接收所述客户端发送的数据同步请求,其中,所述数据同步请求中包括:所述客户端从抽象得到的数据库中选择的源数据库的数据库名和目标数据库的数据库名、从抽象得到的属于所述源数据库的数据表中选择的源数据表的数据表名、从抽象得到属于所述目标数据库的数据表中选择的目标数据表的数据表名;
根据第一存储标识信息,确定待进行数据同步的源数据端,其中,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息;
根据第二存储标识信息,确定待进行数据同步的目标数据端,其中,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息;
对所述源数据端和所述目标数据端进行数据同步。
进一步的,所述对所述源数据端和所述目标数据端进行数据同步,包括:
基于所述数据同步请求中携带的权限信息判断是否具有所述源数据端的读权限;
当具有所述源数据端的读权限时,读取所述源数据端的数据;
基于所述权限信息判断是否具有所述目标数据端的写权限;
当具有所述目标数据端的写权限时,将所读取的数据同步至所述目标数据端。
进一步的,所述基于所述数据同步请求中携带的权限信息判断是否具有所述源数据端的读权限,包括:
判断所述源数据端是否属于所述数据同步请求中携带的权限信息所关联的目标项目;或者,判断所述目标项目是否已获得源端项目授予的读权限;其中,所述源端项目为所述源数据端所属的项目;
所述判断所述用户是否具有所述目标数据端的写权限,包括:
判断所述目标数据端是否属于所述权限信息所关联的目标项目;或者,判断所述所述目标项目是否已获得目标数据端授予的写权限;其中,所述目标端项目为所述目标数据端所属的项目。
进一步的,所述方法还包括:
接收所述客户端发送的数据预览请求,其中,所述数据预览请求包括:待预览数据库和待预览数据表,所述待预览数据库是抽象后的数据库中的一个,所述待预览数据表是属于所述待预览数据库中的数据表中的一个;
根据第三存储标识信息,获取待预览数据,其中,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
向所述客户端发送所获取的待预览数据,以使所述客户端进行数据预览。
本发明实施例提供一种数据访问方法,应用于客户端,包括:
向服务器发送针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
接收所述服务器发送的所述待访问数据源的元数据中的所述数据库名和所述数据表名;
根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表;
根据所述数据库和所述数据表进行数据访问。
进一步的,所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
进一步的,所述方法还包括:
从抽象得到的数据库中选择源数据库和目标数据库、且从抽象得到的属于所述源数据库的数据表中选择源数据表、以及从抽象得到属于所述目标数据库的数据表中选择目标数据表;
向所述服务器发送包括所述源数据库的数据库名、目的数据库的数据库名、源数据表的数据表名和目的数据表的数据表名的数据同步请求,以使所述服务器对源数据端和目标数据端进行数据同步,其中,所述源数据端根据第一存储标识信息确定得到,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息,所述目的数据端根据第二存储标识信息确定得到,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息。
进一步的,所述方法还包括:
从抽象后的数据库中选择数据库,作为待预览数据库,并从属于所述待预览数据库的数据表中选择数据表,作为待预览数据表;
向所述服务器发送数据预览请求,以使所述服务器根据第三存储标识信息,获取待预览数据,并发送所述待预览数据,其中,所述数据预览请求包括:所述待预览数据库和所述待预览数据表,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
接收所述服务器发送的所述待预览数据,并进行数据预览。
本发明实施例提供一种数据访问装置,应用于服务器,包括:
请求接收模块,用于接收客户端发送的、针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
数据发送模块,用于向所述客户端发送所述待访问数据源的元数据中的所述数据库名和所述数据表名,以使得所述客户端根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表,并根据所述数据库和所述数据表进行数据访问。
进一步的,所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
进一步的,所述装置还包括:
同步请求接收模块,用于接收所述客户端发送的数据同步请求,其中,所述数据同步请求中包括:所述客户端从抽象得到的数据库中选择的源数据库的数据库名和目标数据库的数据库名、从抽象得到的属于所述源数据库的数据表中选择的源数据表的数据表名、从抽象得到属于所述目标数据库的数据表中选择的目标数据表的数据表名;
源数据端确定模块,用于根据第一存储标识信息,确定待进行数据同步的源数据端,其中,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息;
目标数据端确定模块,用于根据第二存储标识信息,确定待进行数据同步的目标数据端,其中,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息;
数据同步模块,用于对所述源数据端和所述目标数据端进行数据同步。
进一步的,所述数据同步模块,包括:
读权限判断子模块,用于基于所述数据同步请求中携带的权限信息判断是否具有所述源数据端的读权限;
数据读取子模块,用于当具有所述源数据端的读权限时,读取所述源数据端的数据;
写权限判断子模块,用于基于所述权限信息判断是否具有所述目标数据端的写权限;
数据写入子模块,用于当具有所述目标数据端的写权限时,将所读取的数据同步至所述目标数据端。
进一步的,所述读权限判断子模块,具体判断所述源数据端是否属于所述数据同步请求中携带的权限信息所关联的目标项目;或者,判断所述目标项目是否已获得源端项目授予的读权限;其中,所述源端项目为所述源数据端所属的项目;
所述写权限判断子模块,具体用于判断所述目标数据端是否属于所述权限信息所关联的目标项目;或者,判断所述所述目标项目是否已获得目标数据端授予的写权限;其中,所述目标端项目为所述目标数据端所属的项目。
进一步的,所述装置还包括:
预览请求接收模块,用于接收所述客户端发送的数据预览请求,其中,所述数据预览请求包括:待预览数据库和待预览数据表,所述待预览数据库是抽象后的数据库中的一个,所述待预览数据表是属于所述待预览数据库中的数据表中的一个;
预览数据获取模块,用于根据第三存储标识信息,获取待预览数据,其中,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
预览数据发送模块,用于向所述客户端发送所获取的待预览数据,以使所述客户端进行数据预览。
本发明实施例提供一种数据访问装置,应用于客户端,包括:
请求发送模块,用于向服务器发送针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
数据接收模块,用于接收所述服务器发送的所述待访问数据源的元数据中的所述数据库名和所述数据表名;
库表抽象模块,用于根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表;
数据访问模块,用于根据所述数据库和所述数据表进行数据访问。
进一步的,所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
进一步的,所述装置还包括:
同步库表选择模块,用于从抽象得到的数据库中选择源数据库和目标数据库、且从抽象得到的属于所述源数据库的数据表中选择源数据表、以及从抽象得到属于所述目标数据库的数据表中选择目标数据表;
同步请求发送模块,用于向所述服务器发送包括所述源数据库的数据库名、目的数据库的数据库名、源数据表的数据表名和目的数据表的数据表名的数据同步请求,以使所述服务器对源数据端和目标数据端进行数据同步,其中,所述源数据端根据第一存储标识信息确定得到,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息,所述目的数据端根据第二存储标识信息确定得到,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息。
进一步的,所述装置还包括:
预览库表选择模块,用于从抽象后的数据库中选择数据库,作为待预览数据库,并从属于所述待预览数据库的数据表中选择数据表,作为待预览数据表;
预览请求发送模块,用于向所述服务器发送数据预览请求,以使所述服务器根据第三存储标识信息,获取待预览数据,并发送待预览数据,其中,所述数据预览请求包括:所述待预览数据库和所述待预览数据表,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
预览数据接收模块,用于接收服务器发送的待预览数据,并进行数据预览。
本发明实施例还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一数据访问方法的步骤。
本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一数据访问方法的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一数据访问方法。
本发明实施例提供的一种数据访问方法、装置及电子设备,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,降低了进行数据访问的操作成本。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一个实施例提供的应用于服务器的数据访问方法的流程图;
图2为本发明一个实施例提供的应用于客户端的数据访问方法的流程图;
图3为本发明一个实施例提供的应用于服务器的数据同步方法的流程图;
图4为本发明另一个实施例提供的应用于服务器的数据同步方法的流程图;
图5为本发明一个实施例提供的应用于服务器的数据预览方法的流程图;
图6为本发明一个实施例提供的应用于客户端的数据同步方法的流程图;
图7为本发明一个实施例提供的应用于客户端的数据预览方法的流程图;
图8为本发明一个实施例提供的应用于服务器的数据访问装置的结构示意图;
图9为本发明一个实施例提供的应用于服务器的数据同步装置的结构示意图;
图10为本发明另一个实施例提供的应用于服务器的数据同步装置的结构示意图;
图11为本发明一个实施例提供的应用于服务器的数据预览装置的结构示意图;
图12为本发明一个实施例提供的应用于客户端的数据访问装置的结构示意图;
图13为本发明一个实施例提供的应用于客户端的数据同步装置的结构示意图;
图14为本发明一个实施例提供的应用于客户端的数据预览装置的结构示意图;
图15为本发明一个实施例提供的电子设备的结构示意图;
图16为本发明另一个实施例提供的电子设备的结构示意图。
具体实施方式
为了给出减小进行数据访问的操作成本的实现方案,本发明实施例提供了一种数据访问方法、装置及电子设备,以下结合说明书附图对本发明的实施例进行说明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了清楚地阐述本发明实施例的技术方案,从整体上简单介绍下本发明实施例。
本领域技术人员所熟知的,按照存储方式的不同可以将数据源划分为关系型数据库(比如MySQL、Oracle等)、HDFS(Hadoop Distributed File System,分布式文件系统)、Hive、Hbase等。
上述关系型数据库包括:Oracle、MySQL等数据源,对于关系型数据库而言,其存储的数据主要存在具有特定结构的表中,如表1所示:
表1
学号 | 姓名 | 书名 | 借阅时间 |
1 | 张三 | 《如何种树》 | 2020-02-01 |
对于不同存储方式的数据源而言,由于各数据源之间存储方式的不同,使得用户针对不同存储方式的数据源进行数据访问的操作是不同的,举例而言,对于属于关系型数据库的数据源而言,进行数据访问时,需要通过SQL查询语句查找需要访问的数据,而对于其他数据源而言,则可能需要通过索引的方式对数据进行访问,从而导致面对不同数据源时,进行数据访问的操作成本高。
本发明实施例中,各数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少进行数据访问的操作成本。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的一个实施例中,提供一种应用于服务器的数据访问方法,如图1所示,该方法包括以下步骤:
S101:接收客户端发送的、针对待访问数据源的元数据获得请求,其中,待访问数据源的元数据中配置有数据库名和数据表名,待访问数据源中的数据按照存储标识信息进行存储,存储标识信息由数据库名和数据表名确定。
S102:向客户端发送待访问数据源的元数据中的数据库名和数据表名,以使得客户端根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,并根据数据库和数据表进行数据访问。
本发明实施例提供的上述如图1所示的应用于服务器的数据访问方法中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少进行数据访问的操作成本。
相应的,在本发明的一个实施例中,还提供一种应用于客户端的数据访问方法,如图2所示,该方法包括以下步骤:
S201:向服务器发送针对待访问数据源的元数据获得请求,其中,待访问数据源的元数据中配置有数据库名和数据表名,待访问数据源中的数据按照存储标识信息进行存储,存储标识信息由数据库名和数据表名确定。
S202:接收服务器发送的待访问数据源的元数据中的数据库名和数据表名。
S203:根据数据库名和数据表名将待访问数据源抽象为数据库和数据表。
S204:根据数据库和数据表进行数据访问。
本发明实施例提供的上述如图2所示的应用于客户端的数据访问方法中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少进行数据访问的操作成本。
上述数据源为从数据传输的角度对数据量的描述,即数据的来源,本发明实施例中,一个数据源可以表示具有相同存储方式数据来源,如多个MYSQL数据库可以作为一个数据源。
在一个实施例中,上述待访问数据源可以为用户从多个数据源中选择的需要进行数据访问的数据源,示例性,存在数据源A、B和C,当客户端接收用户对数据源A的信息获得操作时,则数据源A即为待访问数据源。需要对数据源A进行数据访问时,客户端可以向服务器发送针对数据源A的元数据获得请求。
可选的,上述针对待访问数据源的元数据获得请求可以包括待访问数据源的标识,服务器接收到待访问数据源的标识后,可以通过待访问数据源的标识查找待访问数据源的元数据,进而从查找的元数据中获取数据库名和数据表名。可选的,数据源的元数据中每一个数据表名都具有与其关联的数据库名,此时,元数据包括(数据库名.数据表名)格式的数据。示例性的,数据源A的元数据中包含:(数据库名1.数据表名1)、(数据库名1.数据表名2)和(数据库名2.数据表名3)三个数据,则数据表名1和数据表名2分别与数据库名1关联,数据表名3与数据库名2关联。
在一个实施例中数据源中的数据按照存储标识信息进行存储,其中,存储标识信息为由数据库名和数据表名确定的信息,可选的,根据数据库存储方式的不同,存储标识信息的表现形式也是不同的,当数据源是按照关系型数据库的方式进行存储,则对于每一个需要进行存储的数据,都将其存储进与数据库名相匹配的数据库所包含的、与数据表名相匹配的数据表中,对于HDFS等类型的数据源,则可以基于数据库名和数据表生成数据索引的方式对数据进行存储,即待访问数据源中的数据以存储标识信息为索引进行存储。
当服务器接收到客户端发送的、针对待访问数据源的元数据获得请求后,可以向客户端发送待存储数据源的元数据中的数据库名和数据表名。
客户端接收到服务器发送的向客户端发送元数据中的数据库名和数据表名,可以数据库名和数据表名将待访问数据源抽象为数据库和数据表,并根据数据库和数据表进行数据访问。
举例而言,数据源A的元数据中包含:(数据库名1.数据表名1)、(数据库名1.数据表名2)和(数据库名2.数据表名3)三个数据,当客户端接收到(数据库名1.数据表名1)、(数据库名1.数据表名2)和(数据库名2.数据表名3)后,可以基于数据库名和数据表名进行抽象,数据库名1抽象为数据库1、数据库名2抽象为数据库2、数据表名1抽象为数据库1所包含的数据表1、数据表名2抽象为数据库1所包含的数据表2、数据表名3抽象为数据库2所包含的数据表3。
通过上述抽象的过程,使得客户端最终展示给用户是经过抽象后的数据库和数据表,即用户所能看到和操作的只有数据库和数据表,而不用关心数据源具体的存储形式,当用户操作客户端抽象的数据库和数据表时,相当于对数据源中按照用户所操作的数据库的数据库名和数据表的数据表名进行存储的数据进行操作,进而使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,减少了进行数据访问的操作成本。
在上述应用于服务器的数据访问方法的基础上,在本发明的一个实施例中,还提供一种应用于服务器的数据同步方法,如图3所示,该方法包括以下步骤:
S301:接收客户端发送的数据同步请求,其中,数据同步请求中包括:客户端从抽象得到的数据库中选择的源数据库的数据库名和目标数据库的数据库名、从抽象得到的属于源数据库的数据表中选择的源数据表的数据表名、从抽象得到属于目标数据库的数据表中选择的目标数据表的数据表名。
本步骤中,服务器接收到的数据同步请求可以为:用户对抽象后的数据库和数据表的进行同步配置操作后所生成的,其中,同步配置操作用于从抽象得到的数据库中选择源数据库和目标数据库、且从抽象得到的属于源数据库的数据表中选择源数据表、以及从抽象得到属于目标数据库的数据表中选择目标数据表。可选的,用户可以先从各数据库中选择出源数据库,再从属于源数据库的数据表中选择出源数据表。进一步的,从各数据库中选择出目标数据库,再从属于目标数据库的数据表中选择出目标数据表。
客户端确定出源数据库、源端数据表、目标数据库和目标数据表后,可以向服务器发送包含有源数据库、源端数据表、目标数据库和目标数据表的数据同步请求。
S302:根据第一存储标识信息,确定待进行数据同步的源数据端,其中,第一存储标识信息为:由源数据库的数据库名和源数据表的数据表名确定的信息。
本步骤中,服务器在接收到客户端发送的数据同步请求后,可以根据源数据库的数据库名和源数据表的数据表名确定出第一存储标识信息,进而,根据确定出的第一存储标识信息确定出待进行数据同步的源数据端,其中,源数据端可以为进行数据同步的起始地址,也可以是待进行数据同步的数据的本身。
示例性的,在数据源为关系型数据库类型的情况下,当源数据库的数据库名为数据库3、源数据表的数据表名为数据表4,则可以确定源数据端为数据源中数据库3所包含的数据表4。在数据源为索引存储的情况下,源数据端可以为按照作为索引的第一存储标识信息进行存储的数据。
S303:根据第二存储标识信息,确定待进行数据同步的目标数据端,其中,第二存储标识信息为:由目标数据库的数据库名和目标数据表的数据表名确定的信息。
本步骤中,与确定出源数据端基本类似,在此不再赘述。需要说明的是,本发明实施例对步骤S302和步骤S304的执行顺序不做限定,可以先执行步骤S302,也可以先执行步骤S303,还可以S302和S303同步执行,为了方便,图3中仅给出先执行步骤S302,后执行步骤S303的情况。
S304:对源数据端和目标数据端进行数据同步。
本步骤中,在确定出源数据端和目标数据端后,可以对源数据端和目标数据端进行数据同步,可选的,可以先读取源数据端的数据,再将读取的数据写入到目标数据端,也可以同步目标数据端与源数据端中的差异数据。
本发明实施例提供的上述如图3所示的用于服务器的数据同步方法中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据同步,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据同步的操作成本。
在本发明的一个实施例中,还提供另一种应用于服务器的数据同步方法,实现上述步骤S304,如图4所示,该方法包括以下步骤:
S401:基于数据同步请求中携带的权限信息判断是否具有源数据端的读权限。
本步骤中,在进行源数据端数据读取之前需要先判断判断是否具有源数据端的读权限。其中,权限信息可以包括注册用户的账户信息。
在一个实施例中,可以通过如下第一种方式和第二种方式中任一方式实现:
第一种方式:判断源数据端是否属于数据同步请求中携带的权限信息所关联的目标项目。
本方式中,源端项目为源数据端所属的项目。
由于当源数据端属于数据同步请求中携带的权限信息所关联的目标项目时,则表示目标项目具有源数据端的全部权限,包括增加、删除、修改和查询等权限,其中,查询权限对应读权限,增加权限和修改权限对应写权限,因此,当源数据端属于目标项目时,即表明具有源数据端的读权限。
第二种方式:判断目标项目是否已获得源端项目授予的读权限,其中,源端项目为源数据端所属的项目。
本方式中,当源数据端不属于目标项目时,则可以判断目标项目是否已获得源端项目授予的读权限。
本领域技术人员所熟知的,每个项目可以给不同项目进行授权,也可以向其他项目申请不同的权限,一个项目向其他项目申请后,需要通过审批后,才具备所申请的权限。因此,当目标项目已获得源端项目授予的读权限,则表示目标项目具有源数据端的读权限,反之,则表示目标项目不具有源数据端的读权限。
当具有源数据端的读权限时,可以执行步骤S402,当不具有源数据端的读权限时,提示用户权限验证未通过。
S402:读取源数据端的数据。
本步骤中,当源数据端属于用户当前所操作项目时,可以调用读取插件从与源数据端中读取数据。
S403:基于权限信息判断是否具有目标数据端的写权限。
本步骤中,可以通过如下第一种方式和第二种方式中任一方式实现:
第一种方式:判断目标数据端是否属于权限信息所关联的目标项目。
第一种方式:判断目标项目是否已获得目标数据端授予的写权限;其中,目标端项目为目标数据端所属的项目。
具体的,其实现方式与步骤S401基本相同或相似,在此不再赘述。
在一个实施例中,当具有目标数据端的写权限时,可以执行步骤S404,当不具有目标数据端的写权限,提示用户权限验证未通过。
S404:将所读取的数据同步至目标数据端。
本步骤中,当用户具有目标数据端的写权限时,可以调用读取插件从源数据端中读取数据。
本发明实施例提供的上述如图4所示的数据同步方法中,由于在读取数据和写入数据之前,需要进行权限判断,因此,可以使得数据源中存储数据的安全。
相应与本发明实施例上述如图3所示的应用于服务器的数据同步方法,在本发明实施例提供的应用于客户端的数据访问方法的基础上,本发明的一个实施例中,还提供一种应用于客户端的数据同步方法,如图5所示,该方法包括以下步骤:
S501:从抽象得到的数据库中选择源数据库和目标数据库、且从抽象得到的属于源数据库的数据表中选择源数据表、以及从抽象得到属于目标数据库的数据表中选择目标数据表。
S502:向服务器发送包括源数据库的数据库名、目的数据库的数据库名、源数据表的数据表名和目的数据表的数据表名的数据同步请求,以使服务器对源数据端和目标数据端进行数据同步,其中,源数据端根据第一存储标识信息确定得到,第一存储标识信息为:由源数据库的数据库名和源数据表的数据表名确定的信息,目的数据端根据第二存储标识信息确定得到,第二存储标识信息为:由目标数据库的数据库名和目标数据表的数据表名确定的信息。
由于步骤S501和步骤S502的实现方式与如图3所示的应用于服务器的数据同步方法基本相同或相似,在此不再赘述。
本发明实施例提供的上述如图5所示的用于客户端的数据同步方法中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据同步,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据同步的操作成本。
在上述应用于服务器的数据访问方法的基础上,在本发明的一个实施例中,还提供一种应用于服务器的数据预览方法,如图6所示,该方法包括以下步骤:
S601:接收客户端发送的数据预览请求,其中,数据预览请求包括:待预览数据库和待预览数据表,待预览数据库是抽象后的数据库中的一个,待预览数据表是属于待预览数据库中的数据表中的一个。
本步骤中,服务器接收到的数据预览请求可以为:用户对抽象后的数据库和数据表的进行预览配置操作后所生成的,其中,预览配置操作用于从抽象得到的数据库中选择待预览数据库和从抽象得到的属于待预览数据库的数据表中选择待预览数据表。可选的,用户可以先从各数据库中选择出待预览数据库,再从属于待预览数据库的数据表中选择出待预览数据表。
客户端确定出待预览数据库和待预览端数据表,可以向服务器发送包含有待预览数据库和待预览端数据表的数据预览请求。
S602:根据第三存储标识信息,获取待预览数据,其中,第三存储标识信息为:由待预览数据库的数据库名和待预览数据表的数据表名确定的信息。
本步骤中,服务器在接收到客户端发送的数据预览请求后,可以根据待预览数据库的数据库名和待预览数据表的数据表名确定出第三存储标识信息,进而,根据确定出的第三存储标识信息获取待预览数据。
示例性的,在数据待预览为关系型数据库类型的情况下,当待预览数据库的数据库名为数据库4、待预览数据表的数据表名为待预览数据5,则可以从数据库4所包含的数据表5中获取待预览数据。在数据源为索引存储的情况下,待预览数据端可以从数据源中通过作为索引的第三存储标识信息获取待预览数据。
S603:向客户端发送所获取的待预览数据,以使客户端进行数据预览。
本步骤中,可以先客户端发送所获取的待预览数据,客户端接收到待预览数据,可以按照数据表的形式对待预览数据进行展示,完成数据预览。
本发明实施例提供的上述如图6所示的用于服务器的数据预览方法中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据预览,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据预览的操作成本。
相应与本发明实施例上述如图6所示的应用于服务器的数据预览方法,在本发明实施例提供的应用于客户端的数据访问方法的基础上,本发明的一个实施例中,还提供一种应用于客户端的数据预览方法,如图7所示,该方法包括以下步骤:
S701:从抽象得到的数据库中选择待预览数据库和从抽象得到的属于待预览数据库的数据表中选择待预览数据表。
S702:向服务器发送数据预览请求,以使服务器根据第三存储标识信息,获取待预览数据,并发送待预览数据,其中,数据预览请求包括:待预览数据库和待预览数据表,第三存储标识信息为:由待预览数据库的数据库名和待预览数据表的数据表名确定的信息。
S703:接收服务器发送的待预览数据,并进行数据预览。
由于步骤S701、步骤S702和步骤S703的实现方式与如图6所示的应用于服务器的数据预览方法基本相同或相似,在此不再赘述。
本发明实施例提供的上述如图7所示的用于客户端的数据预览方法中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据预览,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据预览的操作成本。
基于同一发明构思,根据本发明实施例提供的应用于服务器的数据访问方法,本发明实施例还提供了一种应用于服务器的数据访问装置,如图8所示,该装置包括:
请求接收模块801,用于接收客户端发送的、针对待访问数据源的元数据获得请求,其中,待访问数据源的元数据中配置有数据库名和数据表名,待访问数据源中的数据按照存储标识信息进行存储,存储标识信息由数据库名和数据表名确定;
数据发送模块802,用于向客户端发送待访问数据源的元数据中的数据库名和数据表名,以使得客户端根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,并根据数据库和数据表进行数据访问。
进一步的,待访问数据源中的数据以存储标识信息为索引进行存储。
本发明实施例提供的上述如图8所示的应用于服务器的数据访问装置中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少进行数据访问的操作成本。
基于同一发明构思,根据本发明实施例提供的应用于服务器的数据同步方法,本发明实施例还提供了一种应用于服务器的数据同步装置,如图9所示,该装置包括:
同步请求接收模块901,用于接收客户端发送的数据同步请求,其中,数据同步请求中包括:客户端从抽象得到的数据库中选择的源数据库的数据库名和目标数据库的数据库名、从抽象得到的属于源数据库的数据表中选择的源数据表的数据表名、从抽象得到属于目标数据库的数据表中选择的目标数据表的数据表名;
源数据端确定模块902,用于根据第一存储标识信息,确定待进行数据同步的源数据端,其中,第一存储标识信息为:由源数据库的数据库名和源数据表的数据表名确定的信息;
目标数据端确定模块903,用于根据第二存储标识信息,确定待进行数据同步的目标数据端,其中,第二存储标识信息为:由目标数据库的数据库名和目标数据表的数据表名确定的信息;
数据同步模块904,用于对源数据端和目标数据端进行数据同步。
本发明实施例提供的上述如图9所示的用于服务器的数据同步装置中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据同步,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据同步的操作成本。
基于同一发明构思,根据本发明一个实施例提供的另一种应用于服务器的数据同步方法,本发明实施例还提供了另一种应用于服务器的数据同步装置,如图10所示,该装置包括:
读权限判断子模块1001,用于基于数据同步请求中携带的权限信息判断是否具有源数据端的读权限;
数据读取子模块1002,用于当具有源数据端的读权限时,读取源数据端的数据;
写权限判断子模块1003,用于基于权限信息判断是否具有目标数据端的写权限;
数据写入子模块1004,用于当具有目标数据端的写权限时,将所读取的数据同步至目标数据端。
进一步的,读权限判断子模块1001,具体用于判断源数据端是否属于数据同步请求中携带的权限信息所关联的目标项目;或者,判断目标项目是否已获得源端项目授予的读权限;其中,源端项目为源数据端所属的项目;
写权限判断子模块1003,具体用于判断目标数据端是否属于权限信息所关联的目标项目;或者,判断目标项目是否已获得目标数据端授予的写权限;其中,目标端项目为目标数据端所属的项目。
本发明实施例提供的上述如图10所示的数据同步装置中,由于在读取数据和写入数据之前,需要进行权限判断,因此,可以使得数据源中存储数据的安全。
基于同一发明构思,根据本发明一个实施例提供的应用于服务器的数据预览方法,本发明实施例还提供了一种应用于服务器的数据预览装置,如图11所示,该装置包括:
预览请求接收模块1101,用于接收客户端发送的数据预览请求,其中,数据预览请求包括:待预览数据库和待预览数据表,待预览数据库是抽象后的数据库中的一个,待预览数据表是属于待预览数据库中的数据表中的一个;
预览数据获取模块1102,用于根据第三存储标识信息,获取待预览数据,其中,第三存储标识信息为:由待预览数据库的数据库名和待预览数据表的数据表名确定的信息;
预览数据发送模块1103,用于向客户端发送所获取的待预览数据,以使客户端进行数据预览。
本发明实施例提供的上述如图11所示的用于服务器的数据预览装置中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据预览,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据预览的操作成本。
基于同一发明构思,根据本发明一个实施例提供的应用于客户端的数据访问方法,本发明实施例还提供了一种应用于客户端的数据访问装置,如图12所示,该装置包括:
请求发送模块1201,用于向服务器发送针对待访问数据源的元数据获得请求,其中,待访问数据源的元数据中配置有数据库名和数据表名,待访问数据源中的数据按照存储标识信息进行存储,存储标识信息由数据库名和数据表名确定;
数据接收模块1202,用于接收服务器发送的待访问数据源的元数据中的数据库名和数据表名;
库表抽象模块1203,用于根据数据库名和数据表名将待访问数据源抽象为数据库和数据表;
数据访问模块1204,用于根据数据库和数据表进行数据访问。
进一步的,待访问数据源中的数据以存储标识信息为索引进行存储。
本发明实施例提供的上述如图12所示的应用于客户端的数据访问装置中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少进行数据访问的操作成本。
基于同一发明构思,根据本发明一个实施例提供的应用于客户端的数据同步方法,本发明实施例还提供了一种应用于客户端的数据同步装置,如图13所示,该装置包括:
同步库表选择模块1301,用于从抽象得到的数据库中选择源数据库和目标数据库、且从抽象得到的属于源数据库的数据表中选择源数据表、以及从抽象得到属于目标数据库的数据表中选择目标数据表;
同步请求发送模块1302,用于向服务器发送包括源数据库的数据库名、目的数据库的数据库名、源数据表的数据表名和目的数据表的数据表名的数据同步请求,以使服务器对源数据端和目标数据端进行数据同步,其中,源数据端根据第一存储标识信息确定得到,第一存储标识信息为:由源数据库的数据库名和源数据表的数据表名确定的信息,目的数据端根据第二存储标识信息确定得到,第二存储标识信息为:由目标数据库的数据库名和目标数据表的数据表名确定的信息。
本发明实施例提供的上述如图13所示的用于客户端的数据同步装置中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据同步,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据同步的操作成本。
基于同一发明构思,根据本发明一个实施例提供的应用于客户端的数据预览方法,本发明实施例还提供了一种应用于客户端的数据预览装置,如图14所示,该装置包括:
预览库表选择模块1401,用于从抽象后的数据库中选择数据库,作为待预览数据库,并从属于待预览数据库的数据表中选择数据表,作为待预览数据表;
预览请求发送模块1402,用于向服务器发送数据预览请求,以使服务器根据第三存储标识信息,获取待预览数据,并发送待预览数据,其中,数据预览请求包括:待预览数据库和待预览数据表,第三存储标识信息为:由待预览数据库的数据库名和待预览数据表的数据表名确定的信息;
预览数据接收模块1403,用于接收服务器发送的待预览数据,并进行数据预览。
本发明实施例提供的上述如图14所示的用客户端的数据预览装置中,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据预览,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少了在不同数据源之间进行数据预览的操作成本。
本发明实施例还提供了一种电子设备,如图15所示,包括处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信,
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现如下步骤:
接收客户端发送的、针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
向所述客户端发送所述待访问数据源的元数据中的所述数据库名和所述数据表名,以使得所述客户端根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表,并根据所述数据库和所述数据表进行数据访问。
需要说明的是,上述电子设备实现应用于服务器的数据访问方法的其他实施例,与前述方法实施例部分提及的应用于服务器的数据访问方法相同,这里不再赘述。
本发明实施例提供的如上图15所示的电子设备,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少进行数据访问的操作成本。
本发明实施例还提供了一种电子设备,如图16所示,包括处理器1601、通信接口1602、存储器1603和通信总线1604,其中,处理器1601,通信接口1602,存储器1603通过通信总线1604完成相互间的通信,
存储器1603,用于存放计算机程序;
处理器1601,用于执行存储器1603上所存放的程序时,实现如下步骤:
向服务器发送针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
接收所述服务器发送的所述待访问数据源的元数据中的所述数据库名和所述数据表名;
根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表。
需要说明的是,上述电子设备实现应用于客户端的数据访问方法的其他实施例,与前述方法实施例部分提及的应用于客户端的数据访问方法相同,这里不再赘述。
本发明实施例提供的如上图16所示的电子设备,由于数据源中的数据可以基于数据源的元数据中配置的数据库名和数据表名进行存储,并且客户端可以根据数据库名和数据表名将待访问数据源抽象为数据库和数据表,使得用户可以通过操作客户端抽象的数据库和数据表的方式对具有不同存储方式的数据源中存储的数据进行数据访问,从而用户不需要关注不同存储方式的数据源是通过何种方式存储数据,进而减少进行数据访问的操作成本。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一数据访问方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一数据访问方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (21)
1.一种数据访问方法,其特征在于,应用于服务器,包括:
接收客户端发送的、针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
向所述客户端发送所述待访问数据源的元数据中的所述数据库名和所述数据表名,以使得所述客户端根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表,并根据所述数据库和所述数据表进行数据访问。
2.根据权利要求1所述的方法,其特征在于,
所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的数据同步请求,其中,所述数据同步请求中包括:所述客户端从抽象得到的数据库中选择的源数据库的数据库名和目标数据库的数据库名、从抽象得到的属于所述源数据库的数据表中选择的源数据表的数据表名、从抽象得到属于所述目标数据库的数据表中选择的目标数据表的数据表名;
根据第一存储标识信息,确定待进行数据同步的源数据端,其中,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息;
根据第二存储标识信息,确定待进行数据同步的目标数据端,其中,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息;
对所述源数据端和所述目标数据端进行数据同步。
4.根据权利要求3所述的方法,其特征在于,所述对所述源数据端和所述目标数据端进行数据同步,包括:
基于所述数据同步请求中携带的权限信息判断是否具有所述源数据端的读权限;
当具有所述源数据端的读权限时,读取所述源数据端的数据;
基于所述权限信息判断是否具有所述目标数据端的写权限;
当具有所述目标数据端的写权限时,将所读取的数据同步至所述目标数据端。
5.根据权利要求4所述的方法,其特征在于,
所述基于所述数据同步请求中携带的权限信息判断是否具有所述源数据端的读权限,包括:
判断所述源数据端是否属于所述数据同步请求中携带的权限信息所关联的目标项目;或者,判断所述目标项目是否已获得源端项目授予的读权限,其中,所述源端项目为所述源数据端所属的项目;
所述判断所述用户是否具有所述目标数据端的写权限,包括:
判断所述目标数据端是否属于所述权限信息所关联的目标项目;或者,判断所述所述目标项目是否已获得目标数据端授予的写权限,其中,所述目标端项目为所述目标数据端所属的项目。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的数据预览请求,其中,所述数据预览请求包括:待预览数据库和待预览数据表,所述待预览数据库是抽象后的数据库中的一个,所述待预览数据表是属于所述待预览数据库中的数据表中的一个;
根据第三存储标识信息,获取待预览数据,其中,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
向所述客户端发送所获取的待预览数据,以使所述客户端进行数据预览。
7.一种数据访问方法,其特征在于,应用于客户端,包括:
向服务器发送针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
接收所述服务器发送的所述待访问数据源的元数据中的所述数据库名和所述数据表名;
根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表;
根据所述数据库和所述数据表进行数据访问。
8.根据权利要求7所述的方法,其特征在于,
所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
从抽象得到的数据库中选择源数据库和目标数据库、且从抽象得到的属于所述源数据库的数据表中选择源数据表、以及从抽象得到属于所述目标数据库的数据表中选择目标数据表;
向所述服务器发送包括所述源数据库的数据库名、目的数据库的数据库名、源数据表的数据表名和目的数据表的数据表名的数据同步请求,以使所述服务器对源数据端和目标数据端进行数据同步,其中,所述源数据端根据第一存储标识信息确定得到,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息,所述目的数据端根据第二存储标识信息确定得到,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息。
10.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
从抽象得到的数据库中选择待预览数据库和从抽象得到的属于所述待预览数据库的数据表中选择待预览数据表;
向所述服务器发送数据预览请求,以使所述服务器根据第三存储标识信息,获取待预览数据,并发送所述待预览数据,其中,所述数据预览请求包括:所述待预览数据库和所述待预览数据表,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
接收所述服务器发送的所述待预览数据,并进行数据预览。
11.一种数据访问装置,其特征在于,应用于服务器,包括:
请求接收模块,用于接收客户端发送的、针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
数据发送模块,用于向所述客户端发送所述待访问数据源的元数据中的所述数据库名和所述数据表名,以使得所述客户端根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表,并根据所述数据库和所述数据表进行数据访问。
12.根据权利要求11所述的装置,其特征在于,
所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:
同步请求接收模块,用于接收所述客户端发送的数据同步请求,其中,所述数据同步请求中包括:所述客户端从抽象得到的数据库中选择的源数据库的数据库名和目标数据库的数据库名、从抽象得到的属于所述源数据库的数据表中选择的源数据表的数据表名、从抽象得到属于所述目标数据库的数据表中选择的目标数据表的数据表名;
源数据端确定模块,用于根据第一存储标识信息,确定待进行数据同步的源数据端,其中,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息;
目标数据端确定模块,用于根据第二存储标识信息,确定待进行数据同步的目标数据端,其中,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息;
数据同步模块,用于对所述源数据端和所述目标数据端进行数据同步。
14.根据权利要求13所述的装置,其特征在于,所述数据同步模块,包括:
读权限判断子模块,用于基于所述数据同步请求中携带的权限信息判断是否具有所述源数据端的读权限;
数据读取子模块,用于当具有所述源数据端的读权限时,读取所述源数据端的数据;
写权限判断子模块,用于基于所述权限信息判断是否具有所述目标数据端的写权限;
数据写入子模块,用于当具有所述目标数据端的写权限时,将所读取的数据同步至所述目标数据端。
15.根据权利要求14所述的装置,其特征在于,
所述读权限判断子模块,具体判断所述源数据端是否属于所述数据同步请求中携带的权限信息所关联的目标项目;或者,判断所述目标项目是否已获得源端项目授予的读权限;其中,所述源端项目为所述源数据端所属的项目;
所述写权限判断子模块,具体用于判断所述目标数据端是否属于所述权限信息所关联的目标项目;或者,判断所述所述目标项目是否已获得目标数据端授予的写权限;其中,所述目标端项目为所述目标数据端所属的项目。
16.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:
预览请求接收模块,用于接收所述客户端发送的数据预览请求,其中,所述数据预览请求包括:待预览数据库和待预览数据表,所述待预览数据库是抽象后的数据库中的一个,所述待预览数据表是属于所述待预览数据库中的数据表中的一个;
预览数据获取模块,用于根据第三存储标识信息,获取待预览数据,其中,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
预览数据发送模块,用于向所述客户端发送所获取的待预览数据,以使所述客户端进行数据预览。
17.一种数据访问装置,其特征在于,应用于客户端,包括:
请求发送模块,用于向服务器发送针对待访问数据源的元数据获得请求,其中,所述待访问数据源的元数据中配置有数据库名和数据表名,所述待访问数据源中的数据按照存储标识信息进行存储,所述存储标识信息由所述数据库名和所述数据表名确定;
数据接收模块,用于接收所述服务器发送的所述待访问数据源的元数据中的所述数据库名和所述数据表名;
库表抽象模块,用于根据所述数据库名和所述数据表名将所述待访问数据源抽象为数据库和数据表;
数据访问模块,用于根据所述数据库和所述数据表进行数据访问。
18.根据权利要求17所述的装置,其特征在于,
所述待访问数据源中的数据以所述存储标识信息为索引进行存储。
19.根据权利要求17或18所述的装置,其特征在于,所述装置还包括:
同步库表选择模块,用于从抽象得到的数据库中选择源数据库和目标数据库、且从抽象得到的属于所述源数据库的数据表中选择源数据表、以及从抽象得到属于所述目标数据库的数据表中选择目标数据表;
同步请求发送模块,用于向所述服务器发送包括所述源数据库的数据库名、目的数据库的数据库名、源数据表的数据表名和目的数据表的数据表名的数据同步请求,以使所述服务器对源数据端和目标数据端进行数据同步,其中,所述源数据端根据第一存储标识信息确定得到,所述第一存储标识信息为:由所述源数据库的数据库名和所述源数据表的数据表名确定的信息,所述目的数据端根据第二存储标识信息确定得到,所述第二存储标识信息为:由所述目标数据库的数据库名和所述目标数据表的数据表名确定的信息。
20.根据权利要求17或18所述的装置,其特征在于,所述装置还包括:
预览库表选择模块,用于从抽象后的数据库中选择数据库,作为待预览数据库,并从属于所述待预览数据库的数据表中选择数据表,作为待预览数据表;
预览请求发送模块,用于向所述服务器发送数据预览请求,以使所述服务器根据第三存储标识信息,获取待预览数据,并发送待预览数据,其中,所述数据预览请求包括:所述待预览数据库和所述待预览数据表,所述第三存储标识信息为:由所述待预览数据库的数据库名和所述待预览数据表的数据表名确定的信息;
预览数据接收模块,用于接收服务器发送的待预览数据,并进行数据预览。
21.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6或7-10任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989135.0A CN112115122A (zh) | 2020-09-18 | 2020-09-18 | 一种数据访问方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989135.0A CN112115122A (zh) | 2020-09-18 | 2020-09-18 | 一种数据访问方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112115122A true CN112115122A (zh) | 2020-12-22 |
Family
ID=73799807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010989135.0A Pending CN112115122A (zh) | 2020-09-18 | 2020-09-18 | 一种数据访问方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115122A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061692A (en) * | 1997-11-04 | 2000-05-09 | Microsoft Corporation | System and method for administering a meta database as an integral component of an information server |
CN101000621A (zh) * | 2006-12-30 | 2007-07-18 | 中国建设银行股份有限公司 | 一种ims数据库互动式访问方法和工具 |
CN104166705A (zh) * | 2014-08-06 | 2014-11-26 | 广州华多网络科技有限公司 | 数据库的访问方法及装置 |
CN106469282A (zh) * | 2015-08-21 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 数据访问权限控制方法及装置 |
CN109409119A (zh) * | 2017-08-17 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 数据操作方法和装置 |
CN110032575A (zh) * | 2019-04-15 | 2019-07-19 | 网易(杭州)网络有限公司 | 数据查询方法、装置、设备和存储介质 |
CN110298189A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 数据库权限管理方法及设备 |
CN110633281A (zh) * | 2019-09-12 | 2019-12-31 | 北京百度网讯科技有限公司 | 多类型数据源的处理方法及装置 |
-
2020
- 2020-09-18 CN CN202010989135.0A patent/CN112115122A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061692A (en) * | 1997-11-04 | 2000-05-09 | Microsoft Corporation | System and method for administering a meta database as an integral component of an information server |
CN101000621A (zh) * | 2006-12-30 | 2007-07-18 | 中国建设银行股份有限公司 | 一种ims数据库互动式访问方法和工具 |
CN104166705A (zh) * | 2014-08-06 | 2014-11-26 | 广州华多网络科技有限公司 | 数据库的访问方法及装置 |
CN106469282A (zh) * | 2015-08-21 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 数据访问权限控制方法及装置 |
CN109409119A (zh) * | 2017-08-17 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 数据操作方法和装置 |
CN110298189A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 数据库权限管理方法及设备 |
CN110032575A (zh) * | 2019-04-15 | 2019-07-19 | 网易(杭州)网络有限公司 | 数据查询方法、装置、设备和存储介质 |
CN110633281A (zh) * | 2019-09-12 | 2019-12-31 | 北京百度网讯科技有限公司 | 多类型数据源的处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
王春华;韩栋;刘珂;: "网格环境中异构数据库集成的解决方案研究", 天中学刊, no. 02, 15 April 2007 (2007-04-15), pages 57 - 59 * |
王玉标;文俊浩;赵瑞锋;饶锡如;: "基于Web服务的异构数据库共享及同步机制", 计算机工程与设计, no. 24, 28 December 2009 (2009-12-28), pages 5774 - 5777 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9565232B2 (en) | Importing content items | |
KR101422859B1 (ko) | 문서의 오디언스-적정 버전을 제공하는 방법, 문서 서버, 및 컴퓨터 판독 가능 매체 | |
CN106815218B (zh) | 数据库访问方法、装置和数据库系统 | |
US20120265836A1 (en) | File sharing system and file sharing method | |
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
US10261996B2 (en) | Content localization using fallback translations | |
CN101729442A (zh) | 一种实现内容共享的方法和装置 | |
US11153071B2 (en) | Citation and attribution management methods and systems | |
US20140136496A1 (en) | System, method and non-transitory computer readable storage medium for supporting network file accessing and versioning with multiple protocols in a cloud storage server | |
CN108958744B (zh) | 大数据分布式集群的部署方法、装置、介质及电子设备 | |
CN110555015A (zh) | 数据库实体管理方法、装置、电子设备及存储介质 | |
US9665732B2 (en) | Secure Download from internet marketplace | |
KR101614890B1 (ko) | 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 | |
US9384068B2 (en) | Publishing of an application program interface | |
US10691757B1 (en) | Method and system for cached document search | |
CN109063061B (zh) | 跨分布式系统数据处理方法、装置、设备及存储介质 | |
CN112115122A (zh) | 一种数据访问方法、装置及电子设备 | |
CN107526530B (zh) | 数据处理方法和设备 | |
CN110879835B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN113392067A (zh) | 一种针对分布式数据库的数据处理方法、装置及系统 | |
CN111782634A (zh) | 数据分布式存储方法、装置、电子设备及存储介质 | |
TW201403362A (zh) | 在多主控環境中通過以頁面爲基礎之信息追蹤管理大型資料集 | |
US9961132B2 (en) | Placing a user account in escrow | |
US20090241134A1 (en) | Remote storage service api | |
CN113760860B (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 |