CN113849125A - 一种cdn服务器磁盘读取的方法、装置及系统 - Google Patents
一种cdn服务器磁盘读取的方法、装置及系统 Download PDFInfo
- Publication number
- CN113849125A CN113849125A CN202111004677.9A CN202111004677A CN113849125A CN 113849125 A CN113849125 A CN 113849125A CN 202111004677 A CN202111004677 A CN 202111004677A CN 113849125 A CN113849125 A CN 113849125A
- Authority
- CN
- China
- Prior art keywords
- information
- file
- read
- user
- blocks
- 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 42
- 230000006399 behavior Effects 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 14
- 238000007726 management method Methods 0.000 description 33
- 230000007812 deficiency Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种CDN服务器磁盘读取的方法、装置及系统,其包括:在检测到用户访问触发指令时,获取用户请求信息,所述用户请求信息包括用户信息以及与所述用户信息相对应的文件信息;基于所述用户信息确定用户客户端信息,基于所述文件信息识别文件应用信息;确定所述用户客户端信息与所述文件应用信息的关联行为信息;根据所述关联行为信息确定所述文件信息中的预读文件块总量;将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,并将所述指定文件块返回至客户端。本申请提高磁盘读写能力的效果。
Description
技术领域
本申请涉及计算机的领域,尤其是涉及一种CDN服务器磁盘读取的方法、装置及系统。
背景技术
随着互联网技术的发展,网站越来越倾向于使用CDN(ContentDeliveryNetwork,内容分发网络)技术进行网络资源的分发,以提高网站访问速度,提升用户体验。通过在互联网各处放置CDN服务器,构成在现有的互联网基础之上的一层智能虚拟网络,能够尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
现有的CDN常常存放多家应用的数据文件或媒体文件,同时在CDN使用时会对多家CP(Content Provider,内容提供商)的应用客户端进行服务,各家CP的应用客户端包括 PC(PersonalComputer,个人计算机)、Android(安卓)以及苹果等,而不同应用客户端的行为模式均不同,因此采用固定的预读方式无法精准判断某种客户端预读某种应用的数据大小,从而导致无法精确计算客户端可能预读资源的数量,进而存在磁盘读写能力降低的缺陷。
发明内容
为了提高磁盘读写能力,本申请提供一种CDN服务器磁盘读取的方法、装置及系统。
第一方面,本申请提供一种CDN服务器磁盘读取的方法,采用如下的技术方案:一种CDN服务器磁盘读取的方法,包括:
在检测到用户访问触发指令时,获取用户请求信息,所述用户请求信息包括用户信息以及与所述用户信息相对应的文件信息;
基于所述用户信息确定用户客户端信息,基于所述文件信息识别文件应用信息;
确定所述用户客户端信息与所述文件应用信息的关联行为信息;
根据所述关联行为信息确定所述文件信息中的预读文件块总量;
将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,并将所述指定文件块返回至客户端。
通过采用上述技术方案,在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
在另一种可能实现的方式中,根据所述关联行为信息确定所述文件信息中的预读文件块总量,包括:
获取文件信息中的文件位置信息与文件长度信息,所述文件长度信息是基于所述文件位置信息开始读取的长度;
根据所述用户请求信息获取规则ID;
基于所述规则ID进行查询,获取预读文件块数量;
根据所述文件长度信息确定所要读取的读取文件块数量;
将所述预读文件块数量与所述读取文件块数量相加得到所述预读文件块总量。
通过上述技术方案,在获取预读文件块总量时,根据用户请求信息获取规则ID,基于规则ID确定关联行为信息中的预读文件块数量,再对文件信息进行查询,得到文件位置信息与文件长度信息,根据文件位置信息与文件长度信息确定当前用户所要读取的读取文件块数量,再将读取文件块数量与预读文件块数量相加,获取当前用户所需的预读文件块总量,例如:安卓用户在访问优酷应用信息时,读取文件块数量为当前用户实时访问的文件数据信息,预读文件块数量为当前用户可能读取的文件数据信息。通过获取不同用户的关联行为信息精确判断当前用户所要读取的读取文件块数量与预读文件块数量,从而有助于提高用户的使用体验。
在另一种可能实现的方式中,所述根据所述用户请求信息获取规则ID,之前还包括:根据所述关联行为信息创建识别规则,并基于所述识别规则设定所述用户请求信息的规则ID。
通过采用上述技术方案,对关联行为信息进行分析,获取与用户相对应的用户客户端信息与文件应用信息,将用户客户端信息与文件应用信息保存到数据库表中,创建用户信息表,同时对用户信息表中存储的不同用户信息创建标识规则,例如:按照用户客户端信息的开头首字母进行排序,分别对不同关联行为信息标记规则ID,从而有助于对关联行为信息进行识别。
在另一种可能实现的方式中,所述根据所述用户请求信息获取规则ID,之前还包括:确定所述文件位置信息除以单个文件块大小的商值是否等于零;
若不等于,则删除所述文件位置信息,同时获取所述文件位置信息除以所述单个文件块大小的商值与所述单个文件块大小相乘得到新的文件位置信息。
通过采用上述技术方案,在确定文件位置信息后,对当前文件位置信息进行判断,确定文件位置信息为单个文件块大小的整数倍,从而确定文件位置信息为某个文件块位置,若文件位置信息不能与单个文件块大小相整除,则确定文件块位置信息在两个文件块位置之间,将对文件位置信息与单个文件块大小的商值与单个文件块大小相乘获得信息的文件位置信息,从而达到了保证文件位置信息与某个文件块位置相对应的效果。
在另一种可能实现的方式中,所述将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,包括:
当接收到所述预读文件块总量时,根据所述预读文件块总量与所述文件位置信息确定数据位图信息;
基于所述数据位图信息获取当前内存信息中的存储数据位图信息;
确定所述存储数据位图信息是否满足所述数据位图信息;
若满足,则基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块;
若不满足,则对所述数据位图信息与所述存储数据位图信息进行异或操作获取位图比较信息,将所述位图比较信息与所述数据位图信息进行与操作获取所述存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与所述位图欠缺信息相对应的位图信息,并将所述位图信息插入到所述存储数据位图信息中得到新的存储数据位图信息,基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块。
通过采用上述技术方案,在内存管理模块获取指定文件块时,根据不同用户的预读文件块总量与文件位置信息确定数据位图信息,再根据数据位图信息获取当前内存信息中的存储数据位图信息,将存储数据位图信息与数据位图信息相比对,确定当前存储数据位图信息相对于数据位图信息中所缺失的位图欠缺信息,根据位图欠缺信息去读磁盘中相对应的位图信息,并将位图信息插入到内存信息的存储数据位图信息中,对存储数据位图信息进行更新,以便于用户在后续读取指定文件块时,减少读取磁盘次数,从而达到了提高磁盘性能的效果。
在另一种可能实现的方式中,所述基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块,包括:
基于所述存储数据位图信息确定文件开始位置信息与文件结束位置信息;
基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件块;
当所述存储数据位图信息中的文件块满足限定要求时,停止对所述文件块查找;
其中,所述限定要求包括以下至少一项:
所述文件位置信息查找到所述文件开始位置信息或所述文件结束位置信息;
所述存储数据位图信息中无内存信息;
访问所述文件块的当前时间与上次访问所述文件块的时间差值大于预设的指定时间差值。
通过采用上述技术方案,在查找存储数据位图信息中指定文件块时,首先确定存储数据位图信息中的文件开始位置信息与文件结束位置信息,文件位置信息分别向文件开始位置信息与文件结束位置信息方向进行查找,当查找到存储数据位图信息中的文件块满足限定要求时,停止对文件块进行查找,从而快速获取指定文件块的效果。
在另一种可能实现的方式中,所述基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件块,之后还包括:
对所述指定文件块进行统计,获取所述指定文件块的指定文件块数量与每个所述指定文件块对应的访问时间、访问次数;
根据不同所述指定文件块的所述访问时间与所述访问次数,对每个所述指定文件块进行权重值计算得到文件块权重值;
获取与所述指定文件块相对应的规则ID;
基于所述规则ID查询,确定与所述规则ID绑定的信息中是否存在原始文件块权重值;
若存在,则删除原始文件块权重值,并将所述文件与所述规则ID进行绑定。
通过采用上述技术方案,在对指定文件块计算权重值时,首先获取指定文件块数量与每个指定文件块对应的访问时间、访问次数,从而确定整个指定文件块数量的访问时间与访问次数,再根据整个指定文件块数量的访问时间与访问次数进行权重值计算得到文件块权重值,再将文件权重值与指定文件块相对应规则ID进行绑定,从而便于后续对于权重值的查询。
第二方面,本申请提供一种CDN服务器磁盘读取的装置,采用如下的技术方案:一种CDN服务器磁盘读取的装置,包括:
第一获取模块,用于当检测到用户访问触发指令时,获取用户请求信息,所述用户请求信息包括用户信息以及与所述用户信息相对应的文件信息;
第一确定模块,用于基于所述用户信息确定用户客户端信息,基于所述文件信息识别文件应用信息;
第二确定模块,用于确定所述用户客户端信息与所述文件应用信息的关联行为信息;
第三确定模块,用于根据所述关联行为信息确定所述文件信息中的预读文件块总量;
返回模块,用于将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,并将所述指定文件块返回至客户端。
通过采用上述技术方案,在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
在另一种可能的实现方式中,所述第三确定模块在根据所述关联行为信息确定所述文件信息中的预读文件块总量时,具体用于:
获取文件信息中的文件位置信息与文件长度信息,所述文件长度信息是基于所述文件位置信息开始读取的长度;
根据所述用户请求信息获取规则ID;
基于所述规则ID进行查询,获取预读文件块数量;
根据所述文件长度信息确定所要读取的读取文件块数量;
将所述预读文件块数量与所述读取文件块数量相加得到所述预读文件块总量。
在另一种可能的实现方式中,所述装置还包括:创建模块,其中,
所述创建模块,用于根据所述关联行为信息创建识别规则,并基于所述识别规则设定所述用户请求信息的规则ID。
在另一种可能的实现方式中,所述装置还包括:第四确定模块以及第二获取模块,其中,
所述第四确定模块,用于确定所述文件位置信息除以单个文件块大小的商值是否等于零;所述第二获取模块,用于当不等于时,则删除所述文件位置信息,同时获取所述文件位置信息除以所述单个文件块大小的商值与所述单个文件块大小相乘得到新的文件位置信息。
在另一种可能的实现方式中,所述返回模块在将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,具体用于:
当接收到所述预读文件块总量时,根据所述预读文件块总量与所述文件位置信息确定数据位图信息;
基于所述数据位图信息获取当前内存信息中的存储数据位图信息;
确定所述存储数据位图信息是否满足所述数据位图信息;
若满足,则基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块;
若不满足,则对所述数据位图信息与所述存储数据位图信息进行异或操作获取位图比较信息,将所述位图比较信息与所述数据位图信息进行与操作获取所述存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与所述位图欠缺信息相对应的位图信息,并将所述位图信息插入到所述存储数据位图信息中得到新的存储数据位图信息,基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块。
在另一种可能的实现方式中,所述装置具体包括:第五确定模块、第一查找模块以及限定模块,其中,
所述第五确定模块,用于基于所述存储数据位图信息确定文件开始位置信息与文件结束位置信息;
所述第一查找模块,用于基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件块;
所述限定模块,用于当所述存储数据位图信息中的文件块满足限定要求时,停止对所述文件块查找;
其中,所述限定模块中的所述限定要求包括以下至少一项:
所述文件位置信息查找到所述文件开始位置信息或所述文件结束位置信息;
所述存储数据位图信息中无内存信息;
访问所述文件块的当前时间与上次访问所述文件块的时间差值大于预设的指定时间差值。
在另一种可能的实现方式中,所述装置还包括:统计模块、计算模块、第三获取模块、第六确定模块以及更新绑定模块,其中,
所述统计模块,用于对所述指定文件块进行统计,获取所述指定文件块的指定文件块数量与每个所述指定文件块对应的访问时间、访问次数;
所述计算模块,用于根据不同所述指定文件块的所述访问时间与所述访问次数,对每个所述指定文件块进行权重值计算得到文件块权重值;
所述第三获取模块,用于获取与所述指定文件块相对应的规则ID;
所述第六确定模块,用于基于所述规则ID查询,确定与所述规则ID绑定的信息中是否存在原始文件块权重值;
所述更新绑定模块,用于当存在时,则删除原始文件块权重值,并将所述文件与所述规则ID 进行绑定。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面任一种可能的实现方式所示的一种aa方法。
通过采用上述技术方案,在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,包括:存储有能够被处理器加载并执行实现第一方面任一种可能的实现方式所示的一种aa方法的计算机程序。
通过采用上述技术方案,在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
综上所述,本申请包括以下至少一种有益技术效果:
1.在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果;
2.在获取预读文件块总量时,根据用户请求信息获取规则ID,基于规则ID确定关联行为信息中的预读文件块数量,再对文件信息进行查询,得到文件位置信息与文件长度信息,根据文件位置信息与文件长度信息确定当前用户所要读取的读取文件块数量,再将读取文件块数量与预读文件块数量相加,获取当前用户所需的预读文件块总量,例如:安卓用户在访问优酷应用信息时,读取文件块数量为当前用户实时访问的文件数据信息,预读文件块数量为当前用户可能读取的文件数据信息。通过获取不同用户的关联行为信息精确判断当前用户所要读取的读取文件块数量与预读文件块数量,从而有助于提高用户的使用体验。
附图说明
图1是本申请实施例的一种CDN服务器磁盘读取的方法流程示意图;
图2为本申请实施例的一种CDN服务器磁盘读取的装置结构示意图;
图3为本申请实施例的电子设备的结构示意图。
具体实施方式
以下结合附图1-3对本申请作进一步详细说明。
领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
下面结合说明书附图对本申请实施例作进一步详细描述。
本申请实施例提供了一种CDN服务器磁盘读取的方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制,如图1所示,该方法包括:
步骤S10,在检测到用户访问触发指令时,获取用户请求信息,用户请求信息包括用户信息以及与用户信息相对应的文件信息。
对于本申请实施例,用户访问触发指令为用户在使用客户端获取应用软件数据内容信息时点击的按键,也即当CDN服务器检测到用户访问触发指令事件时,触发执行本申请实施例所示的一种CDN服务器磁盘读取的方法。
具体地,当检测到用户访问触发指令时,服务器获取用户客户端的请求IP地址,常见的IP地址请求头包括:x-forwarded-for、client-ip以及remote_addr,remote_addr是指当前直接请求的客户端IP地址,它存在于tcp请求体中,是http协议传输的时候自动添加,不受请求头header的控制。因此,当客户端与服务器之间不存在任何代理的时候,通过remote_addr 获取客户端IP地址是最准确。根据remote_addr获取当前客户端的IP地址,实现服务器与客户端进行通信,获取用户请求信息,对用户请求信息中自带的参数进行识别,获取用户信息以及与用户信息相对应的文件信息。例如,获取到的参数形式为:
User-information:UserName:张三;User-agent:Anderoid;
File-information:Application:优酷;RealmName:.youku.com;Suffix:ts。
步骤S11,基于用户信息确定用户客户端信息,基于文件信息识别文件应用信息。
具体地,通过后台查询接口对用户信息中存在的用户客户端信息与文件信息中存在的文件应用信息进行获取,例如:对步骤S10中获取的User-information与File-information:进行参数分析,获取参数User-agent以及与参数User-agent相对应的值(Anderoid)、参数 File-information以及与参数File-information相对应的值(优酷),从而获取用户客户端信息 (Anderoid)与文件应用信息(优酷)。
步骤S12,确定用户客户端信息与文件应用信息的关联行为信息。
具体地,用户客户端信息与文件应用信息的关联行为信息,即当前用户客户端信息对 CDN服务器进行数据请求的信息以及文件应用信息对CDN服务器进行数据上传的信息相关联。
例如:用户A第一次使用安卓手机想观看优酷软件上的视频信息,用户A会通过安卓手机将该请求发送至CDN服务器,CDN服务器再将请求发送至对应的优酷软件的服务器上,优酷软件的服务器会读取该请求,并根据返回指定的文件应用信息,同时将用户A的用户客户端信息与文件应用信息相关联,便于后期对信息的处理。
步骤S13,根据关联行为信息确定文件信息中的预读文件块总量。
其中,根据步骤S12中CDN获取到的指定的文件应用信息,对文件应用信息存储的数据信息进行计算,例如:可直接通过file的length()方法获取,将文件对应信息保存在指定位置,获取文件对应信息的的路径信息,根据路径信息创建文件:File file=newFile("E:\\ 全部软件\\软件压缩包\\Windows7_W64_SP1_ent.iso");在获取当前路径下的文件大小: file.length(),根据获取到的文件大小读取预读文件块总量。
步骤S14,将预读文件块总量发送至内存管理模块中,内存管理模块基于预读文件块总量获取指定文件块,并将指定文件块返回至客户端。
对于本申请实施例,内存管理模块是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效、快速的分配,并且在适当的时候释放和回收内存资源。一个执行中的程式,譬如网页浏览器在个人电脑或是图灵机(Turing machine)里面,为一个行程将资料转换于真实世界及电脑内存之间,然后将资料存于电脑内存内部(在计算机科学,一个程式是一群指令的集合,一个行程是电脑在执行中的程式)。一个程式结构由以下两部分而成:“本文区段”,也就是指令存放,提供CPU使用及执行;“资料区段”,储存程式内部本身设定的资料,例如常数字串。
具体地,服务器内存是以字节为单位进行存储的,一个文件块的大小一般为64KB,根据预读文件块总量获取内存管理模块中相对应位置的指定文件块大小,从而获取指定文件块。
本申请实施例提供了一种CDN服务器磁盘读取的方法,在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
本申请实施例的一种可能的实现方式,步骤S13具体包括步骤S131(图中未示出)、步骤S132(图中未示出)、步骤S133(图中未示出)、步骤S134(图中未示出)以及步骤 S135(图中未示出),其中,步骤S131,获取文件信息中的文件位置信息与文件长度信息,文件长度信息是基于文件位置信息开始读取的长度。
具体地,计算机以进程为基本单位进行资源的调度和分配,而在用户进行的输入、输出中,则以文件为基本单位。大多数应用程序的输入都是通过文件来实现的,其输出也都是将数据保存在文件中,再将文件保存在内存中,以便信息的长期存储及未来的访问,而保存在内存中的多个文件块按照一定顺序进行排序,当对文件块进行访问时,获取文件位置信息,并根据文件位置信息读取一定文件长度信息,从而获取当前用户所需的文件块。
步骤S132,根据用户请求信息获取规则ID。
具体地,在控制层编写创建查询接口,获取用户请求信息中的规则ID参数,并对规则ID参数所对应的数值进行获取。
步骤S133,基于规则ID进行查询,获取预读文件块数量。
具体地,通过控制层(controller)、业务层(service)以及数据访问层(dao)对步骤 S132获取到的规则ID数值对应的预读文件块数量进行获取,数据访问层只负责与数据库的数据交互,将数据进行读取操作,业务层需要根据系统的实际业务需求进行逻辑代码的编写,例如获取规则ID为1的值:“select*from rule where ID=1”,业务逻辑层调用数据访问层的相关方法实现与数据库的交互,将从数据库查询到的值反馈给控制层,控制层将规则ID对应的数据信息进行输出,从而获取与规则ID相对应的预读文件块数量。
步骤S134,根据文件长度信息确定所要读取的读取文件块数量。
具体地,在获取到文件块长度信息后,将文件块长度信息与单个文件块长度信息进行整除,从而获取读取文件块数量。
例如:文件块长度信息为2097152KB,单个文件块长度为64KB,则读取文件块数量就等于2097152KB除以64KB,及读取文件块数量为32个。
步骤S135,将预读文件块数量与读取文件块数量相加得到预读文件块总量。
对于本申请实施例,预读文件块数量即为用户即将可能读取到的文件块数量,读取文件块数量即为用户当前正在读取的文件块数量。
具体地,将到的预读文件块数量与当前读取文件块数量进行相加,获取两文件块数量之和,从而得到预读文件块总量。
本申请实施例的一种可能的实现方式,步骤S132(图中未示出)之前还包括步骤Sa(图中未示出)、步骤Sb(图中未示出)以及步骤Sc(图中未示出),其中,
步骤Sa,根据关联行为信息创建识别规则,并基于识别规则设定用户请求信息的规则ID。
具体地,根据步骤S12获取的到的关联行为信息创建识别规则,识别规则如表一所示:
表一
按照表一的识别规则区分处不同应用与不同的客户端,并对应其进行规则ID标记。
步骤Sb,确定文件位置信息除以单个文件块大小的商值是否等于零。
具体地,假设预存文件块大小取值为64K,64KB等于64乘以1024,即为65536B,用户请求的文件位置信息是第65539B的数据时,按照上述计算为: 65539/65536=1.000045776367188,按照程序逻辑1.000045776367188默认取整后为1,当前文件位置信息除以单个文件块大小的商值不等于0。
步骤Sc,若不等于,则删除文件位置信息,同时获取文件位置信息除以单个文件块大小的商值与单个文件块大小相乘得到新的文件位置信息。
具体地,当文件位置信息除以单个文件块大小的商值不等于0时,按照上述公式计算在所在内存上新的的起始具体位置为:65539/65536*64,即1*64=64,最后将64K长度的文件块确定为新的文件位置信息,并将原有的文件位置信息进行删除。
本申请实施例的一种可能的实现方式,步骤S14(图中未示出)具体包括步骤S141(图中未示出)、步骤S142(图中未示出)、步骤S143(图中未示出)、步骤S144(图中未示出)以及步骤S145(图中未示出),其中,
步骤S141,当接收到预读文件块总量时,根据预读文件块总量与文件位置信息确定数据位图信息。
对于本申请实施例,位图(Bit Map)是一个数组的每一个数据的每一个二进制位表示一个数据,0表示数据不存在,1表示数据存在。
具体地,基于预读文件块总量与文件位置信息建立数据位图信息,例如:当内存中文件块充足时,文件块位图为“11111111111111111111111111111111”,其中每个“1”代表大小为64K的文件块。
步骤S142,基于数据位图信息获取当前内存信息中的存储数据位图信息。
具体地,根据数据位图信息识别获取的位图长度,对应查找内存信息中的存储数据位图信息,从而便于后期进行处理。
步骤S143,确定存储数据位图信息是否满足数据位图信息。
具体地,假设之前已经从磁盘上读取了部分文件块到内存中,那么内存中的存储数据位图信息为11000000001111111111000000000011,假设本次读取数据位图信息为00000000 000011111111000000000000,那么对两组位图信息进行判读,从而确定存储数据位图信息是否满足数据位图信息。
步骤S144,若满足,则基于数据位图信息获取存储数据位图信息中的指定文件块。
具体地,基于步骤143中假设的存储数据位图信息为11000000001111111111000000000011与读取数据位图信息为00000000000011111111000000000000进行比对,确定存储数据位图信息中包含读取数据位图信息,因此可直接读取内存中的所需的预读文件块信息。
步骤S145,若不满足,则对数据位图信息与存储数据位图信息进行异或操作获取位图比较信息,将位图比较信息与数据位图信息进行与操作获取存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与位图欠缺信息相对应的位图信息,并将位图信息插入到存储数据位图信息中得到新的存储数据位图信息,基于数据位图信息获取存储数据位图信息中的指定文件块。
具体地,假设存储数据位图信息为11000000001111110100000000000011,假设读取数据位图信息为00000000000011111111000000000000,在将读取数据位图信息与存储数据位图信息进行比对后,确定存储数据位图信息不满足数据位图信息,对读取数据位图信息与存储数据位图信息进行异或操作得到位图比较信息为11000000001100001011000000000011,再将位图比较信息与读取位图信息进行与操作得到位图欠缺信息为0000000000000000 1011000000000000,从磁盘中读取位图欠缺信息中为“1”文件块,并将文件块插入到存储数据位图信息,得到新的存储数据位图信息为11000000001111111111000000000011,最后读取新的存储数据位图信息,获取读取数据位图信息所需的指定文件块。
本申请实施例的一种可能的实现方式,S145(图中未示出)具体可以包括步骤Sd(图中未示出)、步骤Se(图中未示出)以及步骤Sf(图中未示出),其中,
步骤Sd,基于存储数据位图信息确定文件开始位置信息与文件结束位置信息。
具体地,根据存储数据位图确定当前内存中文件的数量,同时存储数据位图中最左侧的文件块为文件开始位置,存储数据位图中最右侧的文件块为文件结束位置,例如:11000000 001111110100000000000011中首个“1”即为文件开始位置,最后一个“1”为文件结束位置。
步骤Se,基于文件位置信息分别向文件开始位置信息方向与文件结束位置信息方向进行查找获取指定文件块。
具体地,假设文件位置信息为11000000001111110100000000000011中第十一文件块“1”,则基于文件位置信息分别向左、向右进行查找,获取指定文件块。
步骤Sf,当存储数据位图信息中的文件块满足限定要求时,停止对文件块查找。
具体地,存储数据位图信息中的文件块满足限定要求时停止查找文件块,假设文件位置信息为11000000001111110100000000000011第十三文件块“1”,再向文件开始位置信息方向查找时,若计算的第十二个文件块“1”的当前时间与上次访问文件块的时间差值大于预设的指定时间差值时,停止对十二个文件进行查找,再向文件结束位置信息方向查找时,若计算的第十七个文件“0”时,检测到存储数据位图信息中无内存信息,则停止进行查找。
对于本申请实施例中,限定要求包括以下至少一项:
文件位置信息查找到文件开始位置信息或文件结束位置信息;
存储数据位图信息中无内存信息;
访问文件块的当前时间与上次访问文件块的时间差值大于预设的指定时间差值。
本申请实施例的一种可能的实现方式,步骤Se(图中未示出)之后还包括步骤Se1(图中未示出)、步骤Se2(图中未示出)、步骤Se3(图中未示出)、步骤Se4(图中未示出) 以及步骤Se5(图中未示出),其中,
步骤Se1,对指定文件块进行统计,获取指定文件块的指定文件块数量与每个指定文件块对应的访问时间、访问次数。
具体地,将获取到的指定文件块总量进行统计,计算每个指定文件块对应的访问时间,从而获得指定文件块总量的访问时间,同时检测每个文件块的访问次数,为后续判断权重值进行计算。
步骤Se2,根据不同指定文件块的访问时间与访问次数,对每个指定文件块进行权重值计算得到文件块权重值。
具体地,获取当前文件块访问时间与上一次访问文件块时间的访问时间差值以及根据时间差调整权重的系数c,计算系统配置系数i,i=访问次数/(访问时间差值/c+1),系数c+1 是为了避免太小,要让这个结果大约等于1,然后计算当前文件块大小,设定指定文件块中最大的文件块大小为e,计算系统配置系数f,f=e-当前文件大小/(当前文件大小/e),即文件块访问时间过去越久,那么就消减访问次数。文件块大小越小,权重越大。文件块大小越大,权重越小,因为小文件的优先级更高,对系统的吐流效果更好。
步骤Se3,获取与指定文件块相对应的规则ID。
具体地,在控制层编写创建查询接口,获取用户请求信息中的规则ID参数,并对规则ID参数所对应的数值进行获取。
步骤Se4,基于规则ID查询,确定与规则ID绑定的信息中是否存在原始文件块权重值。
具体地,使用查询接口,获取与当前文件块绑定的规则ID,再基于规则ID进行查询,获取与规则ID相绑定的原始文件块权重值。
步骤Se5,若存在,则删除原始文件块权重值,并将文件与规则ID进行绑定。
具体地,定期遍历内存中的文件块位图,将存储位图数据信息内存中已经存在的原始文件权重值淘汰,使用foreach循环遍历的方式,使每个文件在块内存中获得对应规则ID的文件块权重值。
上述实施例从方法流程的角度介绍一种CDN服务器磁盘读取的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种CDN服务器磁盘读取的装置,具体详见下述实施例。
本申请实施例提供一种CDN服务器磁盘读取的装置,如图2所示,该检测伪基站的装置20具体可以包括:第一获取模块21、第一确定模块22、第二确定模块23、第三确定模块24以及返回模块25其中,
第一获取模块21,用于当检测到用户访问触发指令时,获取用户请求信息,用户请求信息包括用户信息以及与用户信息相对应的文件信息;
第一确定模块22,用于基于用户信息确定用户客户端信息,基于文件信息识别文件应用信息;
第二确定模块23,用于确定用户客户端信息与文件应用信息的关联行为信息;
第三确定模块24,用于根据关联行为信息确定文件信息中的预读文件块总量;
返回模块25,用于将预读文件块总量发送至内存管理模块中,内存管理模块基于预读文件块总量获取指定文件块,并将指定文件块返回至客户端。
本申请实施例的一种可能的实现方式,第三确定模块23在根据关联行为信息确定文件信息中的预读文件块总量时,具体用于:
获取文件信息中的文件位置信息与文件长度信息,文件长度信息是基于文件位置信息开始读取的长度;
根据用户请求信息获取规则ID;
基于规则ID进行查询,获取预读文件块数量;
根据文件长度信息确定所要读取的读取文件块数量;
将预读文件块数量与读取文件块数量相加得到预读文件块总量。
本申请实施例的一种可能的实现方式,装置20还包括:创建模块,其中,创建模块,用于根据关联行为信息创建识别规则,并基于识别规则设定用户请求信息的规则 ID。
本申请实施例的一种可能的实现方式,装置20还包括:第四确定模块以及第二获取模块,其中,
第四确定模块,用于确定文件位置信息除以单个文件块大小的商值是否等于零;
第二获取模块,用于当不等于时,则删除文件位置信息,同时获取文件位置信息除以单个文件块大小的商值与单个文件块大小相乘得到新的文件位置信息。
本申请实施例的一种可能的实现方式,返回模块25在将预读文件块总量发送至内存管理模块中,内存管理模块基于预读文件块总量获取指定文件块,具体用于:
当接收到预读文件块总量时,根据预读文件块总量与文件位置信息确定数据位图信息;
基于数据位图信息获取当前内存信息中的存储数据位图信息;
确定存储数据位图信息是否满足数据位图信息;
若满足,则基于数据位图信息获取存储数据位图信息中的指定文件块;
若不满足,则对数据位图信息与存储数据位图信息进行异或操作获取位图比较信息,将位图比较信息与数据位图信息进行与操作获取存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与位图欠缺信息相对应的位图信息,并将位图信息插入到存储数据位图信息中得到新的存储数据位图信息,基于数据位图信息获取存储数据位图信息中的指定文件块。
本申请实施例的一种可能的实现方式,装置20具体包括:第五确定模块、第一查找模块以及限定模块,其中,第五确定模块,用于基于存储数据位图信息确定文件开始位置信息与文件结束位置信息;第一查找模块,用于基于文件位置信息分别向文件开始位置信息方向与文件结束位置信息方向进行查找获取指定文件块;
限定模块,用于当存储数据位图信息中的文件块满足限定要求时,停止对文件块查找;
其中,限定模块中的限定要求包括以下至少一项:
文件位置信息查找到文件开始位置信息或文件结束位置信息;
存储数据位图信息中无内存信息;
访问文件块的当前时间与上次访问文件块的时间差值大于预设的指定时间差值。
本申请实施例的一种可能的实现方式,装置20还包括:统计模块、计算模块、第三获取模块、第六确定模块以及更新绑定模块,其中,
统计模块,用于对指定文件块进行统计,获取指定文件块的指定文件块数量与每个指定文件块对应的访问时间、访问次数;
计算模块,用于根据不同指定文件块的访问时间与访问次数,对每个指定文件块进行权重值计算得到文件块权重值;
第三获取模块,用于获取与指定文件块相对应的规则ID;
第六确定模块,用于基于规则ID查询,确定与规则ID绑定的信息中是否存在原始文件块权重值;
更新绑定模块,用于当存在时,则删除原始文件块权重值,并将文件与规则ID进行绑定。
具体地,第一获取模块21、第二获取模以及第三获取模块可以为相同的获取模块,也可以为不同的获取模块;第一确定模块22、第二确定模块23、第三确定模块24、第四确定模块、第五确定模块以及第六确定模块可以均为相同的模块,也可以均为不同的模块,也可以部分为相同的模块,也可以均为不同的模块,也可以部分为不同的模块在本申请实施例中不作限定。
本申请实施例提供了一种CDN服务器磁盘读取的装置,在本申请实施例中,在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
本申请实施例提供了一种检测伪基站的装置,适用于上述方法实施例,在此不再赘述。
本申请实施例中提供了一种电子设备,如图3所示,图3所示的电子设备1000包括:处理器1001和存储器1003。其中,处理器1001和存储器1003相连,如通过总线5002相连。可选地,电子设备1000还可以包括收发器1004。需要说明的是,实际应用中收发器1004不限于一个,该电子设备1000的结构并不构成对本申请实施例的限定。
处理器1001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP (Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1002可包括一通路,在上述组件之间传送信息。总线1002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1003用于存储执行本申请方案的应用程序代码,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请实施例中,在对用户读取指定文件块时,根据用户的用户请求信息获取用户信息与用户信息相对应的文件信息,分别对用户信息与文件信息进行扫描,确定当前用户的用户客户端信息与文件应用信息,例如:用户客户端信息为安卓,文件应用信息为优酷,从而确定当前用户正在使用安卓系统的手机请求优酷上的指定文件块,将用户客户端信息与文件应用信息相关联得到关联行为信息,并通过关联行为信息获取用户客户端所要读取的文件信息中的预读文件块总量,再将预读文件块总量发送至内存管理模块,内存管理模块接收到预读文件块总量信息后,对内存中存储的文件块进行读取,获取当前用户客户端信息所需的指定文件块,并将指定文件块返回至用户客户端,供用户进行读取。通过对用户客户端信息与文件应用信息进行判断,确定用户客户端信息对文件应用信息预读的指定文件块总量,进而精确计算用户客户端信息可能预读资源的数量,达到了提高磁盘读写能力的效果。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种CDN服务器磁盘读取的方法,其特征在于,包括:
在检测到用户访问触发指令时,获取用户请求信息,所述用户请求信息包括用户信息以及与所述用户信息相对应的文件信息;
基于所述用户信息确定用户客户端信息,基于所述文件信息识别文件应用信息;
确定所述用户客户端信息与所述文件应用信息的关联行为信息;
根据所述关联行为信息确定所述文件信息中的预读文件块总量;
将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,并将所述指定文件块返回至客户端。
2.根据权利要求1所述的一种提高CDN服务器磁盘读取能力的方法,其特征在于,所述根据所述关联行为信息确定所述文件信息中的预读文件块总量,包括:
获取文件信息中的文件位置信息与文件长度信息,所述文件长度信息是基于所述文件位置信息开始读取的长度;
根据所述用户请求信息获取规则ID;
基于所述规则ID进行查询,获取预读文件块数量;
根据所述文件长度信息确定所要读取的读取文件块数量;
将所述预读文件块数量与所述读取文件块数量相加得到所述预读文件块总量。
3.根据权利要求1-2所述任意一项的方法,其特征在于,所述根据所述用户请求信息获取规则ID,之前包括:
根据所述关联行为信息创建识别规则,并基于所述识别规则设定所述用户请求信息的规则ID。
4.根据权利要求3所述的方法,其特征在于,所述根据所述用户请求信息获取规则ID,之前还包括:
确定所述文件位置信息除以单个文件块大小的商值是否等于零;
若不等于,则删除所述文件位置信息,同时获取所述文件位置信息除以所述单个文件块大小的商值与所述单个文件块大小相乘得到新的文件位置信息。
5.根据权利要求1-4所述任意一项的方法,其特征在于,所述将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,包括:
当接收到所述预读文件块总量时,根据所述预读文件块总量与所述文件位置信息确定数据位图信息;
基于所述数据位图信息获取当前内存信息中的存储数据位图信息;
确定所述存储数据位图信息是否满足所述数据位图信息;
若满足,则基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块;
若不满足,则对所述数据位图信息与所述存储数据位图信息进行异或操作获取位图比较信息,将所述位图比较信息与所述数据位图信息进行与操作获取所述存储数据位图信息中缺失的位图欠缺信息,读取磁盘中与所述位图欠缺信息相对应的位图信息,并将所述位图信息插入到所述存储数据位图信息中得到新的存储数据位图信息,基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块。
6.根据权利要求5所述的方法,其特征在于,所述基于所述数据位图信息获取所述存储数据位图信息中的所述指定文件块,包括:
基于所述存储数据位图信息确定文件开始位置信息与文件结束位置信息;
基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件块;
当所述存储数据位图信息中的文件块满足限定要求时,停止对所述文件块查找;
其中,所述限定要求包括以下至少一项:
所述文件位置信息查找到所述文件开始位置信息或所述文件结束位置信息;
所述存储数据位图信息中无内存信息;
访问所述文件块的当前时间与上次访问所述文件块的时间差值大于预设的指定时间差值。
7.根据权利要求6所述的方法,其特征在于,所述基于所述文件位置信息分别向所述文件开始位置信息方向与所述文件结束位置信息方向进行查找获取指定文件块,之后还包括:
对所述指定文件块进行统计,获取所述指定文件块的指定文件块数量与每个所述指定文件块对应的访问时间、访问次数;
根据不同所述指定文件块的所述访问时间与所述访问次数,对每个所述指定文件块进行权重值计算得到文件块权重值;
获取与所述指定文件块相对应的规则ID;
基于所述规则ID查询,确定与所述规则ID绑定的信息中是否存在原始文件块权重值;
若存在,则删除原始文件块权重值,并将所述文件与所述规则ID进行绑定。
8.一种CDN服务器磁盘读取的装置,其特征在于,包括:
第一获取模块,用于当检测到用户访问触发指令时,获取用户请求信息,所述用户请求信息包括用户信息以及与所述用户信息相对应的文件信息;
第一确定模块,用于基于所述用户信息确定用户客户端信息,基于所述文件信息识别文件应用信息;
第二确定模块,用于确定所述用户客户端信息与所述文件应用信息的关联行为信息;
第三确定模块,用于根据所述关联行为信息确定所述文件信息中的预读文件块总量;
返回模块,用于将所述预读文件块总量发送至内存管理模块中,所述内存管理模块基于所述预读文件块总量获取指定文件块,并将所述指定文件块返回至客户端。
9.一种电子设备,其特征在于,其包括:
一个或者多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~7任一项所述的一种CDN服务器磁盘读取方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~7任一项所述的一种CDN服务器磁盘读取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111004677.9A CN113849125B (zh) | 2021-08-30 | 2021-08-30 | 一种cdn服务器磁盘读取的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111004677.9A CN113849125B (zh) | 2021-08-30 | 2021-08-30 | 一种cdn服务器磁盘读取的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849125A true CN113849125A (zh) | 2021-12-28 |
CN113849125B CN113849125B (zh) | 2024-01-09 |
Family
ID=78976504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111004677.9A Active CN113849125B (zh) | 2021-08-30 | 2021-08-30 | 一种cdn服务器磁盘读取的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849125B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495026A (zh) * | 2022-11-21 | 2022-12-20 | 杭州字节方舟科技有限公司 | 一种优化内存处理方法、装置、设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
CN103227826A (zh) * | 2013-04-23 | 2013-07-31 | 蓝汛网络科技(北京)有限公司 | 一种文件传输方法及装置 |
CN104581421A (zh) * | 2014-12-30 | 2015-04-29 | 新浪网技术(中国)有限公司 | 一种点对点流媒体下载方法及节点终端装置 |
CN105959358A (zh) * | 2016-04-25 | 2016-09-21 | 乐视控股(北京)有限公司 | Cdn服务器及其缓存数据的方法 |
CN107147732A (zh) * | 2017-06-02 | 2017-09-08 | 广州爱九游信息技术有限公司 | 图片处理方法、装置、客户端及服务端 |
CN110333947A (zh) * | 2019-05-23 | 2019-10-15 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏应用的分包资源加载方法、装置、设备及介质 |
CN110737388A (zh) * | 2018-07-18 | 2020-01-31 | 中兴通讯股份有限公司 | 数据预读方法、客户端、服务器以及文件系统 |
CN110895515A (zh) * | 2018-09-12 | 2020-03-20 | 中兴通讯股份有限公司 | 内存缓存管理方法、多媒体服务器及计算机存储介质 |
CN111787062A (zh) * | 2020-05-28 | 2020-10-16 | 北京航空航天大学 | 面向广域网络文件系统的自适应快速增量预读方法 |
CN111988403A (zh) * | 2020-08-20 | 2020-11-24 | 深圳市网心科技有限公司 | 电子设备的请求处理方法、系统、存储介质和电子设备 |
CN112398802A (zh) * | 2019-08-16 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 数据下载方法及相关设备 |
CN112764772A (zh) * | 2019-11-06 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 更新文件的预下载方法、加载方法、装置、设备及介质 |
CN112995753A (zh) * | 2019-12-16 | 2021-06-18 | 中兴通讯股份有限公司 | 一种媒体流分发方法、cdn节点服务器、cdn系统和可读存储介质 |
-
2021
- 2021-08-30 CN CN202111004677.9A patent/CN113849125B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
CN103227826A (zh) * | 2013-04-23 | 2013-07-31 | 蓝汛网络科技(北京)有限公司 | 一种文件传输方法及装置 |
CN104581421A (zh) * | 2014-12-30 | 2015-04-29 | 新浪网技术(中国)有限公司 | 一种点对点流媒体下载方法及节点终端装置 |
CN105959358A (zh) * | 2016-04-25 | 2016-09-21 | 乐视控股(北京)有限公司 | Cdn服务器及其缓存数据的方法 |
CN107147732A (zh) * | 2017-06-02 | 2017-09-08 | 广州爱九游信息技术有限公司 | 图片处理方法、装置、客户端及服务端 |
CN110737388A (zh) * | 2018-07-18 | 2020-01-31 | 中兴通讯股份有限公司 | 数据预读方法、客户端、服务器以及文件系统 |
CN110895515A (zh) * | 2018-09-12 | 2020-03-20 | 中兴通讯股份有限公司 | 内存缓存管理方法、多媒体服务器及计算机存储介质 |
CN110333947A (zh) * | 2019-05-23 | 2019-10-15 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏应用的分包资源加载方法、装置、设备及介质 |
CN112398802A (zh) * | 2019-08-16 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 数据下载方法及相关设备 |
CN112764772A (zh) * | 2019-11-06 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 更新文件的预下载方法、加载方法、装置、设备及介质 |
CN112995753A (zh) * | 2019-12-16 | 2021-06-18 | 中兴通讯股份有限公司 | 一种媒体流分发方法、cdn节点服务器、cdn系统和可读存储介质 |
CN111787062A (zh) * | 2020-05-28 | 2020-10-16 | 北京航空航天大学 | 面向广域网络文件系统的自适应快速增量预读方法 |
CN111988403A (zh) * | 2020-08-20 | 2020-11-24 | 深圳市网心科技有限公司 | 电子设备的请求处理方法、系统、存储介质和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115495026A (zh) * | 2022-11-21 | 2022-12-20 | 杭州字节方舟科技有限公司 | 一种优化内存处理方法、装置、设备及存储介质 |
CN115495026B (zh) * | 2022-11-21 | 2023-03-10 | 杭州字节方舟科技有限公司 | 一种优化内存处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113849125B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948314B (zh) | 基于规则文件的业务处理方法、装置及服务器 | |
JP6626211B2 (ja) | ショートリンクを処理する方法及び装置並びにショートリンクサーバ | |
CN106933854B (zh) | 短链接处理方法、装置及服务器 | |
CN111984356B (zh) | 页面跳转方法、装置、计算机设备和存储介质 | |
RU2613531C2 (ru) | Способ совместного доступа к файлам, терминал и сервер ретрансляции | |
CN111163072B (zh) | 机器学习模型中特征值的确定方法、装置及电子设备 | |
CN110888838B (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN107239701B (zh) | 识别恶意网站的方法及装置 | |
CN106534268B (zh) | 一种数据共享方法及装置 | |
WO2016000507A1 (zh) | 省流量模式搜索服务的方法、服务器、客户端和系统 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN106657182B (zh) | 云端文件处理方法和装置 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN110515631B (zh) | 应用安装数据包的生成方法、服务器及计算机存储介质 | |
CN110674427B (zh) | 响应网页访问请求的方法、装置、设备及存储介质 | |
CN110943876B (zh) | Url状态检测方法、装置、设备和系统 | |
CN113849125B (zh) | 一种cdn服务器磁盘读取的方法、装置及系统 | |
CN109388651B (zh) | 一种数据处理方法和装置 | |
CN105187514A (zh) | 云端应用程序的管理方法及其系统 | |
CN112286706A (zh) | 安卓应用的应用信息远程快速获取方法及相关设备 | |
CN112491939B (zh) | 多媒体资源调度方法及系统 | |
CN115495026B (zh) | 一种优化内存处理方法、装置、设备及存储介质 | |
CN108846141B (zh) | 一种离线缓存加载方法及装置 | |
CN110474954B (zh) | 基于区块链的文件分享方法、装置、计算机设备及可读存储介质 | |
US10089369B2 (en) | Searching method, searching apparatus and device |
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 |