CN107317831A - 基于内存数据库的网站访问方法 - Google Patents
基于内存数据库的网站访问方法 Download PDFInfo
- Publication number
- CN107317831A CN107317831A CN201610267298.1A CN201610267298A CN107317831A CN 107317831 A CN107317831 A CN 107317831A CN 201610267298 A CN201610267298 A CN 201610267298A CN 107317831 A CN107317831 A CN 107317831A
- Authority
- CN
- China
- Prior art keywords
- website
- session data
- memory database
- access
- session
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于内存数据库的网站访问方法,本方法在用户首次发送登录网站信息时生成一个session数据来跟踪会话,并随机分配某一服务器处理该次访问;该服务器将当前用户的session数据存放于供所有服务器共享的内存数据库中,并对该次访问作出应答;当用户再次访问网站时,随机分配另一服务器处理再次访问,该服务器检查有无该用户的session数据,如有直接作出应答,如无则从内存数据库中获取该用户的session数据并作出应答;设置session数据的有效时间,超过有效时间的session数据被删除,访问会话过期或被放弃。本方法利用内存数据库读写速度的优势,克服了传统数据存储的缺陷,极大提高了网站的访问性能,并且确保了数据的安全性。
Description
技术领域
本发明涉及一种基于内存数据库的网站访问方法。
背景技术
随着互联网技术的迅速发展,各类网络应用运用而生,例如网购,用户需要购物必须首先登录到购物网站,通常用户在登录到网站的时间段内,需要一个会话控制(session)来跟踪会话,对于网站的后台,一般是由多台服务器通过负载均衡共同承担后台服务,网站访问生成的session数据文件存放于某一服务器的磁盘上。负载均衡的目的是为了平均分配网络访问请求,因此同一用户的第一次网络访问和第二次网络访问与同一台服务器无必然关系,实际上也是无法确定的,即第一秒访问的可能是某一服务器,第二秒访问的可能是另一服务器。所以同一个登录用户实际上就会出现:第一秒访问的是第一台服务器,第二秒访问的是第二台服务器,而访问的登录信息一般保存在session数据文件中,如此登录保存的session数据就需要进行共享,不然的话会出现访问第一台服务器生成了一个session数据,第二秒访问请求到第三台服务器,结果第三台服务器获取不到刚才生成的session数据。
针对上述问题,现有解决方案1为:将原来存储在某一服务器磁盘上的session数据存储到客户端的浏览器cookie中。这样就不需要涉及到数据共享。客户端请求访问的时候,原来生成在服务器的session数据生成到浏览器的cookie中,根据cookie中的数据识别用户。后台服务器由原来的从本地磁盘上读取session数据转变为从客户端浏览器cookie中读取session数据,这样,在网站多台服务器负载均衡的情况下,即便第一秒请求访问的是第一台服务器,第二秒请求访问的是第三台服务器,均可以读取客户端上的浏览器cookie数据。
该解决方案减轻了服务器的压力,由于session数据不保存在服务器磁盘上,因此不会出现session数据读取不到的问题。但是其网络的访问请求占用很多,每次访问请求时,客户端都要通过cookie发送session数据给服务器。另外,浏览器对cookie的大小存在限制,每种浏览器限制是不同的。
所以该解决方案不适合高访问量的情况下,每次访问请求浏览器都要发送session数据给服务器。一般一个cookie大小为2k,每次发送需占用很多带宽,成本增高。另外存在一定的安全问题,将session数据存放于客户端,而一般session数据包含的都是重要性数据,如帐号、昵称、用户ID等,因此安全性较差。
现有的解决方案2为:session数据保存在传统的关系型数据库中,这种方式的扩展性很强,可以随意增加WEB而不受影响,且安全性较好,其实质为采用程序模拟实现session的机制。具体为将以前存储在文件中的session数据存储到数据库中,程序模拟从数据库读取session数据,约定什么情况下数据过期并自动清理,这里是指删除数据库中的行。session数据存放到数据库后,就可以实现多台服务器统一操作数据库,每台服务器都能从数据库中进行读取,从而实现session数据的共享。
session数据存放于数据库,当访问量小时没有问题。但对于大流量网站将严重拖慢访问速度。因为在访问时首先需查询数据库,造成数据库压力大,在高并发访问的情况下,会出现很大的性能问题。session数据存储在数据库的做法,在线人数决定了其瓶颈,只要是登录的用户就会涉及到频繁操作数据库,影响网站的访问性能。
现有的解决方案3:利用开源的反向代理服务器来做session数据的复制,客户端访问第一台服务器,则第一台服务器同时必须将session数据拷贝到第二台服务器和第三台服务器上,以实现session数据的同步。
该解决方案对于小型网站系统,即仅有2~3台服务器,那么服务器间相互拷贝不存在问题,但如果一个大型网站系统有20~30台服务器的话,答案是显而易见的,此时服务器不用再对外提供服务了,就各服务器之间的session数据复制就会将服务器的80%-90%的资源占掉,并且复制数据会出现延迟,拖慢整个系统的速度。
发明内容
本发明所要解决的技术问题是提供一种基于内存数据库的网站访问方法,本方法利用内存数据库读写速度的优势,克服了传统网站访问过程session数据存储的缺陷,极大提高了网站的访问性能,并且确保了session数据的安全性。
为解决上述技术问题,本发明基于内存数据库的网站访问方法包括如下步骤:
步骤一、用户首次发送登录网站信息,网站生成一个session数据来跟踪会话,并且通过服务代理随机分配网站后台某一服务器处理该次访问;
步骤二、网站后台某一服务器将当前用户的session数据存放于供网站后台所有服务器共享的内存数据库中,并且对该次访问作出应答;
步骤三、当用户再次访问网站时,网站服务代理随机分配网站后台另一服务器处理再次访问,另一服务器首先检查本机有无当前用户的session数据,如有则直接作出应答,如无则从内存数据库中获取当前用户的session数据,然后作出对应的应答;
步骤四、网站后台服务器采用淘汰策略设置存放于内存数据库中session数据的有效时间,超过有效时间的session数据从内存数据库中删除,访问会话过期或被放弃。
进一步,网站后台服务器通过定制方式编辑生成包含用户登录偏好、状态的session数据,便于网站人性化的提供当前在线用户因登录行为引起的实时公告信息和统计信息。
由于本发明基于内存数据库的网站访问方法采用了上述技术方案,即本方法在用户首次发送登录网站信息时生成一个session数据来跟踪会话,并随机分配某一服务器处理该次访问;该服务器将当前用户的session数据存放于供网站后台所有服务器共享的内存数据库中,并且对该次访问作出应答;当用户再次访问网站时,随机分配另一服务器处理再次访问,另一服务器首先检查本机有无当前用户的session数据,如有则直接作出应答,如无则从内存数据库中获取当前用户的session数据,然后作出对应的应答;网站后台服务器设置session数据的有效时间,超过有效时间的session数据从内存数据库中删除,访问会话过期或被放弃。本方法利用内存数据库读写速度的优势,克服了传统网站访问过程session数据存储的缺陷,极大提高了网站的访问性能,并且确保了session数据的安全性。
附图说明
下面结合附图和实施方式对本发明作进一步的详细说明:
图1为本发明基于内存数据库的网站访问方法的原理示意图。
具体实施方式
实施例如图1所示,本发明基于内存数据库的网站访问方法包括如下步骤:
步骤一、用户首次发送登录网站信息,网站生成一个session数据来跟踪会话,并且通过服务代理随机分配网站后台某一服务器处理该次访问;
步骤二、网站后台某一服务器将当前用户的session数据存放于供网站后台所有服务器共享的内存数据库中,并且对该次访问作出应答;
步骤三、当用户再次访问网站时,网站服务代理随机分配网站后台另一服务器处理再次访问,另一服务器首先检查本机有无当前用户的session数据,如有则直接作出应答,如无则从内存数据库中获取当前用户的session数据,然后作出对应的应答;
步骤四、网站后台服务器采用淘汰策略设置存放于内存数据库中session数据的有效时间,超过有效时间的session数据从内存数据库中删除,访问会话过期或被放弃。
优选的,网站后台服务器通过定制方式编辑生成包含用户登录偏好、状态的session数据,便于网站人性化的提供当前在线用户因登录行为引起的实时公告信息和统计信息。
本方法中的内存数据库是将数据放在内存中直接操作的数据库,相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,因此数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。
本方法利用内存数据库读写速度的优势,其与磁盘读取的速度不是一个数量级的,将session数据保存在memcached、redis、couchbase之类的内存数据库中,他们是基于内存存储数据的,性能很高,用户并发量很大的时候尤其合适;针对于安全方面,将session数据存放内存数据库中不会存在安全问题,由于内存数据库集群对于外部是不可访问,因此杜绝了信息泄露等风险;同时内存数据库系统能够控制内存中的过期数据自动失效,其刚好符合session数据的过期需要,满足session数据的存储需要,利用内存数据库集群,可达到自动容灾,实现高可用性,当网站中一个节点宕机,导致该节点服务不可用时,由于session数据是存储在内存数据库中的,因此不影响网站整体的服务;在扩展方面,新增节点时,只需要应用服务连接内存数据库,将新增的节点添加到负载均衡的集群中就可以完成扩展。
Claims (2)
1.一种基于内存数据库的网站访问方法,其特征在于本方法包括如下步骤:
步骤一、用户首次发送登录网站信息,网站生成一个session数据来跟踪会话,并且通过服务代理随机分配网站后台某一服务器处理该次访问;
步骤二、网站后台某一服务器将当前用户的session数据存放于供网站后台所有服务器共享的内存数据库中,并且对该次访问作出应答;
步骤三、当用户再次访问网站时,网站服务代理随机分配网站后台另一服务器处理再次访问,另一服务器首先检查本机有无当前用户的session数据,如有则直接作出应答,如无则从内存数据库中获取当前用户的session数据,然后作出对应的应答;
步骤四、网站后台服务器采用淘汰策略设置存放于内存数据库中session数据的有效时间,超过有效时间的session数据从内存数据库中删除,访问会话过期或被放弃。
2.根据权利要求1所述的基于内存数据库的网站访问方法,其特征在于:网站后台服务器通过定制方式编辑生成包含用户登录偏好、状态的session数据,便于网站人性化的提供当前在线用户因登录行为引起的实时公告信息和统计信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610267298.1A CN107317831A (zh) | 2016-04-27 | 2016-04-27 | 基于内存数据库的网站访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610267298.1A CN107317831A (zh) | 2016-04-27 | 2016-04-27 | 基于内存数据库的网站访问方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107317831A true CN107317831A (zh) | 2017-11-03 |
Family
ID=60184963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610267298.1A Pending CN107317831A (zh) | 2016-04-27 | 2016-04-27 | 基于内存数据库的网站访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107317831A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040286A (zh) * | 2018-08-24 | 2018-12-18 | 重庆金康特智能穿戴技术研究院有限公司 | 一种基于内存数据库的客户端在线状态维护方法 |
CN110891247A (zh) * | 2019-10-23 | 2020-03-17 | 福建星网智慧软件有限公司 | 一种客户端无状态接入集群的方法、系统、设备和介质 |
CN113221083A (zh) * | 2021-06-02 | 2021-08-06 | 湖北央中巨石信息技术有限公司 | 一种能够提升服务器性能的区块链用户会话缓存方法 |
CN115242876A (zh) * | 2022-07-21 | 2022-10-25 | 武汉众邦银行股份有限公司 | 一种基于redis来实现会话共享的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1471713A1 (fr) * | 2003-03-31 | 2004-10-27 | France Telecom | Procédé et système de contrôle d'accès à des sites internet au moyen d'un serveur cache |
CN201682522U (zh) * | 2010-02-08 | 2010-12-22 | 阿里巴巴集团控股有限公司 | 会话信息存储系统及应用服务器 |
CN103209223A (zh) * | 2013-04-27 | 2013-07-17 | 中国农业银行股份有限公司 | 分布式应用会话信息共享方法、系统和应用服务器 |
CN103888499A (zh) * | 2012-12-21 | 2014-06-25 | 中国科学院深圳先进技术研究院 | 一种分布式对象处理的方法及系统 |
CN105208058A (zh) * | 2014-06-19 | 2015-12-30 | 中国银联股份有限公司 | 基于web会话共享的信息交互系统 |
CN105338069A (zh) * | 2015-10-14 | 2016-02-17 | 深圳市金证科技股份有限公司 | 跨web容器的会话共享方法、系统及web应用服务器 |
-
2016
- 2016-04-27 CN CN201610267298.1A patent/CN107317831A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1471713A1 (fr) * | 2003-03-31 | 2004-10-27 | France Telecom | Procédé et système de contrôle d'accès à des sites internet au moyen d'un serveur cache |
CN201682522U (zh) * | 2010-02-08 | 2010-12-22 | 阿里巴巴集团控股有限公司 | 会话信息存储系统及应用服务器 |
CN103888499A (zh) * | 2012-12-21 | 2014-06-25 | 中国科学院深圳先进技术研究院 | 一种分布式对象处理的方法及系统 |
CN103209223A (zh) * | 2013-04-27 | 2013-07-17 | 中国农业银行股份有限公司 | 分布式应用会话信息共享方法、系统和应用服务器 |
CN105208058A (zh) * | 2014-06-19 | 2015-12-30 | 中国银联股份有限公司 | 基于web会话共享的信息交互系统 |
CN105338069A (zh) * | 2015-10-14 | 2016-02-17 | 深圳市金证科技股份有限公司 | 跨web容器的会话共享方法、系统及web应用服务器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040286A (zh) * | 2018-08-24 | 2018-12-18 | 重庆金康特智能穿戴技术研究院有限公司 | 一种基于内存数据库的客户端在线状态维护方法 |
CN109040286B (zh) * | 2018-08-24 | 2021-01-26 | 重庆金康特智能穿戴技术研究院有限公司 | 一种基于内存数据库的客户端在线状态维护方法 |
CN110891247A (zh) * | 2019-10-23 | 2020-03-17 | 福建星网智慧软件有限公司 | 一种客户端无状态接入集群的方法、系统、设备和介质 |
CN110891247B (zh) * | 2019-10-23 | 2021-11-23 | 福建星网智慧软件有限公司 | 一种客户端无状态接入集群的方法、系统、设备和介质 |
CN113221083A (zh) * | 2021-06-02 | 2021-08-06 | 湖北央中巨石信息技术有限公司 | 一种能够提升服务器性能的区块链用户会话缓存方法 |
CN113221083B (zh) * | 2021-06-02 | 2023-05-16 | 湖北央中巨石信息技术有限公司 | 一种能够提升服务器性能的区块链用户会话缓存方法 |
CN115242876A (zh) * | 2022-07-21 | 2022-10-25 | 武汉众邦银行股份有限公司 | 一种基于redis来实现会话共享的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116732B1 (en) | Automated management of resource attributes across network-based services | |
CN107251526A (zh) | 网络地址解析 | |
US11411921B2 (en) | Enabling access across private networks for a managed blockchain service | |
US20080271130A1 (en) | Minimizing client-side inconsistencies in a distributed virtual file system | |
CN111629051B (zh) | 一种用于工业互联网标识解析系统的性能优化方法及装置 | |
CN103685304A (zh) | 一种共享session信息的方法和系统 | |
US9912682B2 (en) | Aggregation of network traffic source behavior data across network-based endpoints | |
TW200417190A (en) | System and method for high performance shared web hosting | |
CN107317831A (zh) | 基于内存数据库的网站访问方法 | |
US9684686B1 (en) | Database system recovery using non-volatile system memory | |
CN1774901A (zh) | 便于安全启动的内容缓存的方法及设备 | |
CN107179878A (zh) | 基于应用优化的数据存储的方法和装置 | |
CN105681426B (zh) | 异构系统 | |
Sun et al. | RRSD: A file replication method for ensuring data reliability and reducing storage consumption in a dynamic Cloud-P2P environment | |
CN108733701A (zh) | 一种应用于在线教育的查询页面缓存控制方法 | |
CN109522501A (zh) | 页面内容管理方法及其装置 | |
Chou et al. | A performance study of dynamic replication techniques in continuous media servers | |
EP4062624B1 (en) | Managed data export to a remote network from edge devices | |
US20230344781A1 (en) | Grouping resource metadata tags | |
CN101668028B (zh) | 基于可扩展体系结构的分布式系统及该系统的应用方法 | |
CN105207993A (zh) | 一种cdn中数据的访问、调度方法和系统 | |
CN109308310B (zh) | 一种用于资产管理平台的子系统数据互联处理方法 | |
WO2024021470A1 (zh) | 一种跨区域的数据调度方法、装置、设备及存储介质 | |
US20190104194A1 (en) | Modifying server resources using a client-side proxy | |
US11388250B1 (en) | Reduction of data transmissions based on end-user content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171103 |