CN102611725A - 一种存储节点的方法及装置 - Google Patents
一种存储节点的方法及装置 Download PDFInfo
- Publication number
- CN102611725A CN102611725A CN2011100266213A CN201110026621A CN102611725A CN 102611725 A CN102611725 A CN 102611725A CN 2011100266213 A CN2011100266213 A CN 2011100266213A CN 201110026621 A CN201110026621 A CN 201110026621A CN 102611725 A CN102611725 A CN 102611725A
- Authority
- CN
- China
- Prior art keywords
- node
- child node
- index
- child
- time
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000000284 extract Substances 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 2
- 238000009333 weeding Methods 0.000 abstract 2
- 230000003203 everyday effect Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 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/22—Indexing; Data structures therefor; Storage structures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储节点的方法及装置,属于互联网通信领域。所述方法包括:接收客户端发送的写操作请求和节点;将所述节点存储在内存中并设置所述节点的更新时间为接收所述节点的时间;根据所述内存中的节点的更新时间将所述内存中的节点淘汰到文件中。所述装置包括:接收模块、存储模块和淘汰模块。本发明能够降低往内存中加载和淘汰节点的频率以及提高服务器的性能。
Description
技术领域
本发明涉及互联通信领域,特别涉及一种存储节点的方法及装置。
背景技术
微博是一种基于用户关系的信息分享、传播以及获取平台。用户可以在微博中发表一条消息,客户端为该消息生成一个节点,该节点用于存储该消息的相关信息,在微博中用户还可以对某个节点对应的消息进行转播得到该节点的子节点,也可以对某个节点对应的消息进行评论得到该节点的子节点,客户端将这些获得的新节点发送给服务器,服务器接收并存储这些节点。
目前,采用一种存储节点的方法具体为:先将存储介质分为内存和文件,内存存放用户最近经常访问的节点,服务器当接收到客户端发送的节点时,将接收的节点先存储在文件中,当用户请求某些节点时,先从内存中查找用户请求的节点,如果内存中不存在用户请求的节点,则从文件中去查找用户请求的节点并返回给用户,同时将查找的节点加载到内存中。其中,需要说明的是:由于内存的空间有限,每向内存加载节点,同时需要从内存中淘汰其他的节点。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
服务器将接收的新节点先存储到文件中,当用户读取这些节点时再加载到内存中,如果微博中的某条消息过热,用户就会频繁的对该消息进行转播和评论,即该消息对应的节点有大量的子节点,当用户读取该条消息的节点以及大量的子节点时,就会将读取的这些大量的节点加载到内存中,此时就需要从内存中淘汰掉大量其他的节点,然而内存中的存储的节点都是用户最近经常访问的节点,从内存中淘汰的节点很快又会因用户访问重新加载到内存且从内存中又淘汰用户最近经常访问的其他节点,如此形成了恶性循环,使往内存中加载节点的频率以及从内存中淘汰节点的频率不断提高,最终达到瓶颈,降低服务器的性能。
发明内容
为了降低往内存中加载和淘汰节点的频率以及提高服务器的性能,本发明提供了一种存储节点的方法。所述技术方案如下:
一种存储节点的方法,所述方法包括:
接收客户端发送的写操作请求和节点;
将所述节点存储在内存中并设置所述节点的更新时间为接收所述节点的时间;
根据所述内存中的各节点的更新时间将所述内存中的节点淘汰到文件中。
如果所述节点为子节点,则所述将所述节点存储在内存中并设置所述节点的更新时间为所述节点的接收时间,具体包括;
从所述子节点中提取所述子节点的索引和所述子节点的根节点的索引,并存储在根节点的索引与子节点的索引的对应关系中;
根据所述根节点的索引,查找所述内存中是否存在所述子节点的根节点;
如果存在,则将所述子节点存储在内存中,并设置所述子节点的更新时间为接收所述子节点的时间;
如果不存在,创建所述子节点的根节点且设置所述创建的根节点的索引为所述根节点的索引,以及将所述根节点的索引缓存在写事件空间中,将所述子节点和创建的根节点存储在内存中,并设置所述创建的根节点的更新时间和所述子节点的更新时间都为接收所述子节点的时间。
所述将所述子节点存储在内存中,并设置所述子节点的更新时间为接收所述子节点的时间之后,还包括:
周期性地扫描所述写事件空间中存储的根节点的索引,根据所述扫描的根节点的索引,从所述文件中查找对应的根节点以及从所述内存中查找对应的根节点,将从所述文件中查找的根节点中的内容合并到从所述内存中查找的根节点中。
所述根据所述内存中的节点的更新时间将所述内存中的节点淘汰到文件中,具体包括:
周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述子节点的更新时间与当前时间的时间差;
如果所述子节点的时间差都超过时间阈值,则判断所述根节点的时间差是否超过所述时间阈值,如果超过,则将所述根节点和所述子节点淘汰到所述文件中,如果未超过,则将所述子节点淘汰到所述文件中;
如果所述子节点中存在时间差未超过所述时间阈值的子节点,则从所述子节点中淘汰时间差超过所述时间阈值的子节点到所述文件中。
所述根据所述内存中的节点的更新时间将所述内存中的节点淘汰到文件中,具体包括:
周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述子节点的更新时间与当前时间的时间差;
如果所述根节点的时间差和所述子节点的时间差都超过时间阈值,则将所述根节点和所述子节点淘汰到所述文件中;
如果所述根节点的时间差未超过所述时间阈值或时间差未超过所述时间阈值的子节点的个数大于0且小于或等于第一阈值,则当所述子节点的个数多于所述第一阈值时,选择时间差最小的所述第一阈值个子节点,将其他未选择的子节点淘汰到文件中,当所述子节点的个数小于或等于所述第一阈值时,则保留所述子节点;
如果时间差未超过所述时间阈值的子节点的个数大于所述第一阈值且小于或等于第二阈值,则从所述子节点中将时间差超过所述时间阈值的子节点淘汰到所述文件中;
如果时间差未超过所述时间阈值的子节点的个数大于所述第二阈值,则从所述子节点中选择时间差最小的第二阈值个子节点,将未选择的子节点淘汰到所述文件中。
所述方法还包括:
接收所述客户端发送的读操作的请求,所述请求中携带节点的索引;根据所述节点的索引查找所述内存中是否存在对应的节点;
如果否,则根据所述节点的索引查找已存储的节点的索引与读取次数的对应关系;如果如果没有查找到对应的读取次数,则设置读取次数,将所述节点的索引和所述设置的读取次数存储在所述节点的索引与读取次数的对应关系中,如果查找到对应的读取次数,则增加所述查找的读取次数。
所述增加所述查找的读取次数之后,还包括:
周期性地扫描所述节点的索引与读取次数的对应关系中每条记录包括的节点的索引和读取次数,根据所述扫描的读取次数为所述扫描的节点的索引对应的节点打分,选择分数最大的第三阈值个节点,将所述选择的节点加载到所述内存中。
一种存储节点的装置,所述装置包括:
接收模块,用于接收客户端发送的写操作请求和节点;
存储模块,用于将所述节点存储在内存中并设置所述节点的更新时间为接收所述节点的时间;
淘汰模块,用于根据所述内存中的各节点的更新时间将所述内存中的节点淘汰到文件中。
如果所述节点为子节点,则所述存储模块具体包括;
提取单元,用于从所述子节点中提取所述子节点的索引和所述子节点的根节点的索引,并存储在根节点的索引与子节点的索引的对应关系中;
查找单元,用于根据所述根节点的索引,查找所述内存中是否存在所述子节点的根节点;
设置单元,用于如果存在,则将所述子节点存储在内存中,并设置所述子节点的更新时间为接收所述子节点的时间;
存储单元,用于如果不存在,创建所述子节点的根节点且设置所述创建的根节点的索引为所述根节点的索引,以及将所述根节点的索引缓存在写事件空间中,将所述子节点和创建的根节点存储在内存中,并设置所述创建的根节点的更新时间和所述子节点的更新时间都为接收所述子节点的时间。
所述存储单元还包括:
合并子单元,用于周期性地扫描所述写事件空间中存储的根节点的索引,根据所述扫描的根节点的索引,从所述文件中查找对应的根节点以及从所述内存中查找对应的根节点,将从所述文件中查找的根节点中的内容合并到从所述内存中查找的根节点中。
所述存储模块具体包括:
第一扫描单元,用于周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述根节点的每个子节点的更新时间与当前时间的时间差;
第一淘汰单元,用于如果所述每个子节点的时间差都超过时间阈值,则判断所述根节点的时间差是否超过所述时间阈值,如果超过,则将所述根节点和所述每个子节点淘汰到所述文件中,如果未超过,则将所述每个子节点淘汰到所述文件中;
第二淘汰单元,用于如果所述每个子节点中存在时间差未超过所述时间阈值的子节点,则从所述每个的子节点中淘汰时间差超过所述时间阈值的子节点到所述文件中。
所述存储模块具体包括:
第二扫描单元,用于周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述子节点的更新时间与当前时间的时间差;
第三淘汰单元,用于如果所述根节点的时间差和所述子节点的时间差都超过时间阈值,则将所述根节点和所述子节点淘汰到所述文件中;
第四淘汰单元,用于如果所述根节点的时间差未超过所述时间阈值或时间差未超过所述时间阈值的子节点的个数大于0且小于或等于第一阈值,则当所述子节点的个数多于所述第一阈值时,选择时间差最小的所述第一阈值个子节点,将其他未选择的子节点淘汰到所述文件中,当所述子节点的个数小于或等于所述第一阈值时,则保留所述子节点;
第五淘汰单元,用于如果时间差未超过所述时间阈值的子节点的个数大于所述第一阈值且小于或等于第二阈值,则从所述子节点中将时间差超过所述时间阈值的子节点淘汰到所述文件中;
第六淘汰单元,用于如果时间差未超过所述时间阈值的子节点的个数大于所述第二阈值,则从所述子节点中选择时间差最小的第二阈值个子节点,将未选择的子节点淘汰到所述文件中。
所述装置还包括:
读取模块,用于接收所述客户端发送的读操作的请求,所述请求中携带节点的索引;根据所述节点的索引查找所述内存中是否存在对应的节点;如果否,则根据所述节点的索引查找已存储的节点的索引与读取次数的对应关系;如果如果没有查找到对应的读取次数,则设置读取次数,将所述节点的索引和所述设置的读取次数存储在所述节点的索引与读取次数的对应关系中,如果查找到对应的读取次数,则增加所述查找的读取次数。
所述装置还包括:
加载模块,用于周期性地扫描所述节点的索引与读取次数的对应关系中每条记录包括的节点的索引和读取次数,根据所述扫描的读取次数为所述扫描的节点的索引对应的节点打分,选择分数最大的第三阈值个节点,将所述选择的节点加载到所述内存中。
接收客户端发送的节点,将节点存储在内存中,并设置该节点的更新时间,根据内存中各节点的更新时间将内存中的节点淘汰到文件中。其中,每天用户发表的消息的数目都在一定范围内,所以每天服务器接收客户端的节点的数目都在一定范围内,而将接收的节点存储在内存中,如此每天从内存中淘汰节点的数目也在一定范围内,从而降低从内存中淘汰节点的频率;另外,根据各节点的更新时间将内存中的节点淘汰到文件中,可以将内存中热度较低的节点的淘汰到文件中,从而降低了从文件中向加载节点的频率,如此提高了服务器的性能。
附图说明
图1是本发明实施例1提供的一种存储节点的方法流程图;
图2是本发明实施例2提供的一种存储节点的方法流程图;
图3是本发明实施例2提供的一种读取节点的操作流程图;
图4是本发明实施例3提供的一种读取节点的装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
如图1所示,本发明实施例提供了存储节点的方法,包括:
步骤101:接收客户端发送的写操作请求和节点;
步骤102:将该节点存储在内存中并设置该节点的更新时间为接收该节点的时间;
步骤103:根据内存中的节点的更新时间将内存中的节点淘汰到文件中。
在本发明实施例中,接收客户端发送的节点,将节点存储在内存中,并设置该节点的更新时间,根据内存中各节点的更新时间将内存中的节点淘汰到文件中。其中,每天用户发表的消息的数目都在一定范围内,所以每天服务器接收客户端的节点的数目都在一定范围内,而将接收的节点存储在内存中,如此每天从内存中淘汰节点的数目也在一定范围内,从而降低从内存中淘汰节点的频率;另外,根据各节点的更新时间将内存中的节点淘汰到文件中,可以将内存中热度较低的节点的淘汰到文件中,从而降低了从文件中向加载节点的频率,如此提高了服务器的性能。
实施例2
本发明实施例提供了一种存储节点的方法。在微博中用户可以发表一条原始的消息,客户端生成该原始消息对应的节点A,节点A中存放原始消息的相关信息,包括原始消息转发次数或发表时间等,用户还可以对原始消息对应的节点A进行转播或评论得到子节点B,子节点B也可以被用户进行转播或评论得到新的子节点C,所以节点A为节点B和C的根节点,且节点A也为子节点B的父亲节点,子节点B为子节点C的父亲节点,对于原始消息对应的根节点A可以被任意用户进行转播或点评以及根节点A的每个子节点也可被任意用户进行转播或点评,所以根节点A下的子节点可以无限地增多。
当用户在微博中发表消息、转播消息或点评消息时,客户端就会生成新的节点,并将生成的新的节点发送给服务器,服务器接收客户端发送的节点并利用本实施例提供的方法存储接收的节点,参见图2,该方法包括:
步骤201:接收客户端的发送的写操作请求和节点,并获取接收该节点的时间;
其中,客户端生成节点时为生成的节点分配索引,如果生成的节点为用户发表的原始消息对应的根节点,则该根节点中包括自身索引;如果生成的节点为某个节点的子节点,则该子节点中包括自身的索引外,还包括父亲节点的索引和根节点的索引。
例如,客户端生成原始消息对应的根节点A,并为根节点A分配索引为IDA、则根节点A中包括自身的索引IDA;当用户对根节点A进行转播或点评时,客户端生成子节点B,并为子节点B分配索引为IDB,则子节点B中包括自身的索引IDB外,还包括父亲节点的索引IDA以及根节点的索引IDA;当用户对子节点B进行转播或点评时,客户端生成子节点C,并为子节点C分配索引为IDC,则子节点C包括自身的索引IDC外,还包括父亲节点的索引IDB以及根节点的索引IDA。
步骤202:判断接收的节点为根节点还是子节点,如果为根节点,则执行步骤203,如果为子节点,则执行步骤204;
具体地,对接收的节点进行分析,如果接收的节点中包括自身的索引,而不包括父亲节点的索引和根节点的索引,则判断出接收的节点为根节点;如果接收的节点包括自身的索引外,还包括父亲节的索引以及根节点的索引,则判断出接收的节点为子节点。
步骤203:将接收的根节点存储在内存中,设置该根节点的更新时间为接收该根节点的时间,执行步骤208;
例如,假设接收到根节点A,获取根节点A的接收时间为TimeA1,并判断出节点A为根节点,将根节点A存储在内存中,以及设置根节点A的更新时间为TimeA1。
步骤204:从接收的子节点中提取该子节点的索引和根节点的索引,将提取的根节点的索引和该子节点的索引存储在根节点的索引和子节点的索引的对应关系中;
例如,假设接收到节点B,并获取子节点B的接收时间TimeB1,再判断出节点B为子节点,从子节点B中提取子节点B的索引IDB以及子节点B的根节点A的索引IDA,然后将提取的根节点A的索引IDA和子节点B的索引IDB存储在如表1所示的根节点的索引和子节点的索引的对应关系中。
表1
根节点的索引 | 子节点的索引 |
IDA | IDB |
...... | ...... |
步骤205:根据提取的根节点的索引,查找内存中是否存在对应的根节点,如果存在,则执行步骤206,如果不存在,则执行步骤207;
步骤206:将该子节点存储在内存中,设置该子节点的更新时间为接收该子节点的时间以及将查找的根节点的更新时间更新为接收该子节点的时间,执行步骤208;
例如,从子节点B中提取子节点B的根节点A的索引IDA,根据根节点A的索引IDA查找内存,假设从内存查找到对应的根节点A,则将子节点B存储在内存中,以及设置子节点B的更新时间为TimeB1,以及将查找的根节点的A的更新时间更新为TimeB1。
步骤207:创建一个根节点,并将提取的根节点的节点索引作为创建的根节点的索引;将创建的根节点和该子节点存储在内存中,并将该子节点的更新时间和创建的根节点的更新时间都设置为接收该子节点的时间,将创建的根节点的索引缓存在写事件空间中,执行步骤208;
其中,如果再接收到客户端发送的写操作请求和节点时,则再按上述步骤202-207的步骤将接收的节点存储在内存中。
例如,如果接收到客户端发送的写操作请求以及节点C,首先判断出节点C为子节点,从子节点C中提取子节点C的索引IDC以及子节点C的根节点A的索引IDA,将提取的根节点A的索引IDA以及子节点C的索引IDC存储在如表1所示的根节点的索引与子节点的索引的对应关系中,得到的结果如表2所示。
表2
根节点的索引 | 子节点的索引 |
IDA | IDB |
IDA | IDC |
...... | ...... |
其中,用户可以在微博中请求访问节点,如果用户访问的某个节点,则客户端发送读操作请求,且该读操作请求携带该节点的索引。参见图3,可以按如下401-409的步骤获取用户需要访问的节点,包括:
401:接收客户端发送的读操作请求,该读操作请求携带节点的索引;
402:根据读操作请求携带的节点的索引,查找内存中是否存在对应的节点,如果存在,则返回查找的节点给客户端,如果不存在,则执行步骤403;
403:返回一个空的消息给客户端,并根据该节点的索引,查找已存储的节点的索引与读取次数的对应关系是否存在对应的读取次数;
404:如果存在,则增加查找的读取次数,如果不存在,则设置读取次数并将该节点的索引与设置的读取次数存储的节点的索引与读取次数的对应关系中。
步骤208:根据内存中的每个节点的更新时间,将内存中的节点淘汰到文件中。
具体地,服务器可按如下(1)-(4)的步骤,将内存中的节点淘汰到文件中,包括:
(1):服务器周期性地扫描内存中的根节点,从内存中获取扫描的该根节点的子节点,
其中,根节点包括根节点的索引,而子节点包括子节点的索引、父亲节点的索引和根节点的索引,所以根节点和子节点的结构是不同的,所以可以直接从内存中扫描根节点。
具体地,服务器扫描一个根节点,提取该根节点的索引,根据该根节点的索引从已存储的根节点的索引和子节点的索引的对应关系中获取对应的子节点的索引,根据获取的子节点的索引从内存中查找出对应的子节点,其中,查找出的子节点为该根节点的子节点。
(2):分别计算该根节点的更新时间与当前时间的时间差以及根节点的每个子节点的更新时间与当前时间的时间差;
(3):如果每个子节点的时间差都超过时间阈值,则判断该根节点的时间差是否超过时间阈值,如果超过,则将该根节点以及该根节点的子节点淘汰到文件中,如果未超过,则将该根节点的每个子节点淘汰到文件中;
(4):如果存在时间差未超过时间阈值的子节点,则从该根节点的每个子节点中更新时间差大于时间阈值的子节点到文件中。
其中,在本实施例中,根节点是最后一个被淘汰到文件中。
另外,服务器还可以按如下的(A)-(F)的步骤,将内存中的节点淘汰到文件中,包括:
(A):服务器周期性地扫描内存中的根节点,从内存中获取扫描的该根节点的子节点;
具体地,服务器扫描一个根节点,提取该根节点的索引,根据该根节点的索引从已存储的根节点的索引和子节点的索引的对应关系中获取对应的子节点的索引,根据获取的子节点的索引从内存中查找出对应的子节点,其中,查找出的子节点为该根节点的子节点。
(B):服务器分别计算该根节点的更新时间与当前时间的时间差以及该根节点的每个子节点的更新时间与当前时间的时间差;
(C):如果该根节点的时间差和该根节点的每个子节点的时间差都超过时间阈值,则将该根节点和该根节点的子节点淘汰到文件中;
(D):如果该根节点的时间差未超过时间阈值或时间差未超过时间阈值的子节点的个数大于0且小于或等于第一阈值,则当该根节点的子节点的个数多于第一阈值时,选择时间差最小的第一阈值个子节点,将其他未选择的子节点淘汰到文件中,当该根节点的子节点的个数小于或等于第一阈值时,则保留该根节点的所有子节点;
其中,如果该根节点的每个子节点的时间差都超过时间阈值而该根节点的时间差未超过时间阈值,则如果该根节点的子节点的个数超过第一阈值,则从该根节点的每个子节点中选择时间差最小的第一阈值个子节点,将其他未选择的子节点淘汰到文件中,如果该根节点的子节点的个数据未超过第一阈值,则保留该根节点的每个子节点。
如果时间差未超过时间阈值的子节点的个数大于0且小于或等于第一阈值,则如果该根节点的子节点的个数超过第一阈值,则从该根节点的每个子节点中选择时间差较小的第一阈值个子节点,将其他未选择的子节点淘汰到文件中,如果该根节点的子节点的个数未超过第一阈值,则保留该根节点的每个子节点。
(E):如果时间差未超过时间阈值的子节点的个数大于第一阈值且小于或等于第二阈值,则从根节点的每个子节点中选择时间差超过所述时间阈值的子节点,将选择的子节点淘汰到所述文件中;
(F):如果时间差未超过时间阈值的子节点的个数大于所述第二阈值,则从该根节点的每个子节点中选择时间差较小的第二阈值个子节点,将未选择的子节点淘汰到文件中。
其中,在本实施例中,尽量保证内存中的每个根节点有第一阈值至第二阈值个子节点。
其中,用户每天向微博发布的消息的总量总在一定的范围内波动,因此每天从内存中淘汰到文件的节点的总数也是在一定的范围内,另外,每次都将超过一定时间没有访问或更新的节点淘汰到文件中,而这些节点都不是用户最近经常访问的节点,因此,这此淘汰到文件中的节点重新加载到内存中的概率较低,如此降低从内存中淘汰节点的频率以及往内存中加载节点的频率,提高了服务器的性能,由于将客户端的新节点存储在内存中,提高了命中率,提高了响应用户的速度。
进一步地,周期性地扫描写事件空间中存储的根节点的索引,根据扫描的根节点的索引,从文件中查找对应的根节点以及从内存中查找对应的根节点,将从文件中查找的根节点中的内容合并到从内存中查找的根节点中。其中,扫描完写事件空间中存储的每个根节点的索引后,清空写事件空间。
其中,根据写事件空间中的每个根节点的索引,从内存中查找对应的每个根节点都为新创建的根节点,而创建的根节点都为空的节点,所以需要将文件中对应的根节点的内容合并到内存中。
其中,由于文件中包括大量的节点,所以查找文件是一个复杂且耗时的操作。在本实施例中,如果查找到内存中不存在某个子节点的根节点,不立即从文件中查找该子节点的根节点,而是将该子节点的根节点存放在写事件空间中,然后再统一从文件中将写事件空间中的每个根节点的索引对应的根节点的内容合并到内存中,如此使得复杂且耗时的查找文件的操作异步统一执行,从而提高服务器的性能。
进一步地,周期性地扫描节点的索引与读取次数的对应关系中每条记录包括的节点的索引和读取次数,根据扫描的读取次数为扫描的节点的索引对应的节点打分,选择分数最大的第三阈值个节点,将选择的节点加载到内存中。当扫描完节点的索引与读取次数的对应关系中的每条记录后,清空节点的索引与读取次数的对应关系。
其中,由于从文件中查找节点需要大量的时间,在本实施例,当用户读取节点时,如果内存中不存在对应的节点,则立即返回响应给客户端,并存储该节点的索引,然后再异步地根据该节点被读取的次数,加载该节点到内存中,如此使得复杂且耗时的查找文件的操作异步统一执行,从而提高服务器的性能。
在本发明实施例中,接收客户端发送的节点,将节点存储在内存中,并设置该节点的更新时间,根据内存中各节点的更新时间将内存中的节点淘汰到文件中。其中,每天用户发表的消息对应的节点的数目都在一定范围内,而将接收的节点存储在内存中,如此每天从内存中淘汰节点的数目也在一定范围内,从而降低从内存中淘汰节点的频率;另外,根据各节点的更新时间将内存中的节点淘汰到文件中,可以将内存中热度较低的节点的淘汰到文件中,从而降低了从文件中向加载节点的频率,如此提高了服务器的性能。
实施例3
如图4所示,本发明实施例提供了一种存储节点的装置,包括:
接收模块401,用于接收客户端发送的写操作请求和节点;
存储模块402,用于将该节点存储在内存中并设置该节点的更新时间为接收该节点的时间;
淘汰模块403,用于根据内存中的各节点的更新时间将内存中的节点淘汰到文件中。
其中,如果该节点为子节点,则存储模块402具体包括;
提取单元,用于从该子节点中提取该子节点的索引和该子节点的根节点的索引,并存储在根节点的索引与子节点的索引的对应关系中;
查找单元,用于根据提取的根节点的索引,查找内存中是否存在该子节点的根节点;
设置单元,用于如果存在,则将该子节点存储在内存中,并设置该子节点的更新时间为接收该子节点的时间;
存储单元,用于如果不存在,创建该子节点的根节点且设置创建的根节点的索引为提取的根节点的索引,以及将提取的根节点的索引缓存在写事件空间中,将该子节点和创建的根节点存储在内存中,并设置创建的根节点的更新时间和该子节点的更新时间都为接收该子节点的时间。
进一步地,存储单元还包括:
合并子单元,用于周期性地扫描写事件空间中存储的根节点的索引,根据扫描的根节点的索引,从文件中查找对应的根节点以及从内存中查找对应的根节点,将从文件中查找的根节点中的内容合并到从内存中查找的根节点中。
其中,存储模块403具体包括:
第一扫描单元,用于周期性地扫描内存中的根节点,从内存中获取该根节点的每个子节点,分别计算该根节点的更新时间以及该根节点的每个子节点的更新时间与当前时间的时间差;
第一淘汰单元,用于如果每个子节点的时间差都超过时间阈值,则判断该根节点的时间差是否超过时间阈值,如果超过,则将该根节点和每个子节点淘汰到文件中,如果未超过,则将每个子节点淘汰到文件中;
第二淘汰单元,用于如果每个子节点中存在时间差未超过时间阈值的子节点,则从每个的子节点中淘汰时间差超过时间阈值的子节点到文件中。
其中,存储模块403具体包括:
第二扫描单元,用于周期性地扫描内存中的根节点,从内存中获取该根节点的每个子节点,分别计算该根节点的更新时间以及该根节点的每个子节点的更新时间与当前时间的时间差;
第三淘汰单元,用于如果该根节点的时间差和每个子节点的时间差都超过时间阈值,则将该根节点和每个子节点淘汰到文件中;
第四淘汰单元,用于如果该根节点的时间差未超过时间阈值或时间差未超过时间阈值的子节点的个数大于0且小于或等于第一阈值,则当该根节点的每个子节点的个数多于第一阈值时,选择时间差最小的第一阈值个子节点,将其他未选择的子节点淘汰到文件中,当该根节点的每个子节点的个数小于或等于第一阈值时,则保留该根节点的每个子节点;
第五淘汰单元,用于如果时间差未超过时间阈值的子节点的个数大于第一阈值且小于或等于第二阈值,则从每个子节点中将时间差超过时间阈值的子节点淘汰到文件中;
第六淘汰单元,用于如果时间差未超过时间阈值的子节点的个数大于第二阈值,则从每个子节点中选择时间差最小的第二阈值个子节点,将未选择的子节点淘汰到文件中。
进一步地,该装置还包括:
读取模块,用于接收客户端发送的读操作的请求,且该请求中携带节点的索引;根据节点的索引查找内存中是否存在对应的节点;如果否,则根据节点的索引查找已存储的节点的索引与读取次数的对应关系;如果如果没有查找到对应的读取次数,则设置读取次数,将节点的索引和设置的读取次数存储在节点的索引与读取次数的对应关系中,如果查找到对应的读取次数,则增加查找的读取次数。
进一步地,该装置还包括:
加载模块,用于周期性地扫描节点的索引与读取次数的对应关系中每条记录包括的节点的索引和读取次数,根据扫描的读取次数为扫描的节点的索引对应的节点打分,选择分数最大的第三阈值个节点,将选择的节点加载到内存中。
在本发明实施例中,接收客户端发送的节点,将节点存储在内存中,并设置该节点的更新时间,根据内存中各节点的更新时间将内存中的节点淘汰到文件中。其中,每天用户发表的消息对应的节点的数目都在一定范围内,而将接收的节点存储在内存中,如此每天从内存中淘汰节点的数目也在一定范围内,从而降低从内存中淘汰节点的频率;另外,根据各节点的更新时间将内存中的节点淘汰到文件中,可以将内存中热度较低的节点的淘汰到文件中,从而降低了从文件中向加载节点的频率,如此提高了服务器的性能。
需要说明的是:上述实施例提供的一种存储节点的装置在存储节点时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供存储节点的装置与存储节点的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种存储节点的方法,其特征在于,所述方法包括:
接收客户端发送的写操作请求和节点;
将所述节点存储在内存中并设置所述节点的更新时间为接收所述节点的时间;
根据所述内存中的各节点的更新时间将所述内存中的节点淘汰到文件中。
2.如权利要求1所述的方法,其特征在于,如果所述节点为子节点,则所述将所述节点存储在内存中并设置所述节点的更新时间为所述节点的接收时间,具体包括;
从所述子节点中提取所述子节点的索引和所述子节点的根节点的索引,并存储在根节点的索引与子节点的索引的对应关系中;
根据所述根节点的索引,查找所述内存中是否存在所述子节点的根节点;
如果存在,则将所述子节点存储在内存中,并设置所述子节点的更新时间为接收所述子节点的时间;
如果不存在,创建所述子节点的根节点且设置所述创建的根节点的索引为所述根节点的索引,以及将所述根节点的索引缓存在写事件空间中,将所述子节点和创建的根节点存储在内存中,并设置所述创建的根节点的更新时间和所述子节点的更新时间都为接收所述子节点的时间。
3.如权利要求2所述的方法,其特征在于,所述将所述子节点存储在内存中,并设置所述子节点的更新时间为接收所述子节点的时间之后,还包括:
周期性地扫描所述写事件空间中存储的根节点的索引,根据所述扫描的根节点的索引,从所述文件中查找对应的根节点以及从所述内存中查找对应的根节点,将从所述文件中查找的根节点中的内容合并到从所述内存中查找的根节点中。
4.如权利要求1所述的方法,其特征在于,所述根据所述内存中的节点的更新时间将所述内存中的节点淘汰到文件中,具体包括:
周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述子节点的更新时间与当前时间的时间差;
如果所述子节点的时间差都超过时间阈值,则判断所述根节点的时间差是否超过所述时间阈值,如果超过,则将所述根节点和所述子节点淘汰到所述文件中,如果未超过,则将所述子节点淘汰到所述文件中;
如果所述子节点中存在时间差未超过所述时间阈值的子节点,则从所述子节点中淘汰时间差超过所述时间阈值的子节点到所述文件中。
5.如权利要求1所述的方法,其特征在于,所述根据所述内存中的节点的更新时间将所述内存中的节点淘汰到文件中,具体包括:
周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述子节点的更新时间与当前时间的时间差;
如果所述根节点的时间差和所述子节点的时间差都超过时间阈值,则将所述根节点和所述子节点淘汰到所述文件中;
如果所述根节点的时间差未超过所述时间阈值或时间差未超过所述时间阈值的子节点的个数大于0且小于或等于第一阈值,则当所述子节点的个数多于所述第一阈值时,选择时间差最小的所述第一阈值个子节点,将其他未选择的子节点淘汰到文件中,当所述子节点的个数小于或等于所述第一阈值时,则保留所述子节点;
如果时间差未超过所述时间阈值的子节点的个数大于所述第一阈值且小于或等于第二阈值,则从所述子节点中将时间差超过所述时间阈值的子节点淘汰到所述文件中;
如果时间差未超过所述时间阈值的子节点的个数大于所述第二阈值,则从所述子节点中选择时间差最小的第二阈值个子节点,将未选择的子节点淘汰到所述文件中。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的读操作的请求,所述请求中携带节点的索引;根据所述节点的索引查找所述内存中是否存在对应的节点;
如果否,则根据所述节点的索引查找已存储的节点的索引与读取次数的对应关系;如果如果没有查找到对应的读取次数,则设置读取次数,将所述节点的索引和所述设置的读取次数存储在所述节点的索引与读取次数的对应关系中,如果查找到对应的读取次数,则增加所述查找的读取次数。
7.如权利要求6所述的方法,其特征在于,所述增加所述查找的读取次数之后,还包括:
周期性地扫描所述节点的索引与读取次数的对应关系中每条记录包括的节点的索引和读取次数,根据所述扫描的读取次数为所述扫描的节点的索引对应的节点打分,选择分数最大的第三阈值个节点,将所述选择的节点加载到所述内存中。
8.一种存储节点的装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的写操作请求和节点;
存储模块,用于将所述节点存储在内存中并设置所述节点的更新时间为接收所述节点的时间;
淘汰模块,用于根据所述内存中的各节点的更新时间将所述内存中的节点淘汰到文件中。
9.如权利要求8所述的装置,其特征在于,如果所述节点为子节点,则所述存储模块具体包括;
提取单元,用于从所述子节点中提取所述子节点的索引和所述子节点的根节点的索引,并存储在根节点的索引与子节点的索引的对应关系中;
查找单元,用于根据所述根节点的索引,查找所述内存中是否存在所述子节点的根节点;
设置单元,用于如果存在,则将所述子节点存储在内存中,并设置所述子节点的更新时间为接收所述子节点的时间;
存储单元,用于如果不存在,创建所述子节点的根节点且设置所述创建的根节点的索引为所述根节点的索引,以及将所述根节点的索引缓存在写事件空间中,将所述子节点和创建的根节点存储在内存中,并设置所述创建的根节点的更新时间和所述子节点的更新时间都为接收所述子节点的时间。
10.如权利要求9所述的装置,其特征在于,所述存储单元还包括:
合并子单元,用于周期性地扫描所述写事件空间中存储的根节点的索引,根据所述扫描的根节点的索引,从所述文件中查找对应的根节点以及从所述内存中查找对应的根节点,将从所述文件中查找的根节点中的内容合并到从所述内存中查找的根节点中。
11.如权利要求8所述的装置,其特征在于,所述存储模块具体包括:
第一扫描单元,用于周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述根节点的每个子节点的更新时间与当前时间的时间差;
第一淘汰单元,用于如果所述每个子节点的时间差都超过时间阈值,则判断所述根节点的时间差是否超过所述时间阈值,如果超过,则将所述根节点和所述每个子节点淘汰到所述文件中,如果未超过,则将所述每个子节点淘汰到所述文件中;
第二淘汰单元,用于如果所述每个子节点中存在时间差未超过所述时间阈值的子节点,则从所述每个的子节点中淘汰时间差超过所述时间阈值的子节点到所述文件中。
12.如权利要求8所述的装置,其特征在于,所述存储模块具体包括:
第二扫描单元,用于周期性地扫描所述内存中的根节点,从所述内存中获取所述根节点的子节点,分别计算所述根节点的更新时间以及所述子节点的更新时间与当前时间的时间差;
第三淘汰单元,用于如果所述根节点的时间差和所述子节点的时间差都超过时间阈值,则将所述根节点和所述子节点淘汰到所述文件中;
第四淘汰单元,用于如果所述根节点的时间差未超过所述时间阈值或时间差未超过所述时间阈值的子节点的个数大于0且小于或等于第一阈值,则当所述子节点的个数多于所述第一阈值时,选择时间差最小的所述第一阈值个子节点,将其他未选择的子节点淘汰到所述文件中,当所述子节点的个数小于或等于所述第一阈值时,则保留所述子节点;
第五淘汰单元,用于如果时间差未超过所述时间阈值的子节点的个数大于所述第一阈值且小于或等于第二阈值,则从所述子节点中将时间差超过所述时间阈值的子节点淘汰到所述文件中;
第六淘汰单元,用于如果时间差未超过所述时间阈值的子节点的个数大于所述第二阈值,则从所述子节点中选择时间差最小的第二阈值个子节点,将未选择的子节点淘汰到所述文件中。
13.如权利要求9所述的装置,其特征在于,所述装置还包括:
读取模块,用于接收所述客户端发送的读操作的请求,所述请求中携带节点的索引;根据所述节点的索引查找所述内存中是否存在对应的节点;如果否,则根据所述节点的索引查找已存储的节点的索引与读取次数的对应关系;如果如果没有查找到对应的读取次数,则设置读取次数,将所述节点的索引和所述设置的读取次数存储在所述节点的索引与读取次数的对应关系中,如果查找到对应的读取次数,则增加所述查找的读取次数。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:
加载模块,用于周期性地扫描所述节点的索引与读取次数的对应关系中每条记录包括的节点的索引和读取次数,根据所述扫描的读取次数为所述扫描的节点的索引对应的节点打分,选择分数最大的第三阈值个节点,将所述选择的节点加载到所述内存中。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110026621.3A CN102611725B (zh) | 2011-01-25 | 2011-01-25 | 一种存储节点的方法及装置 |
US13/981,427 US8788539B2 (en) | 2011-01-25 | 2011-12-22 | Method and apparatus for storing node |
PCT/CN2011/084444 WO2012100613A1 (zh) | 2011-01-25 | 2011-12-22 | 一种存储节点的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110026621.3A CN102611725B (zh) | 2011-01-25 | 2011-01-25 | 一种存储节点的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102611725A true CN102611725A (zh) | 2012-07-25 |
CN102611725B CN102611725B (zh) | 2016-08-03 |
Family
ID=46528878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110026621.3A Active CN102611725B (zh) | 2011-01-25 | 2011-01-25 | 一种存储节点的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8788539B2 (zh) |
CN (1) | CN102611725B (zh) |
WO (1) | WO2012100613A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395587A (zh) * | 2017-07-18 | 2017-11-24 | 北京初识科技有限公司 | 一种基于多点协作机制的数据管理方法及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2945071B1 (en) * | 2013-01-11 | 2020-08-26 | NEC Corporation | Index generating device and method, and search device and search method |
JP6248435B2 (ja) * | 2013-07-04 | 2017-12-20 | 富士通株式会社 | ストレージ装置、およびストレージ装置の制御方法 |
CN110990909B (zh) * | 2019-11-29 | 2023-10-20 | 北京仿真中心 | 一种三维cad模型数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523903A (zh) * | 2003-09-12 | 2004-08-25 | ��Ѷ�Ƽ������ڣ�����˾ | 一种基于即时通讯的信息反馈方法和系统 |
US20070255823A1 (en) * | 2006-05-01 | 2007-11-01 | International Business Machines Corporation | Method for low-overhead message tracking in a distributed messaging system |
CN101231640A (zh) * | 2007-01-22 | 2008-07-30 | 北大方正集团有限公司 | 一种自动计算互联网上主题演化趋势的方法及系统 |
CN101299769A (zh) * | 2008-05-14 | 2008-11-05 | 天津华永无线科技有限公司 | 基于地理位置的微博客系统及其构建方法 |
CN101706827A (zh) * | 2009-08-28 | 2010-05-12 | 四川虹微技术有限公司 | 一种嵌入式浏览器文件缓存方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276872A (en) * | 1991-06-25 | 1994-01-04 | Digital Equipment Corporation | Concurrency and recovery for index trees with nodal updates using multiple atomic actions by which the trees integrity is preserved during undesired system interruptions |
JP3912676B2 (ja) * | 2003-02-27 | 2007-05-09 | ソニー株式会社 | 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体 |
US7970742B2 (en) * | 2005-12-01 | 2011-06-28 | Oracle International Corporation | Techniques for implementing indexes on columns in database tables whose values specify periods of time |
CN101714161A (zh) * | 2009-12-23 | 2010-05-26 | 上海全景数字技术有限公司 | 一种嵌入式浏览器缓存装置和方法 |
CN101794259B (zh) * | 2010-03-26 | 2012-05-30 | 成都市华为赛门铁克科技有限公司 | 数据存储方法和装置 |
US8751511B2 (en) * | 2010-03-30 | 2014-06-10 | Yahoo! Inc. | Ranking of search results based on microblog data |
-
2011
- 2011-01-25 CN CN201110026621.3A patent/CN102611725B/zh active Active
- 2011-12-22 WO PCT/CN2011/084444 patent/WO2012100613A1/zh active Application Filing
- 2011-12-22 US US13/981,427 patent/US8788539B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523903A (zh) * | 2003-09-12 | 2004-08-25 | ��Ѷ�Ƽ������ڣ�����˾ | 一种基于即时通讯的信息反馈方法和系统 |
US20070255823A1 (en) * | 2006-05-01 | 2007-11-01 | International Business Machines Corporation | Method for low-overhead message tracking in a distributed messaging system |
CN101231640A (zh) * | 2007-01-22 | 2008-07-30 | 北大方正集团有限公司 | 一种自动计算互联网上主题演化趋势的方法及系统 |
CN101299769A (zh) * | 2008-05-14 | 2008-11-05 | 天津华永无线科技有限公司 | 基于地理位置的微博客系统及其构建方法 |
CN101706827A (zh) * | 2009-08-28 | 2010-05-12 | 四川虹微技术有限公司 | 一种嵌入式浏览器文件缓存方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395587A (zh) * | 2017-07-18 | 2017-11-24 | 北京初识科技有限公司 | 一种基于多点协作机制的数据管理方法及系统 |
CN107395587B (zh) * | 2017-07-18 | 2020-01-03 | 北京微星优财网络科技有限公司 | 一种基于多点协作机制的数据管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US8788539B2 (en) | 2014-07-22 |
CN102611725B (zh) | 2016-08-03 |
US20130325798A1 (en) | 2013-12-05 |
WO2012100613A1 (zh) | 2012-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI617927B (zh) | 用戶行為資訊收集及資訊發送方法及裝置 | |
CN101236569B (zh) | 一种基于ContextFS上下文文件系统的高效动态路径解析方法 | |
CN105224609B (zh) | 一种索引查询方法及装置 | |
CN110321325B (zh) | 文件索引节点查找方法、终端、服务器、系统及存储介质 | |
US20090089334A1 (en) | Lazy updates to indexes in a database | |
CN104702625A (zh) | 一种cdn网络中访问请求调度方法及装置 | |
CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN102780603B (zh) | 网站流量控制方法及装置 | |
CN103782295A (zh) | 分布式数据管理系统中的查询说明计划 | |
CN104182435A (zh) | 基于数据缺失标记的信息检索系统及方法 | |
CN102298633A (zh) | 一种分布式海量数据排重方法及系统 | |
CN108399226A (zh) | 一种用于数字图书馆的大数据清洗方法 | |
CN108241725B (zh) | 一种数据热度统计系统和方法 | |
CN102609488A (zh) | 客户端及其数据查询方法、服务端和数据查询系统 | |
CN104253836B (zh) | 基于无线网络的图片显示方法、移动终端和系统 | |
CN102611725A (zh) | 一种存储节点的方法及装置 | |
CN104834650A (zh) | 一种有效查询任务生成方法及系统 | |
CN104346458A (zh) | 数据存储方法和存储设备 | |
CN101217449B (zh) | 远程调用管理方法 | |
CN103310008A (zh) | 一种云控制服务器及其文件索引方法 | |
CN114328598B (zh) | 基于ClickHouse数据库的pipeline的缓存优化方法及系统 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN108319634A (zh) | 分布式文件系统的目录访问方法和装置 | |
CN111158601A (zh) | 一种缓存中的io数据下刷方法、系统及相关装置 | |
CN102955808A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190802 Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: 518000 Guangdong city of Shenzhen province Futian District SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |