CN102426594A - 对数据库进行操作的方法和系统 - Google Patents
对数据库进行操作的方法和系统 Download PDFInfo
- Publication number
- CN102426594A CN102426594A CN201110339563XA CN201110339563A CN102426594A CN 102426594 A CN102426594 A CN 102426594A CN 201110339563X A CN201110339563X A CN 201110339563XA CN 201110339563 A CN201110339563 A CN 201110339563A CN 102426594 A CN102426594 A CN 102426594A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- layer
- operation requests
- end server
- 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.)
- Granted
Links
Abstract
本发明提供了一种对数据库进行操作的方法和系统,其中方法包括:前端服务器将来自浏览器的操作请求发送给网关数据库中间件;网关数据库中间件在对前端服务器进行权限认证通过后,向数据库层发送操作请求;数据库层根据操作请求中的操作目标信息对数据库进行操作并向网关数据库中间件返回操作结果;网关数据库中间件按照与前端服务器约定的格式,向前端服务器返回操作结果。本发明通过网关数据库中间件将对数据库的操作从前端服务器中独立出来,作为前端服务器与数据库之间的操作接口,在网关数据库中间件上实现权限控制,有效地保证了数据库的访问安全,同时有利于项目的升级和扩展。
Description
【技术领域】
本发明涉及网络技术领域,特别涉及一种对数据库进行操作的方法和系统。
【背景技术】
伴随着互联网的告诉发展,用户群体的变更、产品的更新、网站体验的升级需要对用户中心保持敏感性,根据市场需求调整用户中心发展的脚步。为了提高用户的忠诚度、粘合度、满意度和产品体验,各种以更个性化的操作、更丰富的内容、更活跃的互动形式的专业化综合性用户中心网站应运而生,例如近期涌现出的各种电子商务网站、微博网站等。上述用户中心网站需要通过对数据库进行操作实现对用户信息、行为的记录,同时需要保证用户信息的安全性。
现有对数据库进行操作的方式大多使用浏览器/服务器模式,即b/s模式,用户通过浏览器向服务器端发送操作请求,服务器端利用脚本直接对数据库进行操作,上述脚本包括超级文本预处理语言(PHP)、.net、java、python等。这种服务器端直接操作数据库的方式具有以下缺陷:
1)服务器端直接操作数据库,对数据库中的数据无法实现比较安全的保护。
2)一旦数据库的项目架构发生修改,则需要同时对各前端服务器的脚本进行修改,不利于项目的升级和扩展。
【发明内容】
本发明提供了一种对数据库进行操作的方法和系统,以便于提高数据库的安全性和扩展性。
具体技术方案如下:
一种对数据库进行操作的方法,应用于包含前端服务器、网关数据库中间件和数据库层的系统;该方法包括:
S1、所述前端服务器将来自浏览器的操作请求发送给所述网关数据库中间件;
S2、所述网关数据库中间件在对所述前端服务器进行权限认证通过后,向所述数据库层发送操作请求;
S3、所述数据库层根据所述操作请求中的操作目标信息对数据库进行操作并向所述网关数据库中间件返回操作结果;
S4、所述网关数据库中间件按照与所述前端服务器约定的格式,向所述前端服务器返回操作结果。
根据本发明一优选实施例,如果所述操作请求为读数据请求,则所述操作结果为所述数据库层从数据库读取的数据;
如果所述操作请求为写数据请求,则所述操作结果为所述数据库层对所述数据库写成功或写失败的结果;
如果所述操作请求为修改数据请求,则所述操作结果为所述数据库层对所述数据库修改成功或修改失败的结果;
如果所述操作请求为搜索数据请求,则所述操作结果为所述数据库层对所述数据库进行搜索后得到的搜索结果。
根据本发明一优选实施例,在所述步骤S4之后还包括:
如果所述操作请求为读数据请求或搜索数据请求,则所述前端服务器将所述操作目标信息和操作数据发送给缓存单元,由所述缓存单元存入内存;
在所述步骤S1之前还包括:
所述前端服务器判断所述操作请求的类型,如果是读数据请求或搜索数据请求,则将操作请求中携带的操作目标信息发送给缓存单元;
所述缓存单元判断内存中是否存在所述操作目标信息对应的操作数据,如果存在,则将所述对应的操作数据通过响应返回给所述前端服务器;否则向所述前端服务器返回空数据的响应;
所述前端服务器如果接收到包含所述对应的操作数据的响应,则将所述对应的操作数据发送给浏览器,结束流程;否则继续执行所述步骤S1;
其中,所述读数据请求对应的操作数据为所述数据库层从数据库读取的数据,所述搜索数据请求对应的操作数据为所述数据库层对所述数据库进行搜索后得到的搜索结果。
根据本发明一优选实施例,步骤S2中所述权限认证具体为:
如果所述网关数据库中间件确定操作请求中所述前端服务器的IP地址为外网地址,则权限认证失败;否则权限认证通过。
根据本发明一优选实施例,该方法还包括:
如果所述网关数据库中间件接收到的操作请求的并发数量超过预设的上限值,则不再接收操作请求,直至并发请求数量回落到所述上限值以下。
根据本发明一优选实施例,所述数据库层包括主数据库层和从数据库层,所述数据库分为读库和写库;
所述网关数据库中间件将读数据请求和搜索数据请求发送给所述从数据库层,将写数据请求和修改数据请求发送给所述主数据库层;
所述主数据库层在所述写库中执行写数据操作或者修改数据操作之后,将操作信息写入BINLOG中,所述主数据库层的IO进程从BINLOG的预设位置开始读取BINLOG中的数据;
所述从数据库层中的进程a定时连接所述主数据库层的IO进程,从BINLOG中读取数据并写入从数据库层的RELAYLOG中;所述从数据库层中的进程b将RELAYLOG中的数据读入所述读库,在接收到读数据请求后,从所述读库中读取相应数据并返回给所述网关数据库中间件,或者接收到搜索数据请求后,从所述读库中搜索相应数据并返回给所述网关数据库中间件。
根据本发明一优选实施例,所述从数据库层为多个,所述网关数据库中间件在多个从数据库层中实现读数据请求或搜索数据请求的负载均衡。
根据本发明一优选实施例,该方法还包括:
所述网关数据库中间件的主进程在运行后,产生一个子进程并关闭所述主进程,由所述子进程作为守护进程,所述守护进程创建套接字socket监听所述操作请求;
所述守护进程每监听到一个操作请求,都创建所述守护进程的一个子进程,并将操作请求交由该创建的子进程处理,当该创建的子进程完成操作请求的处理后自动退出,所述守护进程删除退出的子进程。
一种对数据库进行操作的系统,该系统包括:前端服务器、网关数据库中间件和数据库层;
所述前端服务器,用于将来自浏览器的操作请求发送给所述网关数据库中间件,接收所述网关数据库中间件发送的操作结果;
所述网关数据库中间件,用于接收到所述操作请求时,在对所述前端服务器进行权限认证通过后,向所述数据库层发送所述操作请求;接收所述数据库层返回的操作结果,按照与所述前端服务器约定的格式,向所述前端服务器发送所述操作结果;
所述数据库层,用于根据所述操作请求中的操作目标信息对数据库进行操作并向所述网关数据库中间件返回操作结果。
根据本发明一优选实施例,如果所述操作请求为读数据请求,则所述操作结果为所述数据库层从数据库读取的数据;
如果所述操作请求为写数据请求,则所述操作结果为所述数据库层对所述数据库写成功或写失败的结果;
如果所述操作请求为修改数据请求,则所述操作结果为所述数据库层对所述数据库修改成功或修改失败的结果;
如果所述操作请求为搜索数据请求,则所述操作结果为所述数据库层对所述数据库进行搜索后得到的搜索结果。
根据本发明一优选实施例,该系统还包括:缓存单元;
如果所述操作请求为读数据请求或搜索数据请求,则所述前端服务器,还用于接收到所述网关数据库中间件发送的操作结果后,将所述操作目标信息和操作数据发送给所述缓存单元;在将所述操作请求发送给所述网关数据库中间件之前,将操作请求中携带的操作目标信息发送给缓存单元;如果接收到所述缓存单元发送的包含操作数据的响应,则将操作数据发送给浏览器,结束操作,否则继续执行将所述操作请求发送给所述网关数据库中间件的操作;
所述缓存单元,用于将所述前端服务器发送的操作目标信息和操作数据存入内存;接收到所述操作请求中携带的操作目标信息后,判断内存中是否存在该操作目标信息对应的操作数据,如果存在,则将所述对应的操作数据通过响应返回给所述前端服务器;否则向所述前端服务器返回空数据的响应;
其中,所述读数据请求对应的操作数据为所述数据库层从数据库读取的数据,所述搜索数据请求对应的操作数据为所述数据库层对所述数据库进行搜索后得到的搜索结果。
根据本发明一优选实施例,所述网关数据库中间件在进行权限认证时,如果确定操作请求中所述前端服务器的IP地址为外网地址,则权限认证失败;否则权限认证通过。
根据本发明一优选实施例,所述网关数据库中间件如果接收到的操作请求的并发数量超过预设的上限值,则不再接收操作请求,直至并发请求数量回落到所述上限值以下。
根据本发明一优选实施例,所述数据库层包括主数据库层和从数据库层,所述数据库分为读库和写库;
所述网关数据库中间件将读数据请求和搜索数据请求发送给所述从数据库层,将写数据请求和修改数据请求发送给所述主数据库层;
所述主数据库层在所述写库中执行写数据操作或者修改数据操作之后,将操作信息写入BINLOG中,所述主数据库层的IO进程从BINLOG的预设位置开始读取BINLOG中的数据;
所述从数据库层中的进程a定时连接所述主数据库层的IO进程,从BINLOG中读取数据并写入从数据库层的RELAYLOG中;所述从数据库层中的进程b将RELAYLOG中的数据读入所述读库,在接收到读数据请求后,从所述读库中读取相应数据并返回给所述网关数据库中间件,或者接收到搜索数据请求后,从所述读库中搜索相应数据并返回给所述网关数据库中间件。
根据本发明一优选实施例,所述从数据库为多个,所述网关数据库中间件在多个从数据库层中实现读数据请求或搜索数据请求的负载均衡。
根据本发明一优选实施例,所述网关数据库中间件的主进程在运行后,产生一个子进程并关闭所述主进程,由所述子进程作为守护进程;
所述守护进程创建套接字socket监听所述操作请求,每监听到一个操作请求,都创建所述守护进程的一个子进程,并将操作请求交由该创建的子进程处理,当该创建的子进程完成操作请求的处理后自动退出,所述守护进程删除退出的子进程。
由以上技术方案可以看出,本发明通过网关数据库中间件将对数据库的操作从前端服务器中独立出来,作为前端服务器与数据库之间的操作接口,避免了前端服务器直接操作数据库,在网关数据库中间件上实现权限控制,有效地保证了数据库的访问安全。在数据库的项目架构发生变化时,例如编程使用的语言发生变化,操作接口发生变化等,无需对各前端服务器的脚本逐一进行修改,只需要在网关数据库中间件上进行相应的修改即可,从而更有利于项目的升级和扩展。
【附图说明】
图1为本发明实施例提供的系统结构图;
图2为本发明实施例一提供的主要方法流程图;
图3为本发明实施例二提供的查看站内信的方法流程图;
图4为本发明实施例三提供的写博客的方法流程图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中在前端服务器和数据库之间设置网关数据库中间件,前端服务器不再直接操作数据库,而是通过访问网关数据库中间件来实现对数据库的操作,也就是说,网关数据库中间件为前端服务器操作数据库提供了接口。系统结构如图1所示,在网关数据库中间件上实现访问权限的验证、根据前端服务器的操作请求对数据库进行操作以及返回操作结果的功能。
另外,为了提高访问性能,前端服务器可以将读取成功的数据发送给缓存单元,由缓存单元将读取成功的数据送入内存中进行缓存,以方便短期内的再次读取。在内存中数据设置有生存期,超出生存期的数据自动被删除。
下面基于上述系统结构结合实施例一对操作数据库的主要方法进行描述。
实施例一、
图2为本发明实施例一提供的主要方法流程图,如图2所示,该方法主要包括以下步骤:
步骤201:前端服务器接收来自浏览器的操作请求。
本发明实施例仍基于b/s模式,用户通过浏览器对用户中心网站的前端服务器发送操作请求,该操作请求包括但不限于:读数据操作、写数据操作、修改数据操作或者搜索数据操作等。例如,查看信箱、查看博客等操作数据读数据操作,用户信息设置、写博客等属于写数据操作,修改用户密码、修改博客内容等属于修改数据操作,搜索好友、搜索博客等属于搜索数据操作。
步骤202:前端服务器判断操作请求的类型,如果是读数据请求或搜索数据请求,则执行步骤203;否则,执行步骤206。
另外,前端服务器在接收到操作请求后,可以首先对用户权限进行验证,例如,对用户名、密码等信息进行验证,该部分内容为现有技术在本发明实施例中不再详述。
步骤203:前端服务器将操作请求中携带的读目标信息发送给缓存单元。
本发明实施例中涉及到的缓存单元可以采用Memcache,Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
步骤204:缓存单元判断内存中是否存在读目标信息对应的数据,如果存在,将对应数据通过响应返回给前端服务器;否则,向前端服务器返回空数据的响应。
步骤205:前端服务器如果接收到包含对应数据的响应,则将对应数据发送给浏览器,结束流程;否则继续执行步骤206。
需要说明的是,针对读操作请求由缓存单元首先判断是否在内存中存在读目标信息对应的数据是为了提高读数据的效率的方式,但并不是必须的步骤,也可以在执行步骤201之后直接执行步骤206。
步骤206:前端服务器将操作请求发送给网关数据库中间件。
前端服务器通过套接字(socket)与网关数据中间件进行连接,在操作请求中携带操作目标信息,例如要操作的内容ID、位置等。
步骤207:网关数据库中间件利用操作请求对前端服务器进行权限验证,如果通过,继续执行步骤208;否则向前端服务器回复访问失败的信息(该种情况图中未示出)。
网关数据库中间件可以禁止外网前端服务器的访问,可以通过IP地址进行身份识别,如果操作请求中前端服务器的IP地址为外网地址,则禁止该前端服务器访问,向其回复访问失败的信息;如果操作请求中前端服务器的IP地址为内网地址,则允许该访问,继续执行步骤208。
除此之外,为了保证数据传输的安全性,还可以对网关数据库中间件和前端服务器之间发送的请求和数据中进行密钥保护,网关数据库中间件和前端服务器对于接收到的请求或数据都要进行密钥判断,如果密钥不对,则不做处理,后续过程中均是如此,不再赘述。
优选地,还可以在网关数据库中间件上还可以进行并发控制,如果网关数据库中间件接收到的并发请求数量超过预设的上限值,则不再对接收到的操作请求进行处理,直至并发请求数量回落到上限值以下,从而保证了系统的稳定性。
步骤208:网关数据库中间件向数据库层发送操作请求。
步骤209:数据库层向网关数据库中间件返回操作结果。
如果操作请求为读数据请求,则向网关数据库中间件返回读取的数据;如果操作请求为写数据请求,则向网关数据库中间件返回写成功或写失败的结果;如果操作请求为修改数据请求,则向网关数据库中间件返回修改成功或修改失败的结果;如果操作请求为搜索数据请求,则向网关数据库中间件返回搜索结果。
为了提高数据库层的性能,可以在网关数据库中实现读写分离,在此可以将数据库层分为主数据库层和从数据库层,将数据库分为读库和写库。
在主数据库层开启BINLOG功能,在写数据操作或者修改数据操作之后,将操作信息写入BINLOG中。另外,在主数据库层开启一个IO进程,该IO进程用于从BINLOG的预设位置开始读取BINLOG中的数据。
在从数据库层开启两个进程:进程a和进程b,其中进程a负责定时连接主数据库层的IO进程,从BINLOG中读取数据并写入从数据库层的RELAYLOG中。进程b负责将RELAYLOG的数据读入读库,在接收到读数据请求后,从读库中读取相应数据并返回给网关数据库中间件,或者接收到搜索请求后,从读库中搜索相应数据并返回给网关数据库中间件。
在此需要说明的是,网关数据库中间件在将操作请求发送给数据库层时,如果操作请求对应读数据操作,则将该操作请求发送给从数据库层,由从数据库层中的进程b从读库完成数据读取的操作;如果操作请求对应写数据操作、修改数据操作或者搜索数据操作,则将搜索请求发送给主数据库层,由主数据库层从写库完成相应操作,并将操作信息写入RELAYLOG中。
由于通常读数据操作的数量远大于其他操作的数量,因此,可以设置多个从数据库层,从而实现一写多读,网关数据库中间件可以在多个从数据库层中实现负载均衡。
本发明实施例中涉及的数据库类型包括但不限于:MYSQL、MSSQL或者ORACLE。
步骤210:网关数据库中间件按照与前端服务器约定的格式,向前端服务器返回操作结果。
步骤211:前端服务器将操作结果返回给浏览器。
如果操作请求是读数据请求,则在返回的操作结果为成功读取的数据时,继续执行步骤212。如果操作请求是写数据请求、修改数据请求,则将会向缓存单元发送请求,由缓存单元删除内存中写数据请求所写入或修改数据请求所修改的数据。
步骤212:将操作数据和对应的操作目标信息发送给缓存单元,由缓存单元存入内存。
内存中的数据存在对应的生存时间,超过生存时间的数据将从内存中被删除。数据的生存时间可以根据系统对数据操作的实时性要求进行设置,如果对数据操作的实时性要求较高,则可以将生存时间设置的较短,如果对数据的实时性要求较低,则可以将生存时间设置的较长。
为了提高网关数据库中间件的性能,作为一种优选的实施方式,网关数据库中间件上可以实现通用网关接口(CGI)的多进程方式。网关数据库中间件的主进程在运行后,立即产生一个子进程,然后关闭主进程,由该子进程创建新会话,改变当前目录为根目录,重设文件权限掩码,也就是说,由该子进程作为守护进程。然后守护进程创建socket监听来自固定端口的操作请求。守护进程每监听到一个操作请求,都创建该守护进程的一个子进程,并将操作请求交由该创建的子进程处理,当该创建的子进程完成操作请求的处理后,自动退出,守护进程删除该子进程。
实施例二、
在该实施例中以查看信箱为例对读数据操作的过程进行详细描述。图3为本发明实施例二提供的查看站内信的方法流程图,如图3所示,该方法包括以下步骤:
步骤301:前端服务器接收来自浏览器的查看站内信的读数据请求。
当用户通过浏览器点击查看站内信的链接后,浏览器会将查看的站内信ID携带在读数据请求中发送给前端服务器。
步骤302:前端服务器将读数据请求中携带的站内信ID发送给缓存单元。
步骤303:缓存单元判断内存中是否存在站内信ID对应的数据,如果存在,将对应数据通过响应返回给前端服务器;否则,向前端服务器返回空数据的响应。假设本实施例中缓存单元确定内存中不存在站内信ID对应的数据,因此向前端服务器返回空数据的响应。
步骤304:前端服务器将读数据请求发送给网关数据库中间件。
步骤305:网关数据库中间件利用读数据请求对前端服务器进行权限验证。
假设前端服务器的IP地址为内网地址,验证通过,继续执行步骤306。
步骤306:网关数据库中间件向从数据库层发送读数据请求。
步骤307:从数据库层根据站内信ID从读库中读取对应的站内信内容返回给网关数据库中间件。
步骤308:网关数据库中间件按照与前端服务器约定的格式,将站内信内容返回给前端服务器。
步骤309:前端服务器将站内信内容返回给浏览器。
前端服务器如果确定返回的站内信内容正确,则返回给浏览器。
步骤310:将读取的站内信内容和站内信ID发送给缓存单元,由缓存单元存入内存。
上述步骤309和步骤310可以以任意的顺序先后执行,也可以同时执行,图3中仅为一种实施例。
在用户中心的应用中,可以将诸如用户基本信息、热门数据等常用信息预先加载进内存,在内存中开辟一块固定大小的存储空间来存储这些用户基本信息,从而提高读取这些常用信息的速度。
实施例三、
在该实施例中以写博客为例对写数据操作的过程进行详细描述。图4为本发明实施例三提供的写博客的方法流程图,如图4所示,该方法包括以下步骤:
步骤401:前端服务器接收来自浏览器的包含博客内容的写数据请求。
当用户通过浏览器写入博客内容后,浏览器会将博客内容携带在写数据请求发送给前端服务器。
步骤402:前端服务器将写数据请求发送给网关数据库中间件。
步骤403:网关数据库中间件利用写数据请求对前端服务器进行权限验证。
假设前端服务器的IP地址为内网地址,验证通过,继续执行步骤404。
步骤404:网关数据库中间件向主数据库层发送写数据请求。
步骤405:主数据库层将博客内容写入写库,并返回操作结果给网关数据库中间件。
步骤406:网关数据库中间件按照与前端服务器约定的格式,将操作结果返回给前端服务器。
步骤407:前端服务器判断操作结果如果是操作成功,则继续执行步骤408;如果操作失败,则将操作结果返回给浏览器。图中示出的是操作成功的情况。
步骤408:前端服务器向缓存单元发送请求,由缓存单元删除内存中写数据请求所写入的博客内容。
由于通常在写数据的时候会在内存中缓存写入的数据,一旦完成数据写入,则可以将内存中缓存的数据删除。
步骤409:前端服务器将网关数据库中间件返回的操作结果发送给浏览器。
另外,修改数据的操作与实施例三中所描述的流程类似,只是在主数据库接收到修改数据请求时,在步骤405中对写库执行的操作为修改数据,即更新写库中相应位置的数据。搜索数据的操作与实施例二中所描述的流程类似,只是在搜索请求中包含的是搜索项信息,且在从数据库接收到搜索数据请求时,在步骤307中从读库中搜索得到搜索项对应的数据并返回给网关数据库中间件,在步骤310中缓存单元存入内存的是搜索项和搜索项对应的数据,相应地,在步骤303中判断的是内存中是否存在搜索项对应的数据。
以上是对本发明所提供的方法进行的详细描述,下面结合实施例四对本发明提供的系统进行详细描述。
实施例四、
继续参见图1,本发明实施例四提供的对数据库进行操作的系统包括:前端服务器、网关数据库中间件和数据库层。在系统中通常会包含一个以上的前端服务器,在本发明实施例中以一个前端服务器为例,其他前端服务器与网关数据库中间件的连接和交互与实施例中描述的相同。
前端服务器,用于将来自浏览器的操作请求发送给网关数据库中间件,接收网关数据库中间件发送的操作结果。
另外,前端服务器在接收到操作请求后,可以首先对用户权限进行验证,例如,对用户名、密码等信息进行验证,该部分内容为现有技术在本发明实施例中不再详述。
前端服务器通过socket与网关数据中间件进行连接,在操作请求中携带操作目标信息,例如要操作的内容ID、位置等。
网关数据库中间件,用于接收到操作请求时,在对前端服务器进行权限认证通过后,向数据库层发送操作请求;接收数据库层返回的操作结果,按照与前端服务器约定的格式,向前端服务器发送操作结果。
数据库层,用于根据操作请求中的操作目标信息对数据库进行操作并向网关数据库中间件返回操作结果。
其中,如果操作请求为读数据请求,则操作结果为数据库层从数据库读取的数据。如果操作请求为写数据请求,则操作结果为数据库层对数据库写成功或写失败的结果;如果操作请求为修改数据请求,则操作结果为数据库层对数据库修改成功或修改失败的结果;如果操作请求为搜索数据请求,则操作结果为数据库层对数据库进行搜索后得到的搜索结果。
另外,为了提高系统对数据的读取性能,该系统还可以包括:缓存单元。
如果操作请求为读数据请求或搜索数据请求,则前端服务器,还用于接收到网关数据库中间件发送的操作结果后,将操作目标信息和操作数据发送给缓存单元;在将操作请求发送给网关数据库中间件之前,将操作请求中携带的操作目标信息发送给缓存单元;如果接收到缓存单元发送的包含操作数据的响应,则将操作数据发送给浏览器,结束操作,否则继续执行将操作请求发送给网关数据库中间件的操作。
缓存单元,用于将前端服务器发送的操作目标信息和操作数据存入内存;接收到操作请求中携带的操作目标信息后,判断内存中是否存在该操作目标信息对应的操作数据,如果存在,则将对应的操作数据通过响应返回给前端服务器;否则向前端服务器返回空数据的响应。
其中,读数据请求对应的操作数据为数据库层从数据库读取的数据,搜索数据请求对应的操作数据为数据库层对数据库进行搜索后得到的搜索结果。
本发明实施例中涉及到的缓存单元可以采用Memcache,Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
具体地,网关数据库中间件在进行权限认证时,如果确定操作请求中前端服务器的IP地址为外网地址,则权限认证失败;否则权限认证通过。
除此之外,为了保证数据传输的安全性,还可以对网关数据库中间件和前端服务器之间发送的请求和数据中进行密钥保护,网关数据库中间件和前端服务器对于接收到的请求或数据都要进行密钥判断,如果密钥不对,则不做处理,后续过程中均是如此,不再赘述。
优选地,在网关数据库中间件上可以进行并发控制,即如果接收到的操作请求的并发数量超过预设的上限值,则不再接收操作请求,直至并发请求数量回落到上限值以下。
为了提高数据库层的性能,可以在网关数据库中实现读写分离,此时,数据库层包括主数据库层和从数据库层,数据库分为读库和写库。
网关数据库中间件将读数据请求和搜索数据请求发送给从数据库层,将写数据请求和修改数据请求发送给主数据库层。
主数据库层在写库中执行写数据操作或者修改数据操作之后,将操作信息写入BINLOG中,主数据库层的IO进程从BINLOG的预设位置开始读取BINLOG中的数据。
从数据库层中的进程a定时连接主数据库层的IO进程,从BINLOG中读取数据并写入从数据库层的RELAYLOG中;从数据库层中的进程b将RELAYLOG中的数据读入读库,在接收到读数据请求后,从读库中读取相应数据并返回给网关数据库中间件,或者接收到搜索数据请求后,从读库中搜索相应数据并返回给网关数据库中间件。
由于通常读数据操作的数量远大于其他操作的数量,因此,从数据库为多个,网关数据库中间件在多个从数据库层中实现读数据请求或搜索数据请求的负载均衡。
为了提高网关数据库中间件的性能,作为一种优选的实施方式,网关数据库中间件上可以实现通用网关接口的多进程方式。网关数据库中间件的主进程在运行后,产生一个子进程并关闭主进程,由子进程作为守护进程;守护进程创建套接字socket监听操作请求,每监听到一个操作请求,都创建守护进程的一个子进程,并将操作请求交由该创建的子进程处理,当该创建的子进程完成操作请求的处理后自动退出,守护进程删除退出的子进程。
由以上描述可以看出,本发明提供的方法和系统具有以下优点:
1)本发明通过网关数据库中间件将对数据库的操作从前端服务器中独立出来,作为前端服务器与数据库之间的操作接口,避免了前端服务器直接操作数据库,在网关数据库中间件上实现权限控制,有效地保证了数据库的访问安全。
2)在数据库的项目架构发生变化时,例如编程使用的语言发生变化,操作接口发生变化等,无需对各前端服务器的脚本逐一进行修改,只需要在网关数据库中间件上进行相应的修改即可,有利于项目的升级和扩展。
3)在网关数据库中间件上进行并发控制,从而保证对数据库的并发操作在一定数量之内,减少瞬间的高并发量导致系统宕机。
4)在数据库层可以分为操作写库的主数据库层和操作读库的从数据库层,将对数据库的读写分离,并可以采用一写多读的集群方式,有效缓解数据库压力。
5)在网关数据库中间件上实现CGI多进程方式,有效提高网关数据库中间件的性能,保证了系统的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种对数据库进行操作的方法,其特征在于,应用于包含前端服务器、网关数据库中间件和数据库层的系统;该方法包括:
S1、所述前端服务器将来自浏览器的操作请求发送给所述网关数据库中间件;
S2、所述网关数据库中间件在对所述前端服务器进行权限认证通过后,向所述数据库层发送操作请求;
S3、所述数据库层根据所述操作请求中的操作目标信息对数据库进行操作并向所述网关数据库中间件返回操作结果;
S4、所述网关数据库中间件按照与所述前端服务器约定的格式,向所述前端服务器返回操作结果。
2.根据权利要求1所述的方法,其特征在于,如果所述操作请求为读数据请求,则所述操作结果为所述数据库层从数据库读取的数据;
如果所述操作请求为写数据请求,则所述操作结果为所述数据库层对所述数据库写成功或写失败的结果;
如果所述操作请求为修改数据请求,则所述操作结果为所述数据库层对所述数据库修改成功或修改失败的结果;
如果所述操作请求为搜索数据请求,则所述操作结果为所述数据库层对所述数据库进行搜索后得到的搜索结果。
3.根据权利要求1所述的方法,其特征在于,在所述步骤S4之后还包括:
如果所述操作请求为读数据请求或搜索数据请求,则所述前端服务器将所述操作目标信息和操作数据发送给缓存单元,由所述缓存单元存入内存;
在所述步骤S1之前还包括:
所述前端服务器判断所述操作请求的类型,如果是读数据请求或搜索数据请求,则将操作请求中携带的操作目标信息发送给缓存单元;
所述缓存单元判断内存中是否存在所述操作目标信息对应的操作数据,如果存在,则将所述对应的操作数据通过响应返回给所述前端服务器;否则向所述前端服务器返回空数据的响应;
所述前端服务器如果接收到包含所述对应的操作数据的响应,则将所述对应的操作数据发送给浏览器,结束流程;否则继续执行所述步骤S1;
其中,所述读数据请求对应的操作数据为所述数据库层从数据库读取的数据,所述搜索数据请求对应的操作数据为所述数据库层对所述数据库进行搜索后得到的搜索结果。
4.根据权利要求1所述的方法,其特征在于,步骤S2中所述权限认证具体为:
如果所述网关数据库中间件确定操作请求中所述前端服务器的IP地址为外网地址,则权限认证失败;否则权限认证通过。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
如果所述网关数据库中间件接收到的操作请求的并发数量超过预设的上限值,则不再接收操作请求,直至并发请求数量回落到所述上限值以下。
6.根据权利要求2所述的方法,其特征在于,所述数据库层包括主数据库层和从数据库层,所述数据库分为读库和写库;
所述网关数据库中间件将读数据请求和搜索数据请求发送给所述从数据库层,将写数据请求和修改数据请求发送给所述主数据库层;
所述主数据库层在所述写库中执行写数据操作或者修改数据操作之后,将操作信息写入BINLOG中,所述主数据库层的IO进程从BINLOG的预设位置开始读取BINLOG中的数据;
所述从数据库层中的进程a定时连接所述主数据库层的IO进程,从BINLOG中读取数据并写入从数据库层的RELAYLOG中;所述从数据库层中的进程b将RELAYLOG中的数据读入所述读库,在接收到读数据请求后,从所述读库中读取相应数据并返回给所述网关数据库中间件,或者接收到搜索数据请求后,从所述读库中搜索相应数据并返回给所述网关数据库中间件。
7.根据权利要求6所述的方法,其特征在于,所述从数据库层为多个,所述网关数据库中间件在多个从数据库层中实现读数据请求或搜索数据请求的负载均衡。
8.根据权利要求1所述的方法,其特征在于,该方法还包括:
所述网关数据库中间件的主进程在运行后,产生一个子进程并关闭所述主进程,由所述子进程作为守护进程,所述守护进程创建套接字socket监听所述操作请求;
所述守护进程每监听到一个操作请求,都创建所述守护进程的一个子进程,并将操作请求交由该创建的子进程处理,当该创建的子进程完成操作请求的处理后自动退出,所述守护进程删除退出的子进程。
9.一种对数据库进行操作的系统,其特征在于,该系统包括:前端服务器、网关数据库中间件和数据库层;
所述前端服务器,用于将来自浏览器的操作请求发送给所述网关数据库中间件,接收所述网关数据库中间件发送的操作结果;
所述网关数据库中间件,用于接收到所述操作请求时,在对所述前端服务器进行权限认证通过后,向所述数据库层发送所述操作请求;接收所述数据库层返回的操作结果,按照与所述前端服务器约定的格式,向所述前端服务器发送所述操作结果;
所述数据库层,用于根据所述操作请求中的操作目标信息对数据库进行操作并向所述网关数据库中间件返回操作结果。
10.根据权利要求9所述的系统,其特征在于,如果所述操作请求为读数据请求,则所述操作结果为所述数据库层从数据库读取的数据;
如果所述操作请求为写数据请求,则所述操作结果为所述数据库层对所述数据库写成功或写失败的结果;
如果所述操作请求为修改数据请求,则所述操作结果为所述数据库层对所述数据库修改成功或修改失败的结果;
如果所述操作请求为搜索数据请求,则所述操作结果为所述数据库层对所述数据库进行搜索后得到的搜索结果。
11.根据权利要求9所述的系统,其特征在于,该系统还包括:缓存单元;
如果所述操作请求为读数据请求或搜索数据请求,则所述前端服务器,还用于接收到所述网关数据库中间件发送的操作结果后,将所述操作目标信息和操作数据发送给所述缓存单元;在将所述操作请求发送给所述网关数据库中间件之前,将操作请求中携带的操作目标信息发送给缓存单元;如果接收到所述缓存单元发送的包含操作数据的响应,则将操作数据发送给浏览器,结束操作,否则继续执行将所述操作请求发送给所述网关数据库中间件的操作;
所述缓存单元,用于将所述前端服务器发送的操作目标信息和操作数据存入内存;接收到所述操作请求中携带的操作目标信息后,判断内存中是否存在该操作目标信息对应的操作数据,如果存在,则将所述对应的操作数据通过响应返回给所述前端服务器;否则向所述前端服务器返回空数据的响应;
其中,所述读数据请求对应的操作数据为所述数据库层从数据库读取的数据,所述搜索数据请求对应的操作数据为所述数据库层对所述数据库进行搜索后得到的搜索结果。
12.根据权利要求9所述的系统,其特征在于,所述网关数据库中间件在进行权限认证时,如果确定操作请求中所述前端服务器的IP地址为外网地址,则权限认证失败;否则权限认证通过。
13.根据权利要求9所述的系统,其特征在于,所述网关数据库中间件如果接收到的操作请求的并发数量超过预设的上限值,则不再接收操作请求,直至并发请求数量回落到所述上限值以下。
14.根据权利要求10所述的系统,其特征在于,所述数据库层包括主数据库层和从数据库层,所述数据库分为读库和写库;
所述网关数据库中间件将读数据请求和搜索数据请求发送给所述从数据库层,将写数据请求和修改数据请求发送给所述主数据库层;
所述主数据库层在所述写库中执行写数据操作或者修改数据操作之后,将操作信息写入BINLOG中,所述主数据库层的IO进程从BINLOG的预设位置开始读取BINLOG中的数据;
所述从数据库层中的进程a定时连接所述主数据库层的IO进程,从BINLOG中读取数据并写入从数据库层的RELAYLOG中;所述从数据库层中的进程b将RELAYLOG中的数据读入所述读库,在接收到读数据请求后,从所述读库中读取相应数据并返回给所述网关数据库中间件,或者接收到搜索数据请求后,从所述读库中搜索相应数据并返回给所述网关数据库中间件。
15.根据权利要求14所述的系统,其特征在于,所述从数据库为多个,所述网关数据库中间件在多个从数据库层中实现读数据请求或搜索数据请求的负载均衡。
16.根据权利要求9所述的系统,其特征在于,所述网关数据库中间件的主进程在运行后,产生一个子进程并关闭所述主进程,由所述子进程作为守护进程;
所述守护进程创建套接字socket监听所述操作请求,每监听到一个操作请求,都创建所述守护进程的一个子进程,并将操作请求交由该创建的子进程处理,当该创建的子进程完成操作请求的处理后自动退出,所述守护进程删除退出的子进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110339563 CN102426594B (zh) | 2011-10-31 | 2011-10-31 | 对数据库进行操作的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110339563 CN102426594B (zh) | 2011-10-31 | 2011-10-31 | 对数据库进行操作的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102426594A true CN102426594A (zh) | 2012-04-25 |
CN102426594B CN102426594B (zh) | 2013-05-29 |
Family
ID=45960574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110339563 Active CN102426594B (zh) | 2011-10-31 | 2011-10-31 | 对数据库进行操作的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102426594B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338233A (zh) * | 2013-06-05 | 2013-10-02 | 新浪网技术(中国)有限公司 | 负载均衡设备、Web服务器及请求信息处理方法和系统 |
CN103678632A (zh) * | 2013-12-19 | 2014-03-26 | 成都市卓睿科技有限公司 | 在数据系统中快速更新数据的系统及方法 |
CN104252501A (zh) * | 2013-06-29 | 2014-12-31 | 华为技术有限公司 | 一种执行数据库操作命令的计算设备和方法 |
CN104394171A (zh) * | 2014-12-11 | 2015-03-04 | 北京奇虎科技有限公司 | 一种数据操作方法及装置 |
CN104468773A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 数据处理方法和服务端 |
CN104572638A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 数据读写方法及装置 |
CN104598442A (zh) * | 2015-01-12 | 2015-05-06 | 沈文策 | 一种微信关键词人机交互方法 |
CN105786581A (zh) * | 2016-03-28 | 2016-07-20 | 北京三快在线科技有限公司 | 用于进行网络数据操作的多级服务器和方法 |
CN105991565A (zh) * | 2015-02-05 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 读写分离的方法、系统和数据库代理服务器 |
CN106101055A (zh) * | 2016-04-29 | 2016-11-09 | 乐视控股(北京)有限公司 | 一种多数据库的数据访问方法及其系统和代理服务器 |
CN103617131B (zh) * | 2013-11-26 | 2017-02-22 | 曙光信息产业股份有限公司 | 一种实现数据缓存的方法 |
CN106933866A (zh) * | 2015-12-31 | 2017-07-07 | 优信拍(北京)信息科技有限公司 | 数据发布方法、装置及系统 |
CN107209706A (zh) * | 2014-12-16 | 2017-09-26 | 茨特里克斯系统公司 | 用于将设备连接到正在接收维护的应用和桌面的方法和系统 |
CN107729073A (zh) * | 2017-09-22 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于Python多进程库创建systemd服务的方法 |
CN108062382A (zh) * | 2017-12-13 | 2018-05-22 | 广州视源电子科技股份有限公司 | 信息交互的方法、装置、设备以及存储介质 |
CN108718285A (zh) * | 2018-06-15 | 2018-10-30 | 北京奇艺世纪科技有限公司 | 云计算集群的流量控制方法、装置及服务器 |
CN108805518A (zh) * | 2018-05-14 | 2018-11-13 | 北京车和家信息技术有限公司 | 信息处理方法、装置、系统及电子设备 |
CN109145060A (zh) * | 2018-07-20 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN109558251A (zh) * | 2017-09-26 | 2019-04-02 | 北京京东尚科信息技术有限公司 | 页面结构信息修改的方法及终端 |
CN110855794A (zh) * | 2019-11-20 | 2020-02-28 | 山东健康医疗大数据有限公司 | 一种基于TCP协议的数据库Socket网关实现方法及装置 |
CN111078707A (zh) * | 2019-12-23 | 2020-04-28 | 广州探途天下科技有限公司 | 一种数据处理方法与系统 |
CN111897872A (zh) * | 2020-07-03 | 2020-11-06 | 杭州浮云网络科技有限公司 | 基于服务中心的大规模mssql管理方法、系统和计算机设备 |
CN113296974A (zh) * | 2020-08-31 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据库访问方法、装置、电子设备及可读存储介质 |
CN114138809A (zh) * | 2021-12-08 | 2022-03-04 | 纳里健康科技有限公司 | 一种数据库读写分离方法及平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169785A (zh) * | 2007-11-21 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 集群数据库系统的动态负载均衡方法 |
CN101309139A (zh) * | 2007-05-15 | 2008-11-19 | 盛大计算机(上海)有限公司 | 通行证认证系统 |
CN101853274A (zh) * | 2010-05-10 | 2010-10-06 | 浪潮电子信息产业股份有限公司 | 一种实现异种数据库互联的方法 |
-
2011
- 2011-10-31 CN CN 201110339563 patent/CN102426594B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309139A (zh) * | 2007-05-15 | 2008-11-19 | 盛大计算机(上海)有限公司 | 通行证认证系统 |
CN101169785A (zh) * | 2007-11-21 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 集群数据库系统的动态负载均衡方法 |
CN101853274A (zh) * | 2010-05-10 | 2010-10-06 | 浪潮电子信息产业股份有限公司 | 一种实现异种数据库互联的方法 |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338233A (zh) * | 2013-06-05 | 2013-10-02 | 新浪网技术(中国)有限公司 | 负载均衡设备、Web服务器及请求信息处理方法和系统 |
CN103338233B (zh) * | 2013-06-05 | 2016-05-11 | 新浪网技术(中国)有限公司 | 负载均衡设备、Web服务器及请求信息处理方法和系统 |
CN104252501A (zh) * | 2013-06-29 | 2014-12-31 | 华为技术有限公司 | 一种执行数据库操作命令的计算设备和方法 |
CN104252501B (zh) * | 2013-06-29 | 2018-08-21 | 华为技术有限公司 | 一种执行数据库操作命令的计算设备和方法 |
CN104572638B (zh) * | 2013-10-09 | 2019-03-26 | 腾讯科技(深圳)有限公司 | 数据读写方法及装置 |
CN104572638A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 数据读写方法及装置 |
CN103617131B (zh) * | 2013-11-26 | 2017-02-22 | 曙光信息产业股份有限公司 | 一种实现数据缓存的方法 |
CN103678632A (zh) * | 2013-12-19 | 2014-03-26 | 成都市卓睿科技有限公司 | 在数据系统中快速更新数据的系统及方法 |
CN104468773A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 数据处理方法和服务端 |
CN104394171B (zh) * | 2014-12-11 | 2018-12-21 | 北京奇虎科技有限公司 | 一种数据操作方法及装置 |
CN104394171A (zh) * | 2014-12-11 | 2015-03-04 | 北京奇虎科技有限公司 | 一种数据操作方法及装置 |
US11303704B2 (en) | 2014-12-16 | 2022-04-12 | Citrix Systems, Inc. | Methods and systems for connecting devices to applications and desktops that are receiving maintenance |
CN107209706A (zh) * | 2014-12-16 | 2017-09-26 | 茨特里克斯系统公司 | 用于将设备连接到正在接收维护的应用和桌面的方法和系统 |
CN107209706B (zh) * | 2014-12-16 | 2021-02-09 | 茨特里克斯系统公司 | 用于将设备连接到正在接收维护的应用和桌面的方法和系统 |
CN104598442A (zh) * | 2015-01-12 | 2015-05-06 | 沈文策 | 一种微信关键词人机交互方法 |
CN105991565A (zh) * | 2015-02-05 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 读写分离的方法、系统和数据库代理服务器 |
US10706165B2 (en) | 2015-02-05 | 2020-07-07 | Alibaba Group Holding Limited | System, method and database proxy server for separating operations of read and write |
CN106933866A (zh) * | 2015-12-31 | 2017-07-07 | 优信拍(北京)信息科技有限公司 | 数据发布方法、装置及系统 |
CN105786581A (zh) * | 2016-03-28 | 2016-07-20 | 北京三快在线科技有限公司 | 用于进行网络数据操作的多级服务器和方法 |
CN106101055A (zh) * | 2016-04-29 | 2016-11-09 | 乐视控股(北京)有限公司 | 一种多数据库的数据访问方法及其系统和代理服务器 |
CN107729073A (zh) * | 2017-09-22 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于Python多进程库创建systemd服务的方法 |
CN109558251A (zh) * | 2017-09-26 | 2019-04-02 | 北京京东尚科信息技术有限公司 | 页面结构信息修改的方法及终端 |
CN109558251B (zh) * | 2017-09-26 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 页面结构信息修改的方法及终端 |
CN108062382A (zh) * | 2017-12-13 | 2018-05-22 | 广州视源电子科技股份有限公司 | 信息交互的方法、装置、设备以及存储介质 |
CN108805518A (zh) * | 2018-05-14 | 2018-11-13 | 北京车和家信息技术有限公司 | 信息处理方法、装置、系统及电子设备 |
CN108718285A (zh) * | 2018-06-15 | 2018-10-30 | 北京奇艺世纪科技有限公司 | 云计算集群的流量控制方法、装置及服务器 |
CN108718285B (zh) * | 2018-06-15 | 2022-06-03 | 北京奇艺世纪科技有限公司 | 云计算集群的流量控制方法、装置及服务器 |
CN109145060B (zh) * | 2018-07-20 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN109145060A (zh) * | 2018-07-20 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN110855794A (zh) * | 2019-11-20 | 2020-02-28 | 山东健康医疗大数据有限公司 | 一种基于TCP协议的数据库Socket网关实现方法及装置 |
CN111078707A (zh) * | 2019-12-23 | 2020-04-28 | 广州探途天下科技有限公司 | 一种数据处理方法与系统 |
CN111078707B (zh) * | 2019-12-23 | 2024-02-02 | 广州探途天下科技有限公司 | 一种数据处理方法与系统 |
CN111897872A (zh) * | 2020-07-03 | 2020-11-06 | 杭州浮云网络科技有限公司 | 基于服务中心的大规模mssql管理方法、系统和计算机设备 |
CN113296974A (zh) * | 2020-08-31 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据库访问方法、装置、电子设备及可读存储介质 |
CN114138809A (zh) * | 2021-12-08 | 2022-03-04 | 纳里健康科技有限公司 | 一种数据库读写分离方法及平台 |
Also Published As
Publication number | Publication date |
---|---|
CN102426594B (zh) | 2013-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102426594B (zh) | 对数据库进行操作的方法和系统 | |
CN106685691B (zh) | 物联网系统中终端设备的高效更新配置方法 | |
CN101233514B (zh) | 管理输入/输出的方法 | |
KR100725066B1 (ko) | 다수의 클라이언트와의 데이터 통신을 위한 시스템 서버 및데이터 처리 방법 | |
CN106021445A (zh) | 一种加载缓存数据的方法及装置 | |
CN105051675B (zh) | 复制目标服务 | |
CN101217571B (zh) | 用于多副本数据网格系统中的写/读文件操作的方法 | |
CN111078607B (zh) | 面向rdma与非易失性内存的网络访问编程框架部署方法及系统 | |
CN103150394A (zh) | 面向高性能计算的分布式文件系统元数据管理方法 | |
CN102035815A (zh) | 数据获取方法、接入节点和系统 | |
CN107391758A (zh) | 数据库切换方法、装置及设备 | |
CN109493072A (zh) | 一种基于联盟区块链的隐私合约保护的方法 | |
CN109597640B (zh) | 一种应用程序的账号管理方法、装置、设备和介质 | |
CN101771537A (zh) | 分布式认证系统及其认证证书的处理方法、认证方法 | |
US11263270B1 (en) | Heat balancing in a distributed time-series database | |
CN101668048A (zh) | 支持任意时间数据访问和修改的数据保护方法及系统 | |
CN111917636B (zh) | 数据采集处理方法、装置、系统和边缘网关设备 | |
CN102377737B (zh) | 一种多帐户访问交互式邮件存取协议服务器的系统及方法 | |
CN101378329B (zh) | 分布式业务运营支撑系统和分布式业务的实现方法 | |
CN107566195A (zh) | 镜像仓库处理方法及系统 | |
US11409771B1 (en) | Splitting partitions across clusters in a time-series database | |
CN105224541B (zh) | 数据的唯一性控制方法、信息存储方法及装置 | |
CN112884587B (zh) | 区块链交易执行方法、区块链节点及控制装置 | |
CN102571603B (zh) | 以太网端口控制装置及方法 | |
CN107783728A (zh) | 数据存储方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20120425 Assignee: Fujian gold online Network Inc Assignor: Shen Wence Contract record no.: 2014350000071 Denomination of invention: Method and system for operating database Granted publication date: 20130529 License type: Exclusive License Record date: 20140704 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |