一种文件读写处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及电子信息领域,尤其涉及一种文件读写处理方法及装置。
【背景技术】
[0002]在电子信息领域,很多装置在实现其功能的时候,都需要进行文件读写,例如互联网中的服务器、电脑等,装置在进行文件读写时,收到读写指令,然后根据指令在缓存中读写数据。缓存中读写数据的速度比较快,通过缓存技术使得装置的读写速度有了一定提升。
[0003]为了规避一份数据同时被读和写导致的数据出错问题,在缓存中进行数据读写时,读写请求一般需要一个一个处理,不会同时处理,这种单线程处理方式虽然规避了数据竞争问题,但是在用户请求量很大的情况下,上述方案只能由装置通过一个CPU(CentralProcessing Unit,中央处理单元)进行数据处理,容易导致CPU负荷较大,这会使得数据读写速度很慢,降低了装置读写性能。
【发明内容】
[0004]本发明的实施例提供一种文件读写处理方法及装置,能够解决现有技术中在用户请求量很大的情况下,装置的CPU负荷较大,使得读写速度慢,装置读写性能较低的问题。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,本发明实施例提供了一种文件读写处理方法,包括:
[0007]获取文件处理请求,所述文件处理请求用于指示对文件进行读操作或写操作;
[0008]根据所述文件处理请求在文件读写处理装置的硬盘中查找所述文件;
[0009]如果在所述文件读写处理装置的硬盘中查找到所述文件,则根据所述文件处理请求对所述文件进行处理;
[0010]如果在所述文件读写处理装置的硬盘中没有查找到所述文件,则从所述文件读写处理装置的缓存中查找到所述文件,并对所述文件进行处理。
[0011]第二方面,本发明实施例提供了一种文件读写处理装置,包括:
[0012]获取单元,用于获取文件处理请求,所述文件处理请求用于指示对文件进行读操作或写操作;
[0013]查找单元,用于根据所述获取单元获取的所述文件处理请求在所述文件读写处理装置的硬盘中查找所述文件;
[0014]处理单元,用于当所述查找单元在所述文件读写处理装置的硬盘中查找到所述文件时,根据所述文件处理请求对所述文件进行处理;
[0015]所述查找单元,还用于在所述文件读写处理装置的硬盘中没有查找到所述文件,则从所述文件读写处理装置的缓存中查找到所述文件;
[0016]所述处理单元,还用于当所述查找单元在所述文件读写处理装置的缓存中查找到所述文件时,对所述文件进行处理。
[0017]本发明实施例提供的一种文件读写处理方法及装置,获取文件处理请求,根据文件处理请求在文件读写处理装置的硬盘中查找文件,如果在文件读写处理装置的硬盘中查找到文件,则根据文件处理请求对文件进行处理,如果在文件读写处理装置的硬盘中没有查找到文件,则从文件读写处理装置的缓存中查找到文件,并对文件进行处理。因为CPU直接从硬盘对文件进行读写操作,减小了 CPU负荷,而且不需要单线程处理,如果文件读写处理装置包含多个CPU,一个CPU在缓存中进行文件读写处理的同时,另一个CPU可以从硬盘中对文件进行读写操作,解决了现有技术中在用户请求量很大的情况下,装置的CPU负荷较大,使得读写速度慢,装置读写性能较低的问题。
【附图说明】
[0018]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本发明实施例提供的一种文件读写处理方法流程示意图;
[0020]图2为本发明实施例提供的一种文件读写处理装置结构示意图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]本发明实施例提供一种文件读写处理方法,可以应用于文件读写处理装置,例如个人电脑、手机等,优选的,可以应用于互联网中的服务器,参照图1所示,包括以下步骤:
[0023]101、获取文件处理请求。
[0024]文件处理请求用于指示对文件进行读操作或写操作。其中,该文件为最终反馈给客户端的数据文件,即不需要CPU进行逻辑运算,此处,逻辑运算可以是将文件进行重新整合的过程,当然,此处只是举例说明,并不代表本发明局限于此。
[0025]可选的,在步骤101之前,可以将文件由文件读写处理装置的缓存中存储到文件读写处理装置的硬盘中。
[0026]102、根据文件处理请求在文件读写处理装置的硬盘中查找文件。
[0027]可选的,文件处理请求可以包含文件的关键字,根据文件处理请求包含的文件的关键字确定文件的名称;根据文件的名称在文件读写处理装置的硬盘中查找文件。
[0028]需要说明的是,文件的名称格式可以是预先设定好的,例如,文件的名称可以是“ topnew_app_861003009000023000000701_2 ”,其中,topnew 表示该文件的处理请求调用的接口名称,app表示该处理请求由哪个应用发起,861003009000023000000701表示该文件读写处理装置的特征码,用于指示该文件读写处理装置的型号,2用于表示页码。当然,此处只是举例说明,并不代表本发明局限于此,在一种优选的实施方式中,可以根据不同的接口设定不同的文件名称格式。
[0029]103、如果在文件读写处理装置的硬盘中查找到文件,则根据文件处理请求对文件进行处理。
[0030]可选的,文件读写处理装置可以判断当前时刻与文件的最后修改时刻的差值是否小于等于第一预设时长;如果当前时刻与文件的最后修改时刻的差值小于等于第一预设时长,说明该文件短期内被修改,视为有效文件,则对文件进行处理。如果当前时刻与文件的最后修改时刻的差值大于第一预设时长,说明该文件短期内未被修改使用,很可能已经失效,则在第二预设时长之后,重新判断当前时刻与文件的最后修改时刻的差值是否小于等于第一预设时长。优选的,第二预设时长可以是50毫秒,当然,此处只是举例说明,具体时长可以根据实际情况自行设定,本发明对此不做限制。
[0031]104、如果在文件读写处理装置的硬盘中没有查找到文件,则从文件读写处理装置的缓存中查找到文件,并对文件进行处理。
[0032]具体可选的,如果在文件读写处理装置的缓存中查找到文件,并且文件没有被锁定,则根据文件处理请求对文件进行处理,当对文件进行读写操作时,文件被锁定。需要说明的是,如果文件存储在缓存中,则对文件进行读写操作时,会将文件锁定,避免其他请求同时对文件进行读写,导致文件出错。
[0033]现有方案中,是将数据存放在内存中,对于每次客户端的请求,需要多次访问内存,将读到的多份数据进行组合形成最终返回给客户端的数据。本发明方案是在此基础上进行的改动,也就是将最终返回给客户端的数据保存到磁盘文件中,下次收到相同的客户端请求时,直接读取磁盘文件的内容返回给客户端。
[0034]因为在进行文件读写操作时,首先从硬盘查找文件,如果文件存储在硬盘中,则直接从硬盘对文件进行读写操作,不需要文件读写处理装置的CPU在缓存中对文件进行读写,而现有技术在缓存中进行读写操作需要更多的逻辑运算,增加了 CPU的负荷。而且,如果文件读写处理装置存在多个CPU,以互联网中的服务器为例,现有技术中,虽然服务器有多个CPU,但对于文件读写操作,只能由一个CPU以单线程的方式进行处理,CPU负荷较大,如果采用本发明的文件读写方式,一个CPU在缓存中对文件进行读写操作,另一个CPU可以直接从硬盘对文件进行读写操作,减小了 CPU的负荷,提高了处理效率。
[0035]本发明实施例提供的文件读写处理方法,获取文件处理请求,根据文件处理请求在文件读写处理装置的硬盘中查找文件,如果在文件读写处理装置的硬盘中查找到文件,则根据文件处理请求对文件进行处理,如果在文件读写处理装置的硬盘中没有查找到文件,则从文件读写处理装置的缓存中查找到文件,并对文件进行处理。因为CPU直接从硬盘对文件进行读写操作,减小了 CPU负荷,而且不需要单线程处理,如果文件读写处理装置包含多个CPU,一个CPU在缓存中进行文件读写处理的同时,另一个CPU可以从硬盘中对文件进行读写操作,解决了现有技术中在用户请求量很大的情况下,装置的CPU负荷较大,使得读写速度慢,装置读写性能较低的问题。
[0036]基于上述图1对应的实施例,本发明实施例提供一种文件读写处理装置,用于执行上述图1对应的实施例中所描述的文件读写处理方法,参照图2所示,该文件读写处理装置20包括:获取单元201、查找单元202、处理单元203。