数据上传方法及系统、终端和计算机可读存储介质与流程

文档序号:16855211发布日期:2019-02-12 23:11阅读:179来源:国知局
本发明涉及数据传输
技术领域
:,尤其涉及一种数据上传方法及系统、终端和计算机可读存储介质。
背景技术
::随着社会的科技发展,掌握庞大的数据成为各公司进行业务拓展的基础,然而,动辄数十万级数据上载,往往需要耗时良久,占用服务器的大量资源,影响服务器处理其他业务的性能。因此,如何在减少对服务器的资源占用的基础上高效上传数据,成为目前亟待解决的技术问题。技术实现要素:本发明实施例提供了一种数据上传方法及系统、终端和计算机可读存储介质,旨在解决相关技术中数据上传会占用服务器的大量资源,影响服务器处理其他业务的性能的技术问题,能够在减少对服务器的资源占用的基础上高效上传数据。第一方面,本发明实施例提供了一种数据上传方法,包括:获取服务器的性能参数和运行信息;根据所述服务器的性能参数和运行信息,确定所述服务器的cpu可用资源;使用所述cpu可用资源,按照预定校验规则多线程校验目标数据;在校验通过后,多线程上传所述目标数据。在本发明上述实施例中,可选地,所述多线程上传所述目标数据,包括:根据所述服务器的历史性能参数和历史运行信息随时间变化的情况,训练空闲时段模型;通过将所述服务器的当前性能参数和当前运行信息输入所述空闲时段模型,判断所述服务器是否处于空闲时段;当判断结果为所述服务器处于所述空闲时段时,使用所述cpu可用资源上传所述目标数据。在本发明上述实施例中,可选地,所述服务器的性能参数包括:服务器类型、cpu运算速度、cpu运算精度、主频、内存容量、通信端口数量和外设配置;所述服务器的运行信息包括:运行环境参数、每个通信端口的数据上传速率以及每个通信端口的数据上传速率的变化率。在本发明上述实施例中,可选地,所述获取服务器的性能参数的步骤,包括:获取所述服务器的预定性能参数;或者检测所述服务器的当前性能参数。在本发明上述实施例中,可选地,所述预定校验规则为:根据所述目标数据的来源和/或内容类型,判断所述目标数据是否具备上传资格;在判断结果为所述目标数据具备所述上传资格的情况下,根据所述目标数据的属性信息,确定所述目标数据的优先级,其中,所述目标数据的属性信息包括:数据来源、数据大小、数据内容和数据类型中的一项或多项;所述在校验通过后,多线程上传所述目标数据的步骤,包括:通过所述目标数据的优先级对应的线程传输所述目标数据。在本发明上述实施例中,可选地,所述在校验通过后,多线程上传所述目标数据的步骤,包括:在同一线程内,按照多组所述目标数据的优先级从高至低的顺序,传输多组所述目标数据;或在同一线程内,按照所述数据大小从小至大的顺序,传输多组所述目标数据。在本发明上述实施例中,可选地,还包括:在所述多线程上传所述目标数据的过程中,显示所述多线程中每个线程的实时传输信息,其中,所述实时传输信息包括实时上传速度、预定时间间隔内的平均上传速度、已上传的数据量、待上传的数据量、已上传的数据占比和未上传的数据占比中的一项或多项。第二方面,本发明实施例提供了一种数据上传系统,包括:信息获取单元,获取服务器的性能参数和运行信息;资源确定单元,根据所述服务器的性能参数和运行信息,确定所述服务器的cpu可用资源;数据校验单元,使用所述cpu可用资源,按照预定校验规则多线程校验目标数据;多线程上传单元,在校验通过后,多线程上传所述目标数据。在本发明上述实施例中,可选地,所述资源确定单元具体用于:根据所述服务器的历史性能参数和历史运行信息随时间变化的情况,训练空闲时段模型;通过将所述服务器的当前性能参数和当前运行信息输入所述空闲时段模型,判断所述服务器是否处于空闲时段;当判断结果为所述服务器处于所述空闲时段时,使用所述cpu可用资源上传所述目标数据。在本发明上述实施例中,可选地,所述服务器的性能参数包括:服务器类型、cpu运算速度、cpu运算精度、主频、内存容量、通信端口数量和外设配置;所述服务器的运行信息包括:运行环境参数、每个通信端口的数据上传速率以及每个通信端口的数据上传速率的变化率。在本发明上述实施例中,可选地,所述信息获取单元用于:获取所述服务器的预定性能参数,或者检测所述服务器的当前性能参数。在本发明上述实施例中,可选地,所述预定校验规则为:根据所述目标数据的来源和/或内容类型,判断所述目标数据是否具备上传资格;在判断结果为所述目标数据具备所述上传资格的情况下,根据所述目标数据的属性信息,确定所述目标数据的优先级,其中,所述目标数据的属性信息包括:数据来源、数据大小、数据内容和数据类型中的一项或多项;所述多线程上传单元用于:通过所述目标数据的优先级对应的线程传输所述目标数据。在本发明上述实施例中,可选地,所述多线程上传单元用于:在同一线程内,按照多组所述目标数据的优先级从高至低的顺序,传输多组所述目标数据;或在同一线程内,按照所述数据大小从小至大的顺序,传输多组所述目标数据。在本发明上述实施例中,可选地,还包括:信息显示单元,在所述多线程上传所述目标数据的过程中,显示所述多线程中每个线程的实时传输信息,其中,所述实时传输信息包括实时上传速度、预定时间间隔内的平均上传速度、已上传的数据量、待上传的数据量、已上传的数据占比和未上传的数据占比中的一项或多项。第三方面,本发明实施例提供了一种终端,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述第一方面实施例中任一项所述的方法。第四方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面实施例中任一项所述的方法流程。以上技术方案,能够根据服务器的实际情况来分配能够用于数据上传的资源,以避免数据上传过程占用过多的资源,能够有效地节省一部分资源用以服务器的其他工作,其中,服务器的实际情况包括但不限于服务器的性能参数和运行信息。接着,占用这些cpu可用资源,分多线程对目标数据进行校验,并同时对校验通过的目标数据进行多线程上传,这样,可在校验在后目标数据的同时上传在前的通过校验的目标数据,多线程的工作可大量减少整体工作时间,各线程间相互不具有干扰,也保证了数据上传的准确性。通过以上技术方案,可有效减少数据上传过程中对服务器资源的占用,提升服务器的工作效率和工作性能。【附图说明】为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1示出了本发明的一个实施例的数据上传方法的流程图;图2示出了本发明的一个实施例的通过大数据确定cpu可用资源的流程图;图3示出了本发明的另一个实施例的数据上传方法的流程图;图4示出了本发明的一个实施例的数据上传系统的框图;图5示出了本发明的一个实施例的终端的框图。【具体实施方式】为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。图1示出了本发明的一个实施例的数据上传方法的流程图。如图1所示,本发明的一个实施例的数据上传方法的流程,包括:步骤102,获取服务器的性能参数和运行信息。其中,获取服务器的性能参数的步骤,具体包括:获取所述服务器的预定性能参数;或者检测所述服务器的当前性能参数。也就是说,既可以直接使用服务器的预定性能参数,以简化步骤,提升数据上传效率,也可以实时检测所述服务器的当前性能参数,以避免服务器的性能参数随运行而发生改变,从而提升获取到的性能参数的准确性,进而保证了进一步确定cpu可用资源的准确性。在本发明的一种实现方式中,所述服务器的性能参数包括:服务器类型、cpu运算速度、cpu运算精度、主频、内存容量、通信端口数量和外设配置,当然,服务器的性能参数还可以包括根据需要除此之外的其他类型的参数。在本发明的一种实现方式中,所述服务器的运行信息包括:运行环境参数、每个通信端口的数据上传速率以及每个通信端口的数据上传速率的变化率,当然,服务器的运行信息还可以包括根据需要除此之外的其他类型的参数。步骤104,根据所述服务器的性能参数和运行信息,确定所述服务器的cpu可用资源。服务器中的cpu(centralprocessingunit,中央处理器)可用资源指的是cpu未被运行程序所占用的资源,运行程序占用cpu资源可以进行计算、缓存、数据交互等工作,因此,只有cpu中仍剩余未被运行程序所占用的资源时,cpu才有可能通过这些未被占用的cpu可用资源执行其他进程,如进行多线程数据传输。通过对上述性能参数和运行信息的综合分析,可确定服务器当前是否处于空闲状态,在本发明的一种实现方式中,可确定cpu使用率,cpu使用率低于预定值时,说明服务器的cpu中仍具有足够的资源执行其他进程,故可将服务器确定为空闲状态。换句话说,如果确定服务器当前处于空闲状态,即说明服务器具有一定的cpu可用资源,这些cpu可用资源即可用于接下来的多线程传输数据。步骤106,使用所述cpu可用资源,按照预定校验规则多线程校验目标数据。此处的预定校验规则为验证目标数据是否具备上传资格的依据。步骤108,在校验通过后,多线程上传所述目标数据。其中,多线程校验目标数据和多线程上传目标数据的步骤同时进行,具体来说,可在校验在后目标数据的同时上传在前的通过校验的目标数据,即在上传一部分数据的同时也在校验新的数据,这种多线程的工作可大量减少整体工作时间。以上技术方案,能够根据服务器的实际情况来分配能够用于数据上传的资源,以避免数据上传过程占用过多的资源,能够有效地节省一部分资源用以服务器的其他工作,其中,服务器的实际情况包括但不限于服务器的性能参数和运行信息。接着,占用这些cpu可用资源,分多线程对目标数据进行校验,并同时对校验通过的目标数据进行多线程上传,这样,可在校验在后目标数据的同时上传在前的通过校验的目标数据,多线程的工作可大量减少整体工作时间,各线程间相互不具有干扰,也保证了数据上传的准确性。通过以上技术方案,可有效减少数据上传过程中对服务器资源的占用,提升服务器的工作效率和工作性能。在确定cpu可用资源时,可如图1实施例示出的情况,直接根据服务器性能参数和运行信息的综合分析,确定服务器当前是否处于空闲状态,而在本发明的另一种实现方式中,可通过大数据确定cpu可用资源,图2即示出了本发明的一个实施例的通过大数据确定cpu可用资源的流程图。如图2所示,通过大数据确定cpu可用资源的流程,包括:步骤202,根据所述服务器的历史性能参数和历史运行信息随时间变化的情况,训练空闲时段模型。选取不同时间的多组历史性能参数和历史运行信息,对于每组历史性能参数和历史运行信息,将历史性能参数和历史运行信息作为模型的输入,将最终占用的服务器的cpu可用资源作为输出,训练空闲时段模型,由此模型,只要知道了服务器的当前性能参数和当前运行信息,将服务器的当前性能参数和当前运行信息代入此模型,即可得到输出的cpu可用资源。由于空闲时段模型是由大量的历史数据训练得出,其极大地适应了服务器性能参数和运行信息与cpu可用资源之间的匹配规律,因此,通过大数据训练的方式求得的cpu可用资源具有极高的准确度和合理性,有利于数据上传过程中合理设置数据上传数量、速度等,保护了数据上传的高效进行。步骤204,通过将所述服务器的当前性能参数和当前运行信息输入所述空闲时段模型,判断所述服务器是否处于空闲时段,当判断结果为是时,进入步骤206,当判断结果为否时,结束进程。步骤206,允许使用所述cpu可用资源进行数据上传。通过将所述服务器的当前性能参数和当前运行信息输入所述空闲时段模型,可输出cpu可用资源,根据该cpu可用资源的量,可判断服务器当前是否还有能力来传输目标数据。具体来说,可判断cpu可用资源是否达到预定资源量,预定资源量指的是服务器能够顺利进行目标数据上传所需的最低资源,若cpu可用资源达到预定资源量,说明服务器的剩余资源量大于能够顺利进行目标数据上传所需的最低资源,确定服务器处于空闲时段,可进行目标数据的传输。反之,则结束进程。在该技术方案中,通过大数据训练的方式求得的cpu可用资源具有极高的准确度和合理性,有利于数据上传过程中合理设置数据上传数量、速度等,保护了数据上传的高效进行。下面通过具体实施例来介绍本发明中对目标数据进行校验的预定校验规则。如图3所示,本发明的另一个实施例的数据上传方法的流程,包括:步骤302,获取服务器的性能参数和运行信息。步骤304,根据所述服务器的性能参数和运行信息,确定所述服务器的cpu可用资源。步骤306,根据所述目标数据的来源和/或内容类型,判断所述目标数据是否具备上传资格,在判断结果为所述目标数据具备所述上传资格的情况下,进入步骤308,否则,结束进程。为了保护服务器的信息安全,避免服务器被恶意数据损坏和/或窃取信息,可以对目标数据的上传资格进行判定。在本发明的一种实现方式中,可以先确定目标数据的来源,只有当目标数据的来源为可信任终端时,说明目标数据可信任,才允许目标数据被上传至服务器,否则,禁止目标数据被上传。在本发明的另一种实现方式中,可以先确定目标数据的内容类型,只有当目标数据的内容类型为服务器指定的安全类型时,说明目标数据可信任,才允许目标数据被上传至服务器,否则,禁止目标数据被上传。比如,可设置安全类型为文本文档,当目标数据为安装包类型的文件时,可认定该目标数据会对服务器安全产生隐患,禁止其被上传。在本发明的再一种实现方式中,为了最大限度地保护服务器的安全,可将目标数据的来源和内容类型作为双重验证条件来使用,只有当目标数据的来源和内容类型均符合预定的要求时,才允许目标数据上传。步骤308,根据所述目标数据的属性信息,确定所述目标数据的优先级。其中,所述目标数据的属性信息包括但不限于:数据来源、数据大小、数据内容和数据类型中的一项或多项。步骤310,通过所述目标数据的优先级对应的线程传输所述目标数据。由于目标数据的优先级不同,优先级越高的目标数据,其上传需求越大,或者说服务器对其获取的需求越大,因此,可根据目标数据的属性信息确定其优先级,并优先上传优先级较高的目标数据,以满足数据传输的需求。比如,可为数据内容设置优先级,设置数据内容a的优先级为高,数据内容b的优先级为中,数据内容c的优先级为低,则在三组目标数据的数据内容分别为a、b、c的时候,最先上传数据内容为a的目标数据,接着,上传数据内容为b的目标数据,最后上传数据内容为c的目标数据。或者,通过上传速度最快的线程上传数据内容为a的目标数据,通过上传速度第二的线程上传数据内容为b的目标数据,通过上传速度第三的线程上传数据内容为c的目标数据。步骤312,在所述多线程上传所述目标数据的过程中,显示所述多线程中每个线程的实时传输信息。其中,所述实时传输信息包括实时上传速度、预定时间间隔内的平均上传速度、已上传的数据量、待上传的数据量、已上传的数据占比和未上传的数据占比中的一项或多项。在数据传输过程中,将每个线程的实时传输信息进行显示,便于有效掌握数据实时传输情况,以防有线程出现传输中断等问题,便于根据该实时传输信息及时进行人工调节或系统自检,提升了数据传输的有效性。另外,需要补充的是,在同一线程内,按照多组所述目标数据的优先级从高至低的顺序,传输多组所述目标数据。也就是说,不止在各线程间,在各线程内也要优先传输优先级更高的目标数据,以满足实际传输需求。在本发明的另一种实现方式中,在同一线程内,按照所述数据大小从小至大的顺序,传输多组所述目标数据。由此,还可以在各线程内优先传输更小的目标数据,以使得较小的文件优先完成传输,便于在服务器端尽可能快地获取完整的文件数据。图4示出了本发明的一个实施例的数据上传系统的框图。如图4所示,本发明实施例提供了一种数据上传系统400,包括:信息获取单元402,获取服务器的性能参数和运行信息;资源确定单元404,根据所述服务器的性能参数和运行信息,确定cpu可用资源;数据校验单元406,使用所述cpu可用资源,按照预定校验规则多线程校验目标数据;多线程上传单元408,在校验通过后,多线程上传所述目标数据。该数据上传系统400使用图1至图3示出的实施例中任一项所述的方案,因此,具有上述所有技术效果,在此不再赘述。数据上传系统400还具有以下技术特征:在本发明上述实施例中,可选地,所述资源确定单元404具体用于:根据所述服务器的历史性能参数和历史运行信息随时间变化的情况,训练空闲时段模型;通过将所述服务器的当前性能参数和当前运行信息输入所述空闲时段模型,判断所述服务器是否处于空闲时段;当判断结果为是时,允许使用所述cpu可用资源进行数据上传。在本发明上述实施例中,可选地,所述服务器的性能参数包括:服务器类型、cpu运算速度、cpu运算精度、主频、内存容量、通信端口数量和外设配置;所述服务器的运行信息包括:运行环境参数、每个通信端口的数据上传速率以及每个通信端口的数据上传速率的变化率。在本发明上述实施例中,可选地,所述信息获取单元402用于:获取所述服务器的预定性能参数,或者检测所述服务器的当前性能参数。在本发明上述实施例中,可选地,所述预定校验规则为:根据所述目标数据的来源和/或内容类型,判断所述目标数据是否具备上传资格;在判断结果为所述目标数据具备所述上传资格的情况下,根据所述目标数据的属性信息,确定所述目标数据的优先级,其中,所述目标数据的属性信息包括:数据来源、数据大小、数据内容和数据类型中的一项或多项;所述在校验通过后多线程上传目标数据的步骤,包括:通过所述目标数据的优先级对应的线程传输所述目标数据。在本发明上述实施例中,可选地,所述多线程上传单元408用于:在同一线程内,按照多组所述目标数据的优先级从高至低的顺序,传输多组所述目标数据;或在同一线程内,按照所述数据大小从小至大的顺序,传输多组所述目标数据。在本发明上述实施例中,可选地,还包括:信息显示单元,在所述多线程上传所述目标数据的过程中,显示所述多线程中每个线程的实时传输信息,其中,所述实时传输信息包括实时上传速度、预定时间间隔内的平均上传速度、已上传的数据量、待上传的数据量、已上传的数据占比和未上传的数据占比中的一项或多项。图5示出了本发明的一个实施例的终端的框图。如图5所示,本发明的一个实施例的终端500,包括至少一个存储器502;以及,与所述至少一个存储器502通信连接的处理器504;其中,所述存储器存储有可被所述至少一个处理器504执行的指令,所述指令被设置为用于执行上述图1至图3实施例中任一项所述的方案。因此,该终端500具有和图1至图3实施例中任一项相同的技术效果,在此不再赘述。本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行图1至图3实施例中任一项所述的方法流程。以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,多线程的工作可大量减少整体工作时间,各线程间相互不具有干扰,也保证了数据上传的准确性,有效减少数据上传过程中对服务器资源的占用,提升服务器的工作效率和工作性能。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(personalcomputer,pc)、个人数字助理(personaldigitalassistant,pda)、无线手持设备、平板电脑(tabletcomputer)、手机、mp3播放器、mp4播放器等。在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1