数据处理方法、装置、电子设备、存储介质及程序产品
文献发布时间:2023-06-19 11:11:32
技术领域
本公开实施例涉及数据处理技术领域,具体涉及一种数据处理方法、装置、电子设备、存储介质及程序产品。
背景技术
随着数据技术的发展,为了提高系统数据处理速度,提升系统数据处理能力,在处理数据时,尤其是处理大量数据文件的情况下,几乎所有的操作系统均采用多进程/多线程的处理方式。但在使用机械硬盘的情况下,在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式将会引起磁盘的多次寻道操作,从而降低了磁盘吞吐量,进而降低了整个系统处理速度。
发明内容
本公开实施例提供一种数据处理方法、装置、电子设备、存储介质及程序产品。
第一方面,本公开实施例中提供了一种数据处理方法。
具体的,所述数据处理方法,包括:
响应于接收到数据传输指令,向控制器发送磁盘连接请求;
响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,执行数据传输;
响应于检测到数据传输结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
结合第一方面,本公开实施例在第一方面的第一种实现方式中,还包括:
设置数据缓存空间。
结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,所述响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,执行数据传输,被实施为:
响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接读取数据,并将读取到的数据存储在所述数据缓存空间中。
结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述响应于检测到数据传输结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息,被实施为:
响应于检测到数据读取结束,切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,还包括:
对于读取到的数据进行处理,并响应于检测到数据处理结束,向所述控制器发送磁盘连接请求。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,还包括:
响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,将处理结束的数据写入磁盘中;
响应于检测到数据写入结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
第二方面,本公开实施例中提供了一种数据处理方法。
具体的,所述数据处理方法,包括:
响应于检测到目标对象发出的磁盘连接请求,确定磁盘是否处于可用状态;
当确定所述磁盘处于可用状态时,确认所述目标对象与磁盘之间的连接,并向所述目标对象发送磁盘连接确认信息;
响应于检测到目标对象与磁盘建立起连接,将磁盘设置为不可用状态。
结合第二方面,本公开实施例在第二方面的第一种实现方式中,还包括:
响应于检测到目标对象与磁盘之间的数据传输结束或者接收到所述目标对象发送的数据传输结束信息,将磁盘设置为可用状态。
结合第二方面和第二方面的第一种实现方式,本公开实施例在第二方面的第二种实现方式中,还包括:
当确定所述磁盘处于不可用状态时,向所述目标对象发送等待提示信息,并在检测到所述磁盘恢复可用状态时,确认所述目标对象与磁盘之间的连接。
结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,还包括:
将接收到的磁盘连接请求按照接收时间顺序排列,以对于所述磁盘连接请求进行顺序处理。
第三方面,本公开实施例中提供了一种数据处理方法。
具体的,所述数据处理方法,包括:
第一发送模块,被配置为响应于接收到数据传输指令,向控制器发送磁盘连接请求;
传输模块,被配置为响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,执行数据传输;
操作模块,被配置为响应于检测到数据传输结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
结合第三方面,本公开实施例在第三方面的第一种实现方式中,还包括:
第一设置模块,被配置为设置数据缓存空间。
结合第三方面和第三方面的第一种实现方式,本公开实施例在第三方面的第二种实现方式中,所述传输模块被配置为:
响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接读取数据,并将读取到的数据存储在所述数据缓存空间中。
结合第三方面、第三方面的第一种实现方式和第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,所述操作模块被配置为:
响应于检测到数据读取结束,切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息。
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式和第三方面的第三种实现方式,本公开在第三方面的第四种实现方式中,还包括:
第二发送模块,被配置为对于读取到的数据进行处理,并响应于检测到数据处理结束,向所述控制器发送磁盘连接请求。
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式和第三方面的第四种实现方式,本公开在第三方面的第五种实现方式中,所述传输模块还被配置为:响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,将处理结束的数据写入磁盘中;
所述操作模块还被配置为:响应于检测到数据写入结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
第四方面,本公开实施例中提供了一种数据处理装置。
具体的,所述数据处理装置,包括:
确定模块,被配置为响应于检测到目标对象发出的磁盘连接请求,确定磁盘是否处于可用状态;
第三发送模块,被配置为当确定所述磁盘处于可用状态时,确认所述目标对象与磁盘之间的连接,并向所述目标对象发送磁盘连接确认信息;
第二设置模块,被配置为响应于检测到目标对象与磁盘建立起连接,将磁盘设置为不可用状态。
结合第四方面,本公开实施例在第四方面的第一种实现方式中,第二设置模块还被配置为:
响应于检测到目标对象与磁盘之间的数据传输结束或者接收到所述目标对象发送的数据传输结束信息,将磁盘设置为可用状态。
结合第四方面和第四方面的第一种实现方式,本公开实施例在第四方面的第二种实现方式中,还包括:
第四发送模块,被配置为当确定所述磁盘处于不可用状态时,向所述目标对象发送等待提示信息,并在检测到所述磁盘恢复可用状态时,确认所述目标对象与磁盘之间的连接。
结合第四方面、第四方面的第一种实现方式和第四方面的第二种实现方式,本公开在第四方面的第三种实现方式中,还包括:
排列模块,被配置为将接收到的磁盘连接请求按照接收时间顺序排列,以对于所述磁盘连接请求进行顺序处理。
第五方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持数据处理装置执行上述数据处理方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述数据处理装置还可以包括通信接口,用于数据处理装置与其他设备或通信网络通信。
第六方面,本公开实施例提供了一种计算机可读存储介质,用于存储数据处理装置所用的计算机指令,其包含用于执行上述数据处理方法为数据处理装置所涉及的计算机指令。
第七方面,本公开实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述数据处理方法的步骤。
本公开实施例提供的技术方案可包括以下有益效果:
上述技术方案通过对于执行数据传输的程序等对象进行数据传输的开合控制实现对于磁盘的读写管理。该技术方案能够有效避免在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式所引起的磁盘多次寻道操作,从而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开实施例的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的数据处理方法的流程图;
图2示出根据本公开另一实施方式的数据处理方法的流程图;
图3示出根据本公开一实施方式的数据处理装置的结构框图;
图4示出根据本公开另一实施方式的数据处理装置的结构框图;
图5示出根据本公开一实施方式的电子设备的结构框图;
图6是适于用来实现根据本公开一实施方式的数据处理方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开实施例。
本公开实施例提供的技术方案通过对于执行数据传输的程序等对象进行数据传输的开合控制实现对于磁盘的读写管理。该技术方案能够有效避免在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式所引起的磁盘多次频繁的寻道操作,从而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
图1示出根据本公开一实施方式的数据处理方法的流程图,如图1所示,所述数据处理方法包括以下步骤S101-S103:
在步骤S101中,响应于接收到数据传输指令,向控制器发送磁盘连接请求;
在步骤S102中,响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,执行数据传输;
在步骤S103中,响应于检测到数据传输结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
上文提及,随着数据技术的发展,为了提高系统数据处理速度,提升系统数据处理能力,在处理数据时,尤其是处理大量数据文件的情况下,几乎所有的操作系统均采用多进程/多线程的处理方式。但在使用机械硬盘的情况下,在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式将会引起磁盘的多次频繁的寻道操作,从而降低了磁盘吞吐量,进而降低了整个系统处理速度。
考虑到上述问题,在该实施方式中,提出一种数据处理方法,该方法通过对于执行数据传输的程序等对象进行数据传输的开合控制实现对于磁盘的读写管理。该技术方案能够有效避免在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式所引起的磁盘多次寻道操作,从而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
在本公开一实施方式中,所述数据处理方法可适用于可执行数据处理的计算机、电子设备、服务器等需与磁盘建立连接以执行数据传输的对象,比如某一程序等等。
在本公开一实施方式中,所述数据传输指令指的是用于指示进行数据传输的指令,所述数据传输指令可由用户发出,也可由其他执行主体发出。
在本公开一实施方式中,所述磁盘连接请求指的是用于建立与磁盘之间的连接的请求。
在本公开一实施方式中,所述磁盘连接确认信息指的是磁盘确认可以进行连接的信息,接收到该信息后,即可建立与磁盘之间的连接,以进行数据传输。
在本公开一实施方式中,所述数据传输结束信息指的是用于指示此次数据传输已完成的信息,控制器接收到所述数据传输结束信息后,即可切断数据传输对象与磁盘之间的连接。
在上述实施方式中,若数据传输对象接收到用户或者其他执行主体发送的数据传输指令,说明此时存在与磁盘连接以进行数据传输的需求,则向控制器发送磁盘连接请求;若接收到所述控制器发送的磁盘连接确认信息,说明此时磁盘确认可以进行连接,则建立与磁盘之间的连接,执行数据传输;在检测到数据传输结束之后,即可切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息,使控制器切断数据传输对象与磁盘之间的连接,以及时释放磁盘连接资源,使得其他数据传输对象能够顺序有效地使用所述磁盘,从而避免了磁盘的多次频繁的寻道操作,保障了磁盘的吞吐量,提高了系统处理速度,提升了系统处理能力。
在本公开一实施方式中,所述方法还包括以下步骤:
设置数据缓存空间。
为了节约磁盘占用时间,提高磁盘连接的有效性,在该实施方式中,还设置有数据缓存空间以对于获取的数据进行缓存,其中,所述数据缓存空间的容量应大于预设容量阈值,也就是说,所述数据缓存空间应尽量设置较大,以能够有效应用缓存数据的存储需求。其中,所述数据缓存空间可以基于临时文件系统来实现,比如可根据实际应用的需要请求多一些的临时文件空间;也可以基于SWAP分区来实现,SWAP分区技术是在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用,那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到SWAP分区中,等到那些程序要运行时,再从SWAP分区中恢复保存的数据到内存中。
在该实施方式中,所述步骤S102,即响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,执行数据传输的步骤,可被实施为:
响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接读取数据,并将读取到的数据存储在所述数据缓存空间中。
所述步骤S103,即所述响应于检测到数据传输结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息的步骤,可被实施为:
响应于检测到数据读取结束,切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息。
上文提及,为了节约磁盘占用时间,提高磁盘连接的有效性,还设置了数据缓存空间以对于获取的数据进行缓存,因此,在上述实施方式中,在接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接之后,先将读取到的数据存储在所述数据缓存空间中,并在检测到数据读取结束后,切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息,使控制器切断数据传输对象与磁盘之间的连接,以及时释放磁盘连接资源,使得其他数据传输对象能够顺序有效地使用所述磁盘。后续就可以在不占用磁盘资源的情况下进行离线数据处理,并在离线数据处理结束后再请求与磁盘连接,将处理完成的数据传输至磁盘中。
在本公开一实施方式中,所述方法还可包括以下步骤:
对于读取到的数据进行处理,并响应于检测到数据处理结束,向所述控制器发送磁盘连接请求。
在本公开一实施方式中,所述方法还可包括以下步骤:
响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,将处理结束的数据写入磁盘中;
响应于检测到数据写入结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
上文提及,在建立与磁盘之间的连接之后,先将读取到的数据存储在所述数据缓存空间中,然后切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息,这样就可以在不占用磁盘资源的情况下进行离线数据处理,提高磁盘连接的有效性,后续可在离线数据处理结束后再请求与磁盘连接,将处理完成的数据传输至磁盘中。因此,在该实施方式中,在读取数据结束后,对于读取到的、存储在所述数据缓存空间中的数据进行处理,数据处理结束后,向所述控制器发送磁盘连接请求,并在接收到所述控制器发送的磁盘连接确认信息之后,重新建立与磁盘之间的连接,将处理结束的数据写入至磁盘中,并在数据写入结束后,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息,使控制器切断数据传输对象与磁盘之间的连接,以及时释放磁盘连接资源,使得其他数据传输对象能够顺序有效地使用所述磁盘。
图2示出根据本公开另一实施方式的数据处理方法的流程图,如图2所示,所述数据处理方法包括以下步骤S201-S203:
在步骤S201中,响应于检测到目标对象发出的磁盘连接请求,确定磁盘是否处于可用状态;
在步骤S202中,当确定所述磁盘处于可用状态时,确认所述目标对象与磁盘之间的连接,并向所述目标对象发送磁盘连接确认信息;
在步骤S203中,响应于检测到目标对象与磁盘建立起连接,将磁盘设置为不可用状态。
上文提及,随着数据技术的发展,为了提高系统数据处理速度,提升系统数据处理能力,在处理数据时,尤其是处理大量数据文件的情况下,几乎所有的操作系统均采用多进程/多线程的处理方式。但在使用机械硬盘的情况下,在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式将会引起磁盘的多次频繁的寻道操作,从而降低了磁盘吞吐量,进而降低了整个系统处理速度。
考虑到上述问题,在该实施方式中,提出一种数据处理方法,该方法通过对于执行数据传输的程序等对象进行数据传输的开合控制实现对于磁盘的读写管理。该技术方案能够有效避免在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式所引起的磁盘多次寻道操作,从而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
在本公开一实施方式中,所述数据处理方法可适用于可执行数据处理的计算机、电子设备、服务器等磁盘管理方,比如控制器等等。
在本公开一实施方式中,所述目标对象指的是想要与磁盘建立连接以进行数据传输的对象,比如某一程序。
在本公开一实施方式中,为了避免多进程/多线程的处理方式引起的磁盘多次频繁的寻道操作,保障磁盘吞吐量,提高系统处理速度,提升系统处理能力,所述磁盘的状态根据磁盘是否已经建立数据连接设置为可用或者不可用,比如,若当前磁盘已与某一对象建立了连接,正在传输数据,则所述磁盘的状态应设置为不可用,此时无法允许其他对象与磁盘进行连接;若当前磁盘未与其他对象连接,未在传输数据,则所述磁盘的状态应设置为可用,此时可允许其他对象与磁盘进行连接。
在本公开一实施方式中,所述磁盘连接确认信息指的是确认磁盘可以与目标对象进行连接的信息,目标对象接收到该信息后,即可建立与磁盘之间的连接,以进行数据传输。
在上述实施方式中,若接收到目标对象发出的磁盘连接请求,则首先确定磁盘是否处于可用状态;当所述磁盘处于可用状态时,可确认所述目标对象与磁盘之间的连接,即允许所述目标对象与磁盘进行连接,并向所述目标对象发送磁盘连接确认信息;然后,为了避免其他对象同时占用磁盘资源,还需在确认目标对象与磁盘建立起连接后,将磁盘设置为不可用状态。
在本公开一实施方式中,所述方法还可包括以下步骤:
响应于检测到目标对象与磁盘之间的数据传输结束或者接收到所述目标对象发送的数据传输结束信息,将磁盘设置为可用状态。
在该实施方式中,若检测到目标对象与磁盘之间的数据传输结束或者接收到所述目标对象发送的数据传输结束信息,则认为所述目标对象已完成了数据传输任务,则可将磁盘设置为可用状态,以供其他对象访问。
在本公开一实施方式中,所述方法还可包括以下步骤:
当确定所述磁盘处于不可用状态时,向所述目标对象发送等待提示信息,并在检测到所述磁盘恢复可用状态时,确认所述目标对象与磁盘之间的连接。
在该实施方式中,当确定所述磁盘处于不可用状态时,认为当前磁盘正在被某一对象访问不能够接受新对象的访问请求,此时可向所述目标对象发送等待提示信息,提示其等待当前访问对象结束访问之后,即磁盘处于可用状态时再访问,并且可在检测到当前访问对象结束访问所述磁盘恢复可用状态时,再确认所述目标对象与磁盘之间的连接,使得所述目标对象建立其与磁盘之间的连接。
在本公开一实施方式中,所述方法还可包括以下步骤:
将接收到的磁盘连接请求按照接收时间顺序排列,以对于所述磁盘连接请求进行顺序处理。
为了提高磁盘连接的有效性,避免磁盘的多次频繁的寻道操作,在该实施方式中,将接收到的磁盘连接请求按照接收时间对其进行顺序排列,形成一个磁盘连接请求队列,以对于所述磁盘连接请求进行顺序处理,比如,首先对最先接收到的来自对象1的磁盘连接请求进行处理,此时由于磁盘处于可用状态,因此可确认所述对象1与磁盘之间的连接,并向所述对象1发送磁盘连接确认信息;对象1建立与磁盘之间的连接,执行数据读取,此时可将磁盘设置为不可用状态,对象1将读取得到的数据存储在数据缓存空间,切断与磁盘之间的连接,磁盘恢复为可用状态,以类似的方式顺序开始处理下一来自对象2的磁盘连接请求,而此时,对象1开始离线处理存储在数据缓存空间的数据;待对象1处理完数据,重新向控制器发送磁盘连接请求,该磁盘连接请求将按照磁盘的接收时间顺序排列在磁盘连接请求队列中,待磁盘顺序处理到该磁盘连接请求时,对象1再将之前处理完的数据写入至磁盘中。按照上述数据访问和传输流程,既可以完成数据传输任务,又可以节约磁盘占用时间,提高磁盘连接的有效性,避免磁盘的多次频繁的寻道操作,进而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图3示出根据本公开一实施方式的数据处理装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,所述数据处理装置包括:
第一发送模块301,被配置为响应于接收到数据传输指令,向控制器发送磁盘连接请求;
传输模块302,被配置为响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,执行数据传输;
操作模块303,被配置为响应于检测到数据传输结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
上文提及,随着数据技术的发展,为了提高系统数据处理速度,提升系统数据处理能力,在处理数据时,尤其是处理大量数据文件的情况下,几乎所有的操作系统均采用多进程/多线程的处理方式。但在使用机械硬盘的情况下,在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式将会引起磁盘的多次频繁的寻道操作,从而降低了磁盘吞吐量,进而降低了整个系统处理速度。
考虑到上述问题,在该实施方式中,提出一种数据处理装置,该装置通过对于执行数据传输的程序等对象进行数据传输的开合控制实现对于磁盘的读写管理。该技术方案能够有效避免在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式所引起的磁盘多次寻道操作,从而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
在本公开一实施方式中,所述数据处理装置可实现为可执行数据处理的计算机、电子设备、服务器等需与磁盘建立连接以执行数据传输的对象,比如某一程序等等。
在本公开一实施方式中,所述数据传输指令指的是用于指示进行数据传输的指令,所述数据传输指令可由用户发出,也可由其他执行主体发出。
在本公开一实施方式中,所述磁盘连接请求指的是用于建立与磁盘之间的连接的请求。
在本公开一实施方式中,所述磁盘连接确认信息指的是磁盘确认可以进行连接的信息,接收到该信息后,即可建立与磁盘之间的连接,以进行数据传输。
在本公开一实施方式中,所述数据传输结束信息指的是用于指示此次数据传输已完成的信息,控制器接收到所述数据传输结束信息后,即可切断数据传输对象与磁盘之间的连接。
在上述实施方式中,若数据传输对象接收到用户或者其他执行主体发送的数据传输指令,说明此时存在与磁盘连接以进行数据传输的需求,则向控制器发送磁盘连接请求;若接收到所述控制器发送的磁盘连接确认信息,说明此时磁盘确认可以进行连接,则建立与磁盘之间的连接,执行数据传输;在检测到数据传输结束之后,即可切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息,使控制器切断数据传输对象与磁盘之间的连接,以及时释放磁盘连接资源,使得其他数据传输对象能够顺序有效地使用所述磁盘,从而避免了磁盘的多次频繁的寻道操作,保障了磁盘的吞吐量,提高了系统处理速度,提升了系统处理能力。
在本公开一实施方式中,所述装置还可包括:
第一设置模块,被配置为设置数据缓存空间。
为了节约磁盘占用时间,提高磁盘连接的有效性,在该实施方式中,还设置有数据缓存空间以对于获取的数据进行缓存,其中,所述数据缓存空间的容量应大于预设容量阈值,也就是说,所述数据缓存空间应尽量设置较大,以能够有效应用缓存数据的存储需求。其中,所述数据缓存空间可以基于临时文件系统来实现,比如可根据实际应用的需要请求多一些的临时文件空间;也可以基于SWAP分区来实现,SWAP分区技术是在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用,那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到SWAP分区中,等到那些程序要运行时,再从SWAP分区中恢复保存的数据到内存中。
在该实施方式中,所述传输模块302可被配置为:
响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接读取数据,并将读取到的数据存储在所述数据缓存空间中。
所述操作模块303可被配置为:
响应于检测到数据读取结束,切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息。
上文提及,为了节约磁盘占用时间,提高磁盘连接的有效性,还设置了数据缓存空间以对于获取的数据进行缓存,因此,在上述实施方式中,在接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接之后,先将读取到的数据存储在所述数据缓存空间中,并在检测到数据读取结束后,切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息,使控制器切断数据传输对象与磁盘之间的连接,以及时释放磁盘连接资源,使得其他数据传输对象能够顺序有效地使用所述磁盘。后续就可以在不占用磁盘资源的情况下进行离线数据处理,并在离线数据处理结束后再请求与磁盘连接,将处理完成的数据传输至磁盘中。
在本公开一实施方式中,所述装置还可包括:
第二发送模块,被配置为对于读取到的数据进行处理,并响应于检测到数据处理结束,向所述控制器发送磁盘连接请求。
在本公开一实施方式中,
所述传输模块302还可被配置为:响应于接收到所述控制器发送的磁盘连接确认信息,建立与磁盘之间的连接,将处理结束的数据写入磁盘中;
所述操作模块303还可被配置为:响应于检测到数据写入结束,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息。
上文提及,在建立与磁盘之间的连接之后,先将读取到的数据存储在所述数据缓存空间中,然后切断与磁盘之间的连接或者向所述控制器发送数据读取结束信息,这样就可以在不占用磁盘资源的情况下进行离线数据处理,提高磁盘连接的有效性,后续可在离线数据处理结束后再请求与磁盘连接,将处理完成的数据传输至磁盘中。因此,在该实施方式中,在读取数据结束后,对于读取到的、存储在所述数据缓存空间中的数据进行处理,数据处理结束后,向所述控制器发送磁盘连接请求,并在接收到所述控制器发送的磁盘连接确认信息之后,重新建立与磁盘之间的连接,将处理结束的数据写入至磁盘中,并在数据写入结束后,切断与磁盘之间的连接或者向所述控制器发送数据传输结束信息,使控制器切断数据传输对象与磁盘之间的连接,以及时释放磁盘连接资源,使得其他数据传输对象能够顺序有效地使用所述磁盘。
图4示出根据本公开另一实施方式的数据处理装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,所述数据处理装置包括:
确定模块401,被配置为响应于检测到目标对象发出的磁盘连接请求,确定磁盘是否处于可用状态;
第三发送模块402,被配置为当确定所述磁盘处于可用状态时,确认所述目标对象与磁盘之间的连接,并向所述目标对象发送磁盘连接确认信息;
第二设置模块403,被配置为响应于检测到目标对象与磁盘建立起连接,将磁盘设置为不可用状态。
上文提及,随着数据技术的发展,为了提高系统数据处理速度,提升系统数据处理能力,在处理数据时,尤其是处理大量数据文件的情况下,几乎所有的操作系统均采用多进程/多线程的处理方式。但在使用机械硬盘的情况下,在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式将会引起磁盘的多次频繁的寻道操作,从而降低了磁盘吞吐量,进而降低了整个系统处理速度。
考虑到上述问题,在该实施方式中,提出一种数据处理装置,该装置通过对于执行数据传输的程序等对象进行数据传输的开合控制实现对于磁盘的读写管理。该技术方案能够有效避免在数据处理速度略小于磁盘读写平均值时,多进程/多线程的处理方式所引起的磁盘多次寻道操作,从而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
在本公开一实施方式中,所述数据处理装置可实现为可执行数据处理的计算机、电子设备、服务器等磁盘管理方,比如控制器等等。
在本公开一实施方式中,所述目标对象指的是想要与磁盘建立连接以进行数据传输的对象,比如某一程序。
在本公开一实施方式中,为了避免多进程/多线程的处理方式引起的磁盘多次频繁的寻道操作,保障磁盘吞吐量,提高系统处理速度,提升系统处理能力,所述磁盘的状态根据磁盘是否已经建立数据连接设置为可用或者不可用,比如,若当前磁盘已与某一对象建立了连接,正在传输数据,则所述磁盘的状态应设置为不可用,此时无法允许其他对象与磁盘进行连接;若当前磁盘未与其他对象连接,未在传输数据,则所述磁盘的状态应设置为可用,此时可允许其他对象与磁盘进行连接。
在本公开一实施方式中,所述磁盘连接确认信息指的是确认磁盘可以与目标对象进行连接的信息,目标对象接收到该信息后,即可建立与磁盘之间的连接,以进行数据传输。
在上述实施方式中,若接收到目标对象发出的磁盘连接请求,则首先确定磁盘是否处于可用状态;当所述磁盘处于可用状态时,可确认所述目标对象与磁盘之间的连接,即允许所述目标对象与磁盘进行连接,并向所述目标对象发送磁盘连接确认信息;然后,为了避免其他对象同时占用磁盘资源,还需在确认目标对象与磁盘建立起连接后,将磁盘设置为不可用状态。
在本公开一实施方式中,所述第二设置模块403还可被配置为:
响应于检测到目标对象与磁盘之间的数据传输结束或者接收到所述目标对象发送的数据传输结束信息,将磁盘设置为可用状态。
在该实施方式中,若检测到目标对象与磁盘之间的数据传输结束或者接收到所述目标对象发送的数据传输结束信息,则认为所述目标对象已完成了数据传输任务,则可将磁盘设置为可用状态,以供其他对象访问。
在本公开一实施方式中,所述装置还可包括:
第四发送模块,被配置为当确定所述磁盘处于不可用状态时,向所述目标对象发送等待提示信息,并在检测到所述磁盘恢复可用状态时,确认所述目标对象与磁盘之间的连接。
在该实施方式中,当确定所述磁盘处于不可用状态时,认为当前磁盘正在被某一对象访问不能够接受新对象的访问请求,此时可向所述目标对象发送等待提示信息,提示其等待当前访问对象结束访问之后,即磁盘处于可用状态时再访问,并且可在检测到当前访问对象结束访问所述磁盘恢复可用状态时,再确认所述目标对象与磁盘之间的连接,使得所述目标对象建立其与磁盘之间的连接。
在本公开一实施方式中,所述装置还可包括:
排列模块,被配置为将接收到的磁盘连接请求按照接收时间顺序排列,以对于所述磁盘连接请求进行顺序处理。
为了提高磁盘连接的有效性,避免磁盘的多次频繁的寻道操作,在该实施方式中,将接收到的磁盘连接请求按照接收时间对其进行顺序排列,形成一个磁盘连接请求队列,以对于所述磁盘连接请求进行顺序处理,比如,首先对最先接收到的来自对象1的磁盘连接请求进行处理,此时由于磁盘处于可用状态,因此可确认所述对象1与磁盘之间的连接,并向所述对象1发送磁盘连接确认信息;对象1建立与磁盘之间的连接,执行数据读取,此时可将磁盘设置为不可用状态,对象1将读取得到的数据存储在数据缓存空间,切断与磁盘之间的连接,磁盘恢复为可用状态,以类似的方式顺序开始处理下一来自对象2的磁盘连接请求,而此时,对象1开始离线处理存储在数据缓存空间的数据;待对象1处理完数据,重新向控制器发送磁盘连接请求,该磁盘连接请求将按照磁盘的接收时间顺序排列在磁盘连接请求队列中,待磁盘顺序处理到该磁盘连接请求时,对象1再将之前处理完的数据写入至磁盘中。按照上述数据访问和传输流程,既可以完成数据传输任务,又可以节约磁盘占用时间,提高磁盘连接的有效性,避免磁盘的多次频繁的寻道操作,进而保障了磁盘吞吐量,提高了系统处理速度,提升了系统处理能力。
本公开还公开了一种电子设备,图5示出根据本公开一实施方式的电子设备的结构框图,如图5所示,所述电子设备500包括存储器501和处理器502;其中,
所述存储器501用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器502执行以实现上述方法步骤。
图6是适于用来实现根据本公开一实施方式的数据处理方法的计算机系统的结构示意图。
如图6所示,计算机系统600包括处理单元601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行上述实施方式中的各种处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。处理单元601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。其中,所述处理单元601可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述数据处理方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
本公开实施例还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述任一方法步骤。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开实施例的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
- 数据处理方法、装置、电子设备、存储介质及程序产品
- 数据处理方法、装置、电子设备、存储介质以及程序产品