CN113750521B - 数据存储***及方法 - Google Patents
数据存储***及方法 Download PDFInfo
- Publication number
- CN113750521B CN113750521B CN202010485673.6A CN202010485673A CN113750521B CN 113750521 B CN113750521 B CN 113750521B CN 202010485673 A CN202010485673 A CN 202010485673A CN 113750521 B CN113750521 B CN 113750521B
- Authority
- CN
- China
- Prior art keywords
- data
- cache server
- delay
- server
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000001934 delay Effects 0.000 claims abstract description 44
- 238000004891 communication Methods 0.000 claims description 15
- 238000004140 cleaning Methods 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 3
- 210000001503 joint Anatomy 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5526—Game data structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据存储***及方法,数据存储***包括逻辑服务器、缓存服务器及数据库,逻辑服务器包括第一时延模块,当逻辑服务器接收数据时,第一时延模块以第一时延向缓存服务器延迟转发数据;缓存服务器包括第二时延模块,当缓存服务器接收数据时,第二时延模块以第二时延向数据库延迟转发数据,其中第一时延小于第二时延;缓存服务器还包括备份模块,备份模块基于备份周期将数据中的指定数据部分备份至缓存服务器的备份文件夹内,当缓存服务器接收一回档指令时,自备份文件夹读取指定数据部分。采用上述技术方案后,避免了因数据库崩溃造成的缓存数据丢失的情况,同时可提高缓存服务器的使用率,降低资源成本。
Description
技术领域
本发明涉及服务器领域,尤其涉及一种数据存储***及方法。
背景技术
由于智能终端的快速发展,用户使用智能终端进行娱乐性体验的时刻越来越多。对此,大量的游戏类应用程序孕育而生,这类应用程序需要基于移动网络为通信方式,与创建应用程序的厂商所搭建的服务器进行数据交互,从而获得云端数据存储和调用的使用体验。对此,厂商所搭建的服务器通常如图1所示的结构,终端、逻辑服务器、缓存服务器、数据库间数据同步为各项实施,通常具有以下问题:
1:数据丢失风险比较大
逻辑服务器通过缓存服务器的缓存来降低数据库的压力,但若在数据传输过程中,逻辑服务器崩溃,则数据会造成丢失。
2:无法提供玩家个人回档功能
若应用程序使用中出现玩家资源异常等BUG,需要对玩家数据进行回档时,则需要将数据库回档到某一时刻,但由于回档机制通常为通过数据库进行区服回档,一名玩家的数据异常,则整个服务器内的所有数据均需要回档,无法精准对某个玩家数据回档到某一时刻。
3:缓存服务器缺乏故障恢复
若缓存服务器缓存了N个玩家数据,且在某一时刻停止服务,则缓存服务器无法进行同步,若更进一步地,缓存服务器突然崩溃,则缓存的所有玩家数据就会崩溃丢失。
4:缓存服务器缺乏多数据库的支持
缓存服务器由于本身所承载的计算要求比较少,所以能支撑更多的压力,若与数据库一对一的配置,会造成资源的浪费。
因此,需要一种新型的数据存储***与方法,可降低缓存服务器崩溃时数据丢失的几率,优化回档机制。
发明内容
为了克服上述技术缺陷,本发明的目的在于提供一种数据存储***及方法,避免了因数据库崩溃造成的缓存数据丢失的情况,同时可提高缓存服务器的使用率,降低资源成本。
本发明公开了一种数据存储***,包括通信连接的逻辑服务器、缓存服务器及数据库,逻辑服务器自终端接收数据并转发数据至缓存服务器,缓存服务器转发数据至数据库,
逻辑服务器包括第一时延模块,当逻辑服务器接收数据时,第一时延模块以第一时延向缓存服务器延迟转发数据;
缓存服务器包括第二时延模块,当缓存服务器接收数据时,第二时延模块以第二时延向数据库延迟转发数据,其中第一时延小于第二时延;
缓存服务器还包括备份模块,备份模块基于备份周期将数据中的指定数据部分备份至缓存服务器的备份文件夹内,当缓存服务器接收一回档指令时,自备份文件夹读取指定数据部分。
优选地,逻辑服务器接收发自终端的登录信息后,向缓存服务器发送获取对应于登录信息的数据的获取指令;
缓存服务器根据获取指令,查询内存缓存中是否已记录对应于登录信息的数据,若已记录,则返回数据至逻辑服务器,若未记录,缓存服务器自数据库加载数据后返回至逻辑服务器。
优选地,当逻辑服务器接收数据时,第一时延模块记录接收数据的时刻为t1,以t1为起始时刻延迟第一时延后,向缓存服务器延迟转发数据;
当缓存服务器接收数据时,第二时延模块记录接收数据的时刻为t2,以t2为起始时刻延迟第二时延后,向缓存服务器延迟转发数据;
第一时延为第二时延的二十分之一至三分之一间。
优选地,逻辑服务器接收数据向缓存服务器延迟转发数据后,重置起始时刻为t1’,以t1’为起始时刻延迟第一时延后,再次向缓存服务器延迟转发数据。
优选地,当缓存服务器重启时,将内存缓存中的数据发送至数据库;
当数据未同步至数据库时,缓存服务器将未同步的数据存储至备份文件夹。
优选地,当数据库恢复时,缓存服务器将备份文件夹内的未同步的数据加载到同步队列中发送至数据库。
优选地,缓存服务器还包括清理模块,清理模块根据一清理周期清理备份文件夹内的数据。
优选地,数据库包括至少两个数据库单元;
缓存服务器对接每一数据库单元,并根据数据与数据库单元的分区关系发送数据至相应的数据库单元。
本发明还公开了一种数据存储方法,包括以下步骤:
逻辑服务器自终端接收数据;
逻辑服务器的第一时延模块以第一时延向缓存服务器延迟转发数据;
缓存服务器的第二时延模块以第二时延向数据库延迟转发数据,其中第一时延小于第二时延;
缓存服务器的备份模块基于备份周期将数据中的指定数据部分备份至缓存服务器的备份文件夹内,当缓存服务器接收一回档指令时,自备份文件夹读取指定数据部分。
优选地,当逻辑服务器接收数据时,第一时延模块记录接收数据的时刻为t1,以t1为起始时刻延迟第一时延后,向缓存服务器延迟转发数据;
当缓存服务器接收数据时,第二时延模块记录接收数据的时刻为t2,以t2为起始时刻延迟第二时延后,向缓存服务器延迟转发数据,其中第一时延为第二时延的二十分之一至三分之一间;
逻辑服务器接收数据向缓存服务器延迟转发数据后,重置起始时刻为t1’,以t1’为起始时刻延迟第一时延后,再次向缓存服务器延迟转发数据。
采用了上述技术方案后,与现有技术相比,具有以下有益效果:
1.可降低缓存服务器、逻辑服务器、数据库崩溃时数据丢失的几率;
2.回档机制可针对个人的数据,无需对一整个区服内的所有数据进行回档;
3.避免了数据库崩溃时,缓存服务器的缓存数据丢失的情况发生;
4.提高缓存服务器的使用率,降低整体的资源成本。
附图说明
图1为现有技术中数据存储***的结构示意图;
图2为符合本发明一优选实施例中数据存储***的结构示意图;
图3为符合本发明一优选实施例中数据存储方法的流程示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
参阅图2,为符合本发明一优选实施例中数据存储***的结构示意图,在该实施例中数据存储***包括:
-逻辑服务器
逻辑服务器与一终端通信连接,该终端为用户所使用,并运行游戏类应用程序的设备,应用程序在运行时,根据用户的操作,形成玩家数据,例如攻击指令、确认指令、调整指令等。逻辑服务器接收上述数据后,将进行游戏业务计算,例如,用户在应用程序内的账户登录后,会根据用户的不断操作,不断修改玩家数据,从而使得逻辑服务器内记录的数据均为针对用户最新操作后的最新数据。
-缓存服务器
缓存服务器与逻辑服务器通信连接,接收逻辑服务器转发来的数据,用于对这些数据读写、缓存、备份。因此,缓存服务器向逻辑服务器提供了读出和写入的接口,作为数据中转的媒介。
-数据库
数据库与缓存服务器通信连接,其内存储有所有用户在应用程序内的数据。逻辑服务器调用和修改的数据来源,便是数据库内存储的数据。
在该优选实施例中,为避免数据在逻辑服务器、缓存服务器崩溃时丢失,逻辑服务器和缓存服务器配置为:
逻辑服务器包括第一时延模块,逻辑服务器从终端收到数据后,第一时延模块将与逻辑服务器的通信模块(或交互模块等用于与外部设备数据交互的设备)连接,控制通信模块的数据发送时间。例如,第一时延模块内配置有第一时延,其控制通信模块不在收到数据的第一时间就向外发送,反之,维持数据在逻辑服务器内一定时间,如第一时延,并在经过第一时延所代表的时间后,才控制通信模块向外发送,使得缓存服务器接收逻辑服务器转发的数据的时间,相较于逻辑服务器收到终端发出的数据的时间,相差第一时延。由于数据在逻辑服务器内缓存第一时延所代表的时间内,当缓存服务器恰好在传输过程中崩溃时,未发出的全部数据或部分数据由于延迟发出的机制而可及时保存在逻辑服务器内。
同样地,缓存服务器包括第二时延模块,缓存服务器从终端收到数据后,第二时延模块将与缓存服务器的通信模块(或交互模块等用于与外部设备数据交互的设备)连接,控制通信模块的数据发送时间。例如,第二时延模块内配置有第二时延,其控制通信模块不在收到数据的第二时间就向外发送,反之,维持数据在缓存服务器内一定时间,如第二时延,并在经过第二时延所代表的时间后,才控制通信模块向外发送,使得数据库接收缓存服务器转发的数据的时间,相较于缓存服务器收到逻辑服务器发出的数据的时间,相差第二时延。由于数据在缓存服务器内缓存第二时延所代表的时间内,当缓存服务器恰好在传输过程中崩溃,或是数据库发生崩溃时,未发出的全部数据或部分数据,或是无法存储在数据库内的数据,将由于延迟发出的机制而可及时保存在缓存服务器内。
此外,该实施例中,还提供了针对某一玩家的数据的回档机制。具体地,为防止游戏类应用程序运营过程中,玩家利用应用程序的漏洞造成数据异常时,则需要对玩家的数据进行回档,回复到某一过去时刻时的数据状态。缓存服务器内包括备份模块,且该备份模块的备份功能为定时性的,其内配置有一备份周期,例如30分钟、1分钟等,每到达该备份周期,备份模块将缓存服务器收到的数据内的全部,或部分指定数据部分(例如活跃玩家的数据,活跃指标的衡量,可以是近期连续登陆天数到达一定的阈值,每天在线的时长到达一定数量、充值数额到达一定数额、账户数量大于一定数量等),这些指定数据部分将被备份模块备份至缓存服务器的一备份文件夹内,该备份文件夹为缓存服务器的本地文件夹,专用于备份数据。当缓存服务器接收一回档指令时,具体地,应用程序的运营人员向应用程序的管理平台发送一查询指令,以要求查询玩家数据的存档时,管理平台与缓存服务器连接,调用缓存服务器的接口,从而查询玩家数据的已留档的列表,缓存服务器自备份文件夹读取指定数据部分后,返回至管理平台,运营人员可选择指定数据部分中的某一档案(例如过去某一期望时刻下的玩家数据)进行回档,从而可针对某一玩家的数据,靶向回档,而不需要回档整个区服的数据。
一优选实施例中,游戏应用程序的玩家通过终端登录后,将生成登录信息,并经终端发送至逻辑服务器,逻辑服务器为进行游戏事件的业务计算,将向缓存服务器发送获取对应于登陆信息的该玩家的数据的获取指令。缓存服务器根据该获取指令,首先查询自身内存中是否缓存有对应于该登录信息的数据,若存在,则可直接将缓存的数据返回至逻辑服务器,供逻辑服务器的使用,如修改、覆盖、更新等,若不存在,则缓存服务器将向数据库发送加载请求,自数据库内获取数据后,再返回相应数据至逻辑服务器。可以理解的是,反向地将数据从数据库调取至逻辑服务器的传输过程中,可不需要增加时延机制,即便缓存服务器或数据库崩溃时,不会影响数据库内已存储的数据。而上述实施例中逻辑服务器向缓存服务器和数据库的数据传输中的数据时延机制的设置,属于技术人员通常不会考虑的方式,甚至是尽力避免的方式(以最快地向用户反馈数据交互),而本发明中,克服了上述偏见,计算后的数据仍以正常的传输方式传输至用户的终端侧,延时机制仅应用在数据同步至数据库侧,用户侧不会有时延的体验。
优选地或可选地,应用程序的玩家登陆游戏类应用程序后,会通过终端把玩家数据加载到逻辑服务器中,当逻辑服务器接收数据时,第一时延模块记录此时接收数据的时刻为t1,以t1为起始时刻延迟第一时延N后,记录时间为t3(t3=t1+N),向缓存服务器延迟转发数据。在缓存服务器侧,当缓存服务器接收数据时,第二时延模块记录此时接收数据的时刻为t2,以t2为起始时刻延迟第二时延M后,向缓存服务器延迟转发数据,并记录此时时间为t4(t4=t2+M),其中第一时延N为第二时延M的二十分之一至三分之一间,例如第二时延M的取值一般都是3-5分钟,但第一时延N就可以取值30秒-1分钟,也就是说,只要把变动的数据更快的从逻辑服务器同步出去,就能减少玩家数据丢失的风险,但是考虑到同步频率越高,给后面的服务器压力就越大。所以需要在同步频率和服务器压力之间做好平衡,压力越小、同步频率越高、安全性越高。,此外,由于逻辑服务器到缓存服务器的同步,只会涉及到网络传输和内存操作;但缓存服务器到数据库的同步,会涉及到网络传输、内存操作、磁盘操作。所以逻辑服务器同步到缓存服务器的压力更低,所以同步频率可以增加。此外,逻辑服务器因为不断增加业务代码,崩溃的概率会比缓存服务器的概率高,所以先同步到缓存服务器会更安全。然后缓存服务器再慢慢的同步到数据库,由此降低数据丢失风险。
在上述实施例中,逻辑服务器接收所述数据向所述缓存服务器延迟转发所述数据后,重置起始时刻为t1’,以t1’为起始时刻延迟第一时延后,再次向所述缓存服务器延迟转发所述数据,从而不断地周期性地记录数据至缓存服务器。
优选地或可选地,缓存服务器包括主动备份的机制,例如在缓存服务器重启时,将主动地把自身内存缓存中的数据发送到数据库,以防止缓存服务器重启后缓存的数据丢失。同时,若数据未同步到数据库时,例如数据库同时崩溃,则判断该情况发生后,缓存服务器将未同步至数据库的数据,或是所有数据存储到备份文件夹内,以本地文件夹存储的方式,保证数据不会丢失。而数据库恢复后,可再次调用回备份文件夹的数据,并将未同步的数据,或所有数据加载到同步队列中,将数据恢复至数据库内,以恢复数据。备份文件夹可以采用本地磁盘的文件夹成型,从而保证数据始终通过某种媒介存储着。
进一步地,缓存服务器还包括清理模块,其内编制有定时清理脚本,定时清理脚本配置有清理周期,例如一周、5天、10天等,根据该清理周期定期清理备份文件夹内的数据,从而可实现清理周期内的精准回档。
优选地或可选地,数据库包括至少两个数据库单元,缓存服务器对接每一数据库单元,,即多个数据库单元可共用一缓存服务器,利用该计算压力最低的服务器,服务于多个数据库单元下,数据将被缓存服务器根据数据与数据库单元的分区关系发送数据至相应的数据库单元作处理,该分区关系,可以是逻辑服务器按数据区与数据库单元的对应关系,从而缓存服务器访问对应的数据库单元。
基于延时机制,缓存的数据并非实时地、不间断地被发送至数据库,一并积攒,且结合备份机制的配置,可减少对数据库的写入频率下,保证数据的始终保有性。
参阅图3,示出了本发明一优选实施例中数据存储方法的流程示意图,该实施例中,数据存储方法包括以下步骤:
S100:逻辑服务器自终端接收数据;
S200:逻辑服务器的第一时延模块以第一时延向缓存服务器延迟转发数据;
S300:缓存服务器的第二时延模块以第二时延向数据库延迟转发数据,其中第一时延小于第二时延;
S400:缓存服务器的备份模块基于备份周期将数据中的指定数据部分备份至缓存服务器的备份文件夹内,当缓存服务器接收一回档指令时,自备份文件夹读取指定数据部分。
优选地,步骤S200及S300具体包括:
当逻辑服务器接收数据时,第一时延模块记录接收数据的时刻为t1,以t1为起始时刻延迟第一时延后,向缓存服务器延迟转发数据;
当缓存服务器接收数据时,第二时延模块记录接收数据的时刻为t2,以t2为起始时刻延迟第二时延后,向缓存服务器延迟转发数据,其中第一时延为第二时延的二十分之一至三分之一间;
逻辑服务器接收数据向缓存服务器延迟转发数据后,重置起始时刻为t1’,以t1’为起始时刻延迟第一时延后,再次向缓存服务器延迟转发数据。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种数据存储***,包括通信连接的逻辑服务器、缓存服务器及数据库,所述逻辑服务器自终端接收数据并转发数据至所述缓存服务器,所述缓存服务器转发数据至所述数据库,其特征在于,
所述逻辑服务器包括第一时延模块,当所述逻辑服务器接收所述数据时,所述第一时延模块以第一时延向所述缓存服务器延迟转发所述数据;
所述缓存服务器包括第二时延模块,当所述缓存服务器接收所述数据时,所述第二时延模块以第二时延向所述数据库延迟转发所述数据,其中所述第一时延小于第二时延;
所述缓存服务器还包括备份模块,所述备份模块基于备份周期将所述数据中的指定数据部分备份至缓存服务器的备份文件夹内,当所述缓存服务器接收一回档指令时,自所述备份文件夹读取所述指定数据部分。
2.如权利要求1所述的数据存储***,其特征在于,
所述逻辑服务器接收发自所述终端的登录信息后,向所述缓存服务器发送获取对应于登录信息的数据的获取指令;
所述缓存服务器根据所述获取指令,查询内存缓存中是否已记录对应于登录信息的数据,若已记录,则返回所述数据至所述逻辑服务器,若未记录,所述缓存服务器自所述数据库加载数据后返回至所述逻辑服务器。
3.如权利要求1所述的数据存储***,其特征在于,
当所述逻辑服务器接收所述数据时,所述第一时延模块记录接收所述数据的时刻为t1,以t1为起始时刻延迟第一时延后,向所述缓存服务器延迟转发所述数据;
当所述缓存服务器接收所述数据时,所述第二时延模块记录接收所述数据的时刻为t2,以t2为起始时刻延迟第二时延后,向所述缓存服务器延迟转发所述数据;
所述第一时延为第二时延的二十分之一至三分之一间。
4.如权利要求3所述的数据存储***,其特征在于,
所述逻辑服务器接收所述数据向所述缓存服务器延迟转发所述数据后,重置起始时刻为t1’,以t1’为起始时刻延迟第一时延后,再次向所述缓存服务器延迟转发所述数据。
5.如权利要求1所述的数据存储***,其特征在于,
当所述缓存服务器重启时,将内存缓存中的数据发送至所述数据库;
当数据未同步至所述数据库时,所述缓存服务器将未同步的数据存储至所述备份文件夹。
6.如权利要求5所述的数据存储***,其特征在于,
当所述数据库恢复时,所述缓存服务器将备份文件夹内的未同步的数据加载到同步队列中发送至所述数据库。
7.如权利要求1所述的数据存储***,其特征在于,
所述缓存服务器还包括清理模块,所述清理模块根据一清理周期清理备份文件夹内的数据。
8.如权利要求1所述的数据存储***,其特征在于,
所述数据库包括至少两个数据库单元;
所述缓存服务器对接每一所述数据库单元,并根据所述数据与所述数据库单元的分区关系发送数据至相应的数据库单元。
9.一种数据存储方法,其特征在于,包括以下步骤:
逻辑服务器自终端接收数据;
逻辑服务器的第一时延模块以第一时延向缓存服务器延迟转发所述数据;
缓存服务器的第二时延模块以第二时延向所述数据库延迟转发所述数据,其中所述第一时延小于第二时延;
缓存服务器的备份模块基于备份周期将所述数据中的指定数据部分备份至缓存服务器的备份文件夹内,当所述缓存服务器接收一回档指令时,自所述备份文件夹读取所述指定数据部分。
10.如权利要求9所述的数据存储方法,其特征在于,
当所述逻辑服务器接收所述数据时,所述第一时延模块记录接收所述数据的时刻为t1,以t1为起始时刻延迟第一时延后,向所述缓存服务器延迟转发所述数据;
当所述缓存服务器接收所述数据时,所述第二时延模块记录接收所述数据的时刻为t2,以t2为起始时刻延迟第二时延后,向所述缓存服务器延迟转发所述数据,其中所述第一时延为第二时延的二十分之一至三分之一间;
所述逻辑服务器接收所述数据向所述缓存服务器延迟转发所述数据后,重置起始时刻为t1’,以t1’为起始时刻延迟第一时延后,再次向所述缓存服务器延迟转发所述数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485673.6A CN113750521B (zh) | 2020-06-01 | 2020-06-01 | 数据存储***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485673.6A CN113750521B (zh) | 2020-06-01 | 2020-06-01 | 数据存储***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113750521A CN113750521A (zh) | 2021-12-07 |
CN113750521B true CN113750521B (zh) | 2024-03-22 |
Family
ID=78782647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010485673.6A Active CN113750521B (zh) | 2020-06-01 | 2020-06-01 | 数据存储***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113750521B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084264A (ja) * | 2006-09-29 | 2008-04-10 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークストレージコンピュータシステム、ネットワークストレージ管理方法、管理サーバ、およびそのためのプログラム |
CN101937467A (zh) * | 2010-09-17 | 2011-01-05 | 北京开心人信息技术有限公司 | 一种服务器的高效缓存方法与*** |
CN103516736A (zh) * | 2012-06-20 | 2014-01-15 | 中兴通讯股份有限公司 | 分布式缓存***的数据恢复方法及装置 |
CN105045789A (zh) * | 2015-02-15 | 2015-11-11 | 北京乐动卓越信息技术有限公司 | 一种游戏服务器数据库缓存方法及*** |
CN105373369A (zh) * | 2014-08-25 | 2016-03-02 | 北京皮尔布莱尼软件有限公司 | 一种异步缓存方法、服务器及*** |
US9922101B1 (en) * | 2013-06-28 | 2018-03-20 | Emc Corporation | Coordinated configuration, management, and access across multiple data stores |
CN110121874A (zh) * | 2017-12-04 | 2019-08-13 | 华为技术有限公司 | 一种存储器数据替换方法、服务器节点和数据存储*** |
-
2020
- 2020-06-01 CN CN202010485673.6A patent/CN113750521B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084264A (ja) * | 2006-09-29 | 2008-04-10 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークストレージコンピュータシステム、ネットワークストレージ管理方法、管理サーバ、およびそのためのプログラム |
CN101937467A (zh) * | 2010-09-17 | 2011-01-05 | 北京开心人信息技术有限公司 | 一种服务器的高效缓存方法与*** |
CN103516736A (zh) * | 2012-06-20 | 2014-01-15 | 中兴通讯股份有限公司 | 分布式缓存***的数据恢复方法及装置 |
US9922101B1 (en) * | 2013-06-28 | 2018-03-20 | Emc Corporation | Coordinated configuration, management, and access across multiple data stores |
CN105373369A (zh) * | 2014-08-25 | 2016-03-02 | 北京皮尔布莱尼软件有限公司 | 一种异步缓存方法、服务器及*** |
CN105045789A (zh) * | 2015-02-15 | 2015-11-11 | 北京乐动卓越信息技术有限公司 | 一种游戏服务器数据库缓存方法及*** |
CN110121874A (zh) * | 2017-12-04 | 2019-08-13 | 华为技术有限公司 | 一种存储器数据替换方法、服务器节点和数据存储*** |
Also Published As
Publication number | Publication date |
---|---|
CN113750521A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853329B2 (en) | Distributed file system | |
US20150213100A1 (en) | Data synchronization method and system | |
US7055053B2 (en) | System and method for failover | |
CN101390080B (zh) | 基于查询部分来供应高速缓存的查询结果 | |
CN111787055B (zh) | 一种基于Redis且面向事务机制和多数据中心的数据分发方法和*** | |
CN101137984B (zh) | 用于分布加载数据库的***、方法和软件 | |
US8380931B2 (en) | Memory cache data center | |
US20160212203A1 (en) | Multi-site heat map management | |
CN110597910A (zh) | 一种异地数据同步方法、装置和*** | |
CN104156361A (zh) | 一种实现数据同步的方法及*** | |
WO2018010501A1 (zh) | 全局事务标识gtid的同步方法、装置及***、存储介质 | |
CN106598768B (zh) | 一种处理写请求的方法、装置和数据中心 | |
CN103440290A (zh) | 大数据加载***和方法 | |
CN101751415A (zh) | 元数据服务***、元数据同步方法与写服务器更新方法 | |
CN110099084B (zh) | 一种保证存储服务可用性的方法、***及计算机可读介质 | |
CN113032099B (zh) | 云计算节点、文件管理方法及装置 | |
US20230229571A1 (en) | Data Storage Method and Device | |
CN111813550A (zh) | 数据处理方法、装置、服务器和存储介质 | |
US9330153B2 (en) | System, method, and computer readable medium that coordinates between devices using exchange of log files | |
CN112256676A (zh) | 一种数据库迁移的方法、装置、设备和介质 | |
EP3588913A1 (en) | Data caching method and apparatus | |
CN110740155A (zh) | 分布式***中的请求处理方法及装置 | |
US8359601B2 (en) | Data processing method, cluster system, and data processing program | |
CN113750521B (zh) | 数据存储***及方法 | |
CN117520278A (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 |