CN109582246A - 基于矿机的数据访问方法、装置、系统及可读存储介质 - Google Patents
基于矿机的数据访问方法、装置、系统及可读存储介质 Download PDFInfo
- Publication number
- CN109582246A CN109582246A CN201811488094.6A CN201811488094A CN109582246A CN 109582246 A CN109582246 A CN 109582246A CN 201811488094 A CN201811488094 A CN 201811488094A CN 109582246 A CN109582246 A CN 109582246A
- Authority
- CN
- China
- Prior art keywords
- data
- solid
- state disk
- pointer
- chained list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 title claims abstract description 43
- 239000000872 buffer Substances 0.000 claims description 48
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000000151 deposition Methods 0.000 claims 2
- 230000001133 acceleration Effects 0.000 abstract description 5
- 239000007787 solid Substances 0.000 abstract description 5
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 238000005065 mining Methods 0.000 abstract 4
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000009825 accumulation Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 206010037660 Pyrexia Diseases 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001280173 Crassula muscosa Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/068—Hybrid storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于矿机的数据访问方法,包括:接收业务系统发送的数据访问请求;判断固态盘中是否存储有与数据访问请求对应的目标数据,其中,所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;若是,则将固态盘中存储的目标数据发送至业务系统;若否,则将机械盘中存储的目标数据发送至所述业务系统。可见,本方案的这种将固态盘与机械盘相结合来实现矿机的数据访问方式,将IO性能高的固态盘用来存储访问频率高的数据,将容量大的机械盘存储所有写入的数据,通过两者优点的结合,提高了矿机的缓存加速性能。本发明还公开了一种基于矿机的数据访问装置、系统及计算机可读存储介质,同样能实现上述技术效果。
Description
技术领域
本发明涉及缓存加速领域,尤其涉及一种基于矿机的数据缓存方法、装置、系统及计算机可读存储介质。
背景技术
矿机是部署在个人用户家庭内的小型计算机设备,通过家庭网关连接到互联网,为云服务提供计算、存储和带宽资源。现在基于小矿机的缓存加速方案是使用矿机上挂载的机械盘(HDD)或者固态盘(SSD)作为缓存,预先将文件下载到矿机的磁盘中进行缓存,等用户请求资源时,根据用户请求找到数据存放目录,读取文件响应给用户。
目前的缓存加速方案存在诸多问题,例如:高性能的固态盘得不到充分利用,造成资源的浪费;机械盘IO输出不足,达不到预期的输出IO;机械盘在热点过于集中的情况,会有IO输出瓶颈,发热,磁盘使用寿命下降的情况;进而,请求数据在机械盘,由于机械盘IO性能不高,导致用户响应时间增大,影响用户体验。而如果全部使用固态盘,增加用户支出成本。
因此,如何提高矿机的缓存加速性能是本领域技术人员需要解决的问题。
发明内容
本发明的主要目的在于提供一种基于矿机的数据缓存方法、装置、系统及计算机可读存储介质,旨在解决如何提高矿机的缓存加速性能的技术问题。
为实现上述目的,本发明提供的一种基于矿机的数据访问方法,所述方法包括:
接收业务系统发送的数据访问请求;
判断固态盘中是否存储有与所述数据访问请求对应的目标数据;其中,所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;
若是,则将所述固态盘中存储的目标数据发送至所述业务系统;若否,则将所述机械盘中存储的目标数据发送至所述业务系统。
优选地,所述接收业务系统发送的数据访问请求之前,还包括:
检测机械盘中是否存在访问次数超过第一预定阈值的数据;
若存在,则将访问次数超过第一预定阈值的数据拷贝至所述固态盘,并将所述第一数据对应的指针加入所述固态盘的缓存链表。
优选地,所述将所述第一数据对应的指针加入所述固态盘的缓存链表之前,还包括:
检测所述缓存链表中的指针数量是否超过第二预定阈值;
若否,则继续执行所述将所述第一数据对应的指针加入所述固态盘的缓存链表的步骤;若是,则判断所述缓存链表中是否存在预定时长内命中次数小于第三预定阈值的指针;
若存在,则将预定时长内命中次数小于第三预定阈值的指针作为待移动指针;若不存在,则通过LRU策略从所述缓存链表中确定待移动指针;
将待移动指针移动至历史缓存链表。
优选地,所述将待移动指针移动至历史缓存链表之前,还包括:
判断所述历史缓存链表中的指针数量是否超过第四预定阈值;
若否,则继续执行所述将待移动指针移动至历史缓存链表的步骤;若是,则通过LRU策略从所述历史缓存链表中确定待删除指针;
将所述待删除指针以及与所述待删除指针对应的数据均删除。
优选地,所述判断固态盘中是否存储有与所述数据访问请求对应的目标数据,包括:
利用缓存链表判断所述固态盘中是否存储所述目标数据;
若是,则继续执行所述将所述固态盘中存储的目标数据发送至所述业务系统的步骤;若否,则利用历史缓存链表判断所述固态盘中是否存储所述目标数据;
若是,则继续执行所述将所述固态盘中存储的目标数据发送至所述业务系统的步骤;若否,则继续执行所述将所述机械盘中存储的目标数据发送至所述业务系统的步骤。
优选地,若利用所述历史缓存链表判定所述固态盘存储所述目标数据,则所述方法还包括:
将所述历史缓存链表中的与所述目标数据对应的指针,移动至所述缓存链表。
为实现上述目的,本发明进一步提供一种基于矿机的数据访问装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据访问程序,所述数据访问程序被所述处理器执行时实现上述任意数据访问方法。
优选地,所述装置为组成CDN网络或者区块链网络的节点。
为实现上述目的,本发明进一步提供一种基于矿机的数据访问系统,所述系统包括:
请求接收单元,用于接收业务系统发送的数据访问请求;
判断单元,用于判断固态盘中是否存储有与所述数据访问请求对应的目标数据;所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;
第一数据发送单元,用于在固态盘中存储有与所述数据访问请求对应的目标数据时,将所述固态盘中存储的目标数据发送至所述业务系统;
第二数据发送单元,用于在固态盘中没有存储与所述数据访问请求对应的目标数据时,将所述机械盘中存储的目标数据发送至所述业务系统。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据访问程序,所述数据访问程序可被一个或者多个处理器执行,以实现上述任意数据访问方法。
通过以上方案可知,本发明实施例提供的一种基于矿机的数据访问方法,所述方法包括:接收业务系统发送的数据访问请求;判断固态盘中是否存储有与所述数据访问请求对应的目标数据;其中,所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;若是,则将所述固态盘中存储的目标数据发送至所述业务系统;若否,则将所述机械盘中存储的目标数据发送至所述业务系统;
可见,在本方案中,由于固态盘的IO性能较高,因此仅仅将其存储访问频率较高的数据,这样在接收到业务系统发送的数据访问请求时,优先从固态盘中获取目标数据,如果固态盘中没有该目标数据,则从机械盘中获取。也就是说,本方案的这种将固态盘与机械盘相结合来实现矿机的数据访问方式,将IO性能高的固态盘用来存储访问频率高的数据,将容量大的机械盘存储所有写入的数据,通过两者优点的结合,提高了矿机的缓存加速性能。
本发明还公开了一种基于矿机的数据缓存装置、系统及计算机可读存储介质,同样能实现上述技术效果。
附图说明
图1为本发明一实施例的流程示意图;
图2为本发明一实施例的整体方案逻辑流程图;
图3为本发明另一实施例的流程示意图;
图4为本发明一实施例揭露的缓存链表的管理方法流程示意图;
图5为本发明一实施例揭露的LRU链表更新示意原理图;
图6为本发明一实施例揭露的基于矿机的数据访问系统结构示意图;
图7为本发明一实施例揭露的基于矿机的数据访问装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明实施例公开一种基于矿机的数据访问方法。
参照图1,图1为本发明一实施例的流程示意图,在本实施例中,该方法包括:
S101、接收业务系统发送的数据访问请求;
具体的,应用本实施例所述的数据访问方法的矿机,必须至少有一块机械盘(HDD)和一块固态盘(SSD),机械盘作为存储层用来存储所有写入的数据,固态盘作为缓存层来提供高性能的IO输出介质。因此,从整体逻辑上来说,该数据方法主要分为业务层、缓存层和存储层,参见图2,为本发明一实施例的整体方案逻辑流程图;从图2可以看出,业务层主要提供给不同需求的用户,每个用户提供有自己不同的业务需求,该就是说,用户通过不同的业务系统实现数据的存储和读取;缓存层,主要负责在业务层读取数据时,根据用户的数据读取的频次等信息维护固态盘中的数据,从而提供高性能的缓存功能;在业务层将数据写入到存储层时,存储层负责将数据安全、准确到写入到机械盘中存储,完成数据存储功能,机械盘有着比固态盘更大的容量,固态盘容量相对较少。
需要说明的是,本实施例提供的数据访问方法为基于缓存层的角度进行描述的。本实施例中的数据访问请求具体可以理解为数据获取请求,如果用户通过业务系统发送的请求为数据写入请求,则直接将请求发送至存储层,通过存储层直接将数据存储至机械盘,由机械盘实现对数据的存储。
S102、判断固态盘中是否存储有与所述数据访问请求对应的目标数据;其中,所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;若是,则执行S103;若否,则执行S104;
S103、将所述固态盘中存储的目标数据发送至所述业务系统;
S104、将所述机械盘中存储的目标数据发送至所述业务系统。
由于本方案所有的数据均写入机械盘,但是机械盘的IO性能不高,可能会出现用户响应时间大的问题,因此在本方案中,将机械盘中访问次数超过第一预定阈值的数据同时存储在固态盘,也就是说,对于访问频率较高的数据不仅存储在机械盘中,还存储在固态盘中,这样用户访问数据时,可以首先从固态盘中查找,如果查找到,则直接返回固态盘中的数据,如果查找不到,则从机械盘中查找,并返回查找结果,如果在固态盘和机械盘中均未查找到数据,则返回查找失败的提示信息。
需要说明的是,为了从固态盘中查找数据,固态盘中会存储缓存索引信息,通过该缓存索引信息从固态盘中检索数据。在初始情况下,固态盘中是不存在缓存信息的,该缓存信息包括缓存索引信息和对应的数据;因此,缓存信息在程序冷启动过程中会根据用户的请求行为逐渐建立,为了保证缓存信息的安全性,可在有必要的情况下将这些缓存信息定期Flush到机械盘中进行持久化操作,程序启动时重新加载这些缓存信息,索引信息结构定义如下:
需要说明的是,由于固态盘中存储的数据是机械盘中访问次数超过第一预定阈值的数据,因此,在初始过程中,固态盘是处于不存在缓存数据或者存在较少的缓存数据的状态,如果还是首先从固态盘中获取数据,则会出固态盘访问命中率较低的问题,为了避免上述问题,可在执行S102之前,先确定固态盘中的数据是否超过预定阈值,如果是,则先从固态盘中读取数据,否则,直接从机械盘中读取数据,直到固态盘中缓存的数据超过预定阈值后,在优先从固态盘中获取数据。
综上可以看出,本实施例中的矿机在进行缓存加速时,将机械盘和固态盘混用,机械盘大容量,负责存储数据,固态盘IO性能高,负责进行数据缓存,从而提高矿机的整体IO性能;在实际的使用过程,热点数据大概在20%左右,这样固态盘可以完全覆盖热点数据的存储;而对于业务层来说,业务层并不感知数据来源于存储层还是缓存层,通过这种方式,将固态盘的高IO 性能发挥到极致,可以解决机械盘在高热点情况下的发热、磁盘寿命缩短、IO 输出不高等棘手的难题,同时还可以给用户提供更好的播放、下载体验。
进一步,本发明实施例公开了另一种基于矿机的数据访问方法。
参照图3,图3为本发明另一实施例的流程示意图,在本实施例中,该方法包括:
S201、接收业务系统发送的数据访问请求;
S202、利用缓存链表判断所述固态盘中是否存储所述目标数据;其中,所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;若是,则执行S204;若否,则执行S203;
S203、利用历史缓存链表判断所述固态盘中是否存储所述目标数据;
若是,则执行S204;若否,则执行S205;
S204、将所述固态盘中存储的目标数据发送至所述业务系统;
S205、将所述机械盘中存储的目标数据发送至所述业务系统。
具体的,在本实施例中,缓存索引信息可以包括缓存链表cacheing和历史缓存链表cache_history,在每个链表中均包括与数据对应的指针key,该指针用来指向固态盘中存储的数据。正常情况下,机械盘中访问次数超过第一预定阈值的数据会首先加入到缓存列表中,如果缓存列表中的指针数量达到上限,这时就需要根据预定的链表移动规则,将缓存链表中对应的指针移动至历史缓存链表,如果历史缓存链表中的指针数量也达到了上限,这时需要根据预定的链表删除规则,从历史缓存列表中删除对应的指针以及对应的数据。
因此在本方案中,接收到业务系统发送的数据访问请求后,首先需要从缓存链表中查找与该请求对应的目标数据是否存储在固态盘;如果存储在固态盘,则将固态盘中的目标数据发送至业务系统;如果缓存链表中未查找到目标数据,则继续从历史缓存链表中查找目标数据,如果查找到,则将固态盘中的目标数据发送至业务系统;如果没有查找到,则只能从机械盘中查找该目标数据,如果在机械盘中也没有查找到,说明在矿机中未存储该数据,则向业务系统反馈查找失败的提示信息。
综上可以看出,在本方案中,通过缓存链表和历史缓存链表,可以根据链表中的指针快速的查找对应的目标数据,并且对于缓存链表中淘汰的指针,并不直接删除,而是将指针加入历史缓存链表,这样在查找目标数据时,如果从命中率高的缓存链表中未查找到该数据,则继续从历史缓存链表中超找,从而提高了数据的命中率,实现了矿机的缓存加速性能。
进一步,在上述任意方法实施例的基础上,本实施例公开了一种缓存链表的管理方法。
需要说明的是,本实施例所述的缓存链表管理方法,可以不限定与上述任意实施例中所述的数据访问方法的步骤之间的执行顺序,但是为了提高数据访问命中率,在本实施例中可以设定在执行接收业务系统发送的数据访问请求的步骤之前执行,数据访问方法的详细过程可参照上述任意实施例,在本实施例中便不具体赘述。
参照图4,图4为本发明一实施例揭露的缓存链表的管理方法流程示意图,在本实施例中,该方法包括:
S301、检测机械盘中是否存在访问次数超过第一预定阈值的数据;
若是,则执行S302;若否,则继续执行S301;
S302、检测所述缓存链表中的指针数量是否超过第二预定阈值;
若否,则执行S309;若是,则执行S303;
S303、判断所述缓存链表中是否存在预定时长内命中次数小于第三预定阈值的指针;若是,则执行S304;若否,则执行S305;
S304、将预定时长内命中次数小于第三预定阈值的指针作为待移动指针,并执行S306;
S305、通过LRU(最近很少使用,least recently used)策略从所述缓存链表中确定待移动指针,并执行S306;
S306、判断所述历史缓存链表中的指针数量是否超过第四预定阈值;
若是,则执行S307;若否,则执行S308;
S307、通过LRU策略从所述历史缓存链表中确定待删除指针,将所述待删除指针以及与所述待删除指针对应的数据均删除;
S308、将待移动指针移动至历史缓存链表,并执行S309;
S309、将访问次数超过第一预定阈值的数据拷贝至所述固态盘,并将所述第一数据对应的指针加入所述固态盘的缓存链表。
具体的,在程序启动时,缓存列表cacheing和历史缓存列表cache_history 这两个链表链都为空,用户的请求到来时,如果能从存储层的机械盘中读取到数据,且命中的次数超过第一预定阈值,则将这个数据拷贝至固态盘中,并将与该数据对应的指针加入到缓存链表cacheing中。
需要说明的是,缓存链表具有指针数量的上限值,该上限值即为第二预定阈值,如果将新指针加入到缓存链表之前,检测到缓存链表中的指针数量达到第二预定阈值,这时需要根据链表移动规则从缓存链表中移动部分链表,该链表移动规则可以包括以下两种:将预定时长内命中次数小于第三预定阈值的指针作为待移动指针,并移动至历史缓存链表;如果链表中的指针的命中次数均不小于第三预定阈值,这时可以通过LRU策略从缓存链表中确定待移动指针。随着请求次数的不断增大,历史缓存链表中的指针数量也会达到上限值,这时再添加新的指针数据时,需要根据链表删除规则删除对应的指针,该链表删除规则为LRU策略,也就是说根据LRU策略从历史缓存链表中确定待删除指针,并将待删除指针以及与待删除指针对应的数据均删除。
参见图5,为本发明一实施例揭露的LRU链表更新示意原理图;通过该图可以看出,新指针数据需要插入到链表的头部位置,当指针key命中的时候,将指针数据移动到链表的头部位置;如果整个链达到数据上限,且添加新的指针数据时,需要将链表尾部的数据直接淘汰;对于缓存链表,将淘汰的指针数据移动至历史缓存链表中,对于历史缓存链表,则直接将淘汰的指针数据删除。
其中,若利用所述历史缓存链表判定所述固态盘存储所述目标数据,则所述方法还包括:将所述历史缓存链表中的与所述目标数据对应的指针,移动至所述缓存链表。
也就是说,由于历史缓存链表cache_history存放的是曾经命中过或者被淘汰的数据,但是如果位于历史缓存链表中的数据在某一次请求正好命中,那么需要将命中的这个指针key重新加入到缓存链表cacheing链中,同样的,缓存链表cacheing则需要根据上述链表移动规则淘汰一个key到历史缓存链表cache_history中。
综上可以看出,本方案利用上述缓存链表的管理方法可以保持缓存链表cacheing链和历史缓存链表cache_history处于写入和淘汰的均衡的状态,同时保持机械盘的热点数据逐步拷贝到固态盘中进行缓存加速,同时也会将 cache_history淘汰的数据从固态盘的缓存中删除,通过这种方式,可以提高业务系统在固态盘中命中数据的概率,提高矿机的缓存加速性能。
进一步的,本实施例还公开了一种基于矿机的数据访问系统。
参见图6,为本发明一实施例揭露的基于矿机的数据访问系统结构示意图,该系统包括:
请求接收单元100,用于接收业务系统发送的数据访问请求;
判断单元200,用于判断固态盘中是否存储有与所述数据访问请求对应的目标数据;所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;
第一数据发送单元300,用于在固态盘中存储有与所述数据访问请求对应的目标数据时,将所述固态盘中存储的目标数据发送至所述业务系统;
第二数据发送单元400,用于在固态盘中没有存储与所述数据访问请求对应的目标数据时,将所述机械盘中存储的目标数据发送至所述业务系统。
其中,本方案还包括:
第一检测单元,用于检测机械盘中是否存在访问次数超过第一预定阈值的数据;
数据拷贝单元,用于在机械盘中存在访问次数超过第一预定阈值的数据时,将访问次数超过第一预定阈值的数据拷贝至所述固态盘;
指针加入单元,用于将第一数据对应的指针加入所述固态盘的缓存链表。
其中,本方案还包括:
第二检测单元,用于检测缓存链表中的指针数量是否超过第二预定阈值;若否,则触发所述指针加入单元;若是,则触发命中次数判断单元;
命中次数判断单元,用于判断所述缓存链表中是否存在预定时长内命中次数小于第三预定阈值的指针;若存在,则触发第一待移动指针确定单元;若不存在,则触发第二待移动指针确定单元;
第一待移动指针确定单元,用于将预定时长内命中次数小于第三预定阈值的指针作为待移动指针;
第二待移动指针确定单元,用于通过LRU策略从所述缓存链表中确定待移动指针;
第一指针移动单元,用于将待移动指针移动至历史缓存链表。
其中,本方案还包括:
指针数量判断单元,用于判断所述历史缓存链表中的指针数量是否超过第四预定阈值;若否,则触发所述指针移动单元;若是,则触发待删除指针确定单元;
待删除指针确定单元,用于通过LRU策略从所述历史缓存链表中确定待删除指针;
指针删除单元,用于将所述待删除指针以及与所述待删除指针对应的数据均删除。
其中,判断单元包括:
第一判断子单元,用于利用缓存链表判断所述固态盘中是否存储所述目标数据;若是,则触发第一数据发送单元;若否,则触发第二判断子单元;
第二判断子单元,用于利用历史缓存链表判断所述固态盘中是否存储所述目标数据;若是,则触发第一数据发送单元;若否,则触发第二数据发送单元。
其中,本方案还包括:
第二指针移动单元,用于在利用所述历史缓存链表判定所述固态盘存储所述目标数据时,将所述历史缓存链表中的与所述目标数据对应的指针,移动至所述缓存链表。
进一步的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据访问程序,所述数据访问程序可被一个或者多个处理器执行,以实现上述任意方法实施例中所述的数据访问方法。
进一步的,本实施例还公开了一种基于矿机的数据访问装置1。
参照图7为本发明一实施例揭露的基于矿机的数据访问装置结构示意图,所述装置包括存储器11和处理器12,所述存储器11上存储有可在所述处理器上运行的数据访问程序01,所述数据访问程序01被所述处理器执行时实现上述任意方法实施例所实现的数据访问方法。
在本实施例中,数据访问装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。
该装置1可以是组成CDN网络或者区块链网络的节点。
该数据访问装置1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是数据访问装置1 的内部存储单元,例如该数据访问装置1的硬盘。存储器11在另一些实施例中也可以是数据访问装置1的外部存储设备,例如数据访问装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括数据访问装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于数据访问装置1的应用软件及各类数据,例如数据访问程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器 11中存储的程序代码或处理数据,例如执行数据访问程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,数据访问装置还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器 (Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数据访问装置1中处理的信息以及用于显示可视化的用户界面。
图7仅示出了具有组件11-14以及数据访问程序01的数据访问装置1,本领域技术人员可以理解的是,图7示出的结构并不构成对数据访问装置1 的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
进一步的,本发明实施例还提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任意方法实施例中所述的数据访问方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质, (例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于矿机的数据访问方法,其特征在于,所述方法包括:
接收业务系统发送的数据访问请求;
判断固态盘中是否存储有与所述数据访问请求对应的目标数据;其中,所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;
若是,则将所述固态盘中存储的目标数据发送至所述业务系统;若否,则将所述机械盘中存储的目标数据发送至所述业务系统。
2.根据权利要求1所述的数据访问方法,其特征在于,所述接收业务系统发送的数据访问请求之前,还包括:
检测机械盘中是否存在访问次数超过第一预定阈值的数据;
若存在,则将访问次数超过第一预定阈值的数据拷贝至所述固态盘,并将所述第一数据对应的指针加入所述固态盘的缓存链表。
3.根据权利要求2所述的数据访问方法,其特征在于,所述将所述第一数据对应的指针加入所述固态盘的缓存链表之前,还包括:
检测所述缓存链表中的指针数量是否超过第二预定阈值;
若否,则继续执行所述将所述第一数据对应的指针加入所述固态盘的缓存链表的步骤;若是,则判断所述缓存链表中是否存在预定时长内命中次数小于第三预定阈值的指针;
若存在,则将预定时长内命中次数小于第三预定阈值的指针作为待移动指针;若不存在,则通过LRU策略从所述缓存链表中确定待移动指针;
将待移动指针移动至历史缓存链表。
4.根据权利要求3所述的数据访问方法,其特征在于,所述将待移动指针移动至历史缓存链表之前,还包括:
判断所述历史缓存链表中的指针数量是否超过第四预定阈值;
若否,则继续执行所述将待移动指针移动至历史缓存链表的步骤;若是,则通过LRU策略从所述历史缓存链表中确定待删除指针;
将所述待删除指针以及与所述待删除指针对应的数据均删除。
5.根据权利要求1至4中任意一项所述的数据访问方法,其特征在于,所述判断固态盘中是否存储有与所述数据访问请求对应的目标数据,包括:
利用缓存链表判断所述固态盘中是否存储所述目标数据;
若是,则继续执行所述将所述固态盘中存储的目标数据发送至所述业务系统的步骤;若否,则利用历史缓存链表判断所述固态盘中是否存储所述目标数据;
若是,则继续执行所述将所述固态盘中存储的目标数据发送至所述业务系统的步骤;若否,则继续执行所述将所述机械盘中存储的目标数据发送至所述业务系统的步骤。
6.根据权利要求5所述的数据访问方法,其特征在于,若利用所述历史缓存链表判定所述固态盘存储所述目标数据,则所述方法还包括:
将所述历史缓存链表中的与所述目标数据对应的指针,移动至所述缓存链表。
7.一种基于矿机的数据访问装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据访问程序,所述数据访问程序被所述处理器执行时实现如权利要求1-6任一项所述的方法。
8.根据权利要求7所述的装置,其特征在于,所述装置为组成CDN网络或者区块链网络的节点。
9.一种基于矿机的数据访问系统,其特征在于,所述系统包括:
请求接收单元,用于接收业务系统发送的数据访问请求;
判断单元,用于判断固态盘中是否存储有与所述数据访问请求对应的目标数据;所述固态盘中存储了机械盘中访问次数超过第一预定阈值的数据;
第一数据发送单元,用于在固态盘中存储有与所述数据访问请求对应的目标数据时,将所述固态盘中存储的目标数据发送至所述业务系统;
第二数据发送单元,用于在固态盘中没有存储与所述数据访问请求对应的目标数据时,将所述机械盘中存储的目标数据发送至所述业务系统。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据访问程序,所述数据访问程序可被一个或者多个处理器执行,以实现如权利要求1至6中任一项所述的数据访问方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811488094.6A CN109582246A (zh) | 2018-12-06 | 2018-12-06 | 基于矿机的数据访问方法、装置、系统及可读存储介质 |
PCT/CN2019/092004 WO2020113941A1 (zh) | 2018-12-06 | 2019-06-20 | 基于矿机的数据访问方法、装置、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811488094.6A CN109582246A (zh) | 2018-12-06 | 2018-12-06 | 基于矿机的数据访问方法、装置、系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109582246A true CN109582246A (zh) | 2019-04-05 |
Family
ID=65926482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811488094.6A Pending CN109582246A (zh) | 2018-12-06 | 2018-12-06 | 基于矿机的数据访问方法、装置、系统及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109582246A (zh) |
WO (1) | WO2020113941A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110392094A (zh) * | 2019-06-03 | 2019-10-29 | 网宿科技股份有限公司 | 一种获取业务数据的方法及融合cdn系统 |
WO2020113941A1 (zh) * | 2018-12-06 | 2020-06-11 | 深圳市网心科技有限公司 | 基于矿机的数据访问方法、装置、系统及可读存储介质 |
CN111309482A (zh) * | 2020-02-20 | 2020-06-19 | 浙江亿邦通信科技有限公司 | 矿机控制器任务分配系统、装置及其可存储介质 |
CN113220233A (zh) * | 2021-05-14 | 2021-08-06 | 北京百度网讯科技有限公司 | 数据读取方法、装置及系统 |
CN113590045A (zh) * | 2021-08-03 | 2021-11-02 | 中国联合网络通信集团有限公司 | 数据分层式存储方法、装置及存储介质 |
CN114143234A (zh) * | 2021-11-30 | 2022-03-04 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种数据处理方法及系统 |
CN116560585A (zh) * | 2023-07-05 | 2023-08-08 | 支付宝(杭州)信息技术有限公司 | 一种数据分级存储方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662459A (zh) * | 2012-04-22 | 2012-09-12 | 复旦大学 | 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法 |
CN102768645A (zh) * | 2012-06-14 | 2012-11-07 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的固态硬盘预取方法和固态硬盘ssd |
CN105573669A (zh) * | 2015-12-11 | 2016-05-11 | 上海爱数信息技术股份有限公司 | 一种存储系统的io读加速缓存方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582246A (zh) * | 2018-12-06 | 2019-04-05 | 深圳市网心科技有限公司 | 基于矿机的数据访问方法、装置、系统及可读存储介质 |
-
2018
- 2018-12-06 CN CN201811488094.6A patent/CN109582246A/zh active Pending
-
2019
- 2019-06-20 WO PCT/CN2019/092004 patent/WO2020113941A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662459A (zh) * | 2012-04-22 | 2012-09-12 | 复旦大学 | 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法 |
CN102768645A (zh) * | 2012-06-14 | 2012-11-07 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的固态硬盘预取方法和固态硬盘ssd |
CN105573669A (zh) * | 2015-12-11 | 2016-05-11 | 上海爱数信息技术股份有限公司 | 一种存储系统的io读加速缓存方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020113941A1 (zh) * | 2018-12-06 | 2020-06-11 | 深圳市网心科技有限公司 | 基于矿机的数据访问方法、装置、系统及可读存储介质 |
CN110392094A (zh) * | 2019-06-03 | 2019-10-29 | 网宿科技股份有限公司 | 一种获取业务数据的方法及融合cdn系统 |
CN110392094B (zh) * | 2019-06-03 | 2021-03-19 | 网宿科技股份有限公司 | 一种获取业务数据的方法及融合cdn系统 |
CN111309482A (zh) * | 2020-02-20 | 2020-06-19 | 浙江亿邦通信科技有限公司 | 矿机控制器任务分配系统、装置及其可存储介质 |
CN111309482B (zh) * | 2020-02-20 | 2023-08-15 | 浙江亿邦通信科技有限公司 | 基于哈希算法的区块链任务分配系统、装置及可存储介质 |
CN113220233A (zh) * | 2021-05-14 | 2021-08-06 | 北京百度网讯科技有限公司 | 数据读取方法、装置及系统 |
CN113590045A (zh) * | 2021-08-03 | 2021-11-02 | 中国联合网络通信集团有限公司 | 数据分层式存储方法、装置及存储介质 |
CN113590045B (zh) * | 2021-08-03 | 2023-05-16 | 中国联合网络通信集团有限公司 | 数据分层式存储方法、装置及存储介质 |
CN114143234A (zh) * | 2021-11-30 | 2022-03-04 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种数据处理方法及系统 |
CN116560585A (zh) * | 2023-07-05 | 2023-08-08 | 支付宝(杭州)信息技术有限公司 | 一种数据分级存储方法和系统 |
CN116560585B (zh) * | 2023-07-05 | 2024-04-09 | 支付宝(杭州)信息技术有限公司 | 一种数据分级存储方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020113941A1 (zh) | 2020-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582246A (zh) | 基于矿机的数据访问方法、装置、系统及可读存储介质 | |
US8756199B2 (en) | File level hierarchical storage management system, method, and apparatus | |
CN110401724B (zh) | 文件管理方法、文件传输协议服务器及存储介质 | |
CN103635887B (zh) | 缓存数据的方法和存储系统 | |
CN105677580A (zh) | 访问缓存的方法和装置 | |
CN105867832B (zh) | 一种面向用户与应用的计算机与智能设备加速方法和装置 | |
CN110989937A (zh) | 一种数据存储方法、装置、设备及计算机可读存储介质 | |
CN102073741A (zh) | 一种实现文件读取和/或写入的方法以及数据服务器 | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN106095533A (zh) | 服务器扩容方法及装置 | |
US11392545B1 (en) | Tracking access pattern of inodes and pre-fetching inodes | |
CN108875046A (zh) | 一种存储系统访问方法、装置及电子设备 | |
US20160188717A1 (en) | Network crawling prioritization | |
CN111552438B (zh) | 一种对象写入的方法、装置、服务器和存储介质 | |
US8549274B2 (en) | Distributive cache accessing device and method for accelerating to boot remote diskless computers | |
CN110245129A (zh) | 一种分布式全局数据去重方法和装置 | |
CN110352410B (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
CN109639801A (zh) | 数据节点分配及数据获取方法及系统 | |
CN106991059B (zh) | 对数据源的访问控制方法 | |
CN109597707A (zh) | 克隆卷数据拷贝方法、装置及计算机可读存储介质 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
CN113485642A (zh) | 数据缓存方法及装置 | |
CN110427394B (zh) | 数据操作方法及装置 | |
JP4573732B2 (ja) | サーバント装置 | |
US10235293B2 (en) | Tracking access pattern of inodes and pre-fetching inodes |
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: 20190405 |