发明内容
本发明的主要目的在于提供一种文件传输方法、设备和系统及服务器中的业务处理方法和系统,用于提高文件传输的效率,保障文件传输的安全性和完整性,及用于有效提高服务器业务处理的效率。
为达到上述目的,本发明的实施例采用如下技术方案:
一种文件传输方法,该方法包括:
客户端将至少两个待传输的文件进行组包;
客户端为组包后的文件生成校验码,获取传输文件;
客户端将所述传输文件通过网络发送至服务器。
进一步的,还包括:客户端判断出所述组包后的文件为稀疏文件;客户端将所述组包后的文件进行压缩,获取压缩文件;
客户端为所述压缩文件生成校验码,获取传输文件。
进一步的,还包括:当文件在传输中出现网络中断时,客户端为所述文件设置第一中断标记,以指示该文件中存在还未传输的剩余数据;当网络处于连接状态时,客户端根据所述第一中断标记,将所述还未传输的剩余数据发送至服务器。
一种文件传输方法,该方法包括:
服务器对接收到的已组包的文件进行解包;
服务器从已解包的文件中获取校验码;
服务器判断所述校验码是否正确,如正确,接受所述文件;如不正确,拒绝所述文件。
进一步的,还包括:服务器对所述压缩文件进行解压缩。
进一步的,还包括:当文件在传输中出现网络中断时,服务器为所述文件设置第二中断标记,指示该文件存在还未传输的剩余数据;当网络处于连接状态时,服务器根据所述第二中断标记,接收来自客户端发送的所述还未传输的剩余数据。
一种服务器中的业务处理方法,该方法包括:
服务器对接收到的已组包的文件进行解包;服务器从已解包的文件中获取校验码;服务器确定所述校验码正确,接受所述文件;服务器根据设置的至少两种不同预定业务处理量为各文件分配业务处理进程;服务器监测各文件所分配的业务处理进程的实时业务处理量;服务器根据所述业务处理进程的实时业务处理量和相应的预定业务处理量,调整为所述文件分配的业务处理进程的数量。
进一步的,该方法还包括:
当所述业务处理进程的实时业务处理量大于所述预定业务处理量时,增加为所述文件分配的业务处理进程;当所述业务处理进程的实时业务处理量小于所述预定业务处理量时,减少为所述文件分配的业务处理进程。
进一步的,所述实时业务处理量为为所述文件分配的所有业务处理进程的业务量之和。
一种客户端设备,包括:
文件组包单元,用于将至少两个待传输的文件进行组包;
第一校验单元,用于为组包后的文件生成校验码,获取传输文件;
数据传输单元,用于将所述传输文件通过网络发送至服务器。
进一步的,还包括:文件压缩单元,用于将所述组包后的文件进行压缩。
第一断点续传单元,用于当文件在传输中出现网络中断时,为所述文件设置第一中断标记,以指示该文件中存在还未传输的剩余数据;当网络处于连接状态时,根据所述第一中断标记,将所述还未传输的剩余数据发送至服务器
一种服务器,包括:
文件解包单元,用于对接收到的已组包的文件进行解包;
第二校验单元,用于从已解包的文件中获取校验码;
数据处理单元,用于判断所述校验码是否正确,如正确,接受所述文件;如不正确,拒绝所述文件。
进一步的,还包括:文件解压缩单元,用于对所述压缩文件进行解压缩。
第二断点续传单元,用于当文件在传输中出现网络中断时,为所述文件设置第二中断标记,指示该文件存在还未传输的剩余数据;当网络处于连接状态时,根据所述第二中断标记,接收来自客户端发送的所述还未传输的剩余数据。
一种文件传输系统,所述系统包括客户端设备和服务器,
所述客户端设备包括文件组包单元,用于将至少两个待传输的文件进行组包;第一校验单元,用于为组包后的文件生成校验码,获取传输文件;数据传输单元,用于将所述传输文件通过网络发送至服务器;
所述服务器包括文件解包单元,用于对接收到的已组包的文件进行解包;第二校验单元,用于从已解包的文件中获取校验码;数据处理单元,用于判断所述校验码是否正确,如正确,接受所述文件;如不正确,拒绝所述文件。
一种服务器中的业务处理系统,所述系统包括:
接收解包单元,用于对接收到的已组包的文件进行解包;校验码获取单元,用于从已解包的文件中获取校验码;接受单元,用于确定所述校验码正确,接受所述文件;分配单元,用于根据设置的至少两种不同预定业务处理量为各文件分配业务处理进程;网络监测单元,用于监测各文件所分配的业务处理进程的实时业务处理量;业务量调整单元,用于根据所述业务处理进程的实时业务处理量和相应的预定业务处理量,调整为所述文件分配的业务处理进程的数量。
进一步的,该系统还包括显示单元,用于将各业务处理进程的状态值进行显示,以根据所述业务处理进程的状态调整为所述文件分配的业务处理进程的数量,所述状态值包括第一状态值和第二状态值,该第一状态值指示忙状态,该第二状态值指示闲状态;和存储单元,用于存储所述文件的数据和业务处理进程的状态值。
本发明实施例提供的文件传输方法和设备,通过对待传输的多个文件进行组包,减少了服务器和客户端之间SOCKET连接的次数,通过设置的校验码,保障了文件的安全性和完整性;并且,进一步的通过对稀疏文件的压缩,显著减少了传输的数据量,本发明实施例的技术方案解决了现有技术中存在的问题,能够在提高文件传输效率的同时,保障文件的安全性和完整性。
本发明实施例提供的服务器中的业务处理方法和系统,通过根据设置的不同的预定业务处理量为各文件分配业务处理进程,监测各业务的实时业务处理量,根据该实时业务处理量和相应的预定业务处理量,调整为所述业务分配的业务处理进程的数量,解决了现有技术中因无法对业务处理进程进行实时管理,导致一些业务处理进程承载的业务处理量过大,而一些业务处理进程承载的业务处理量出现空闲的问题,能够有效提高服务器业务处理的效率。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合附图对本发明的实施例进行详细的介绍,下面的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得本发明的其他的实施方式。
本发明实施例一提供了一种文件传输方法,如图1所示,该方法包括:
步骤11:客户端将至少两个待传输的文件进行组包;
为了清楚说明本发明的技术方案,下面以银行的交易系统中文件传输为示例进行描述。但本发明实施例的应用领域并不局限于在此列举的场合,例如还可以应用在银行、邮政等系统。
待传输的文件为客户端进程发起的交易请求,其中,客户端通过网络处理将交易请求的数据变换成适用于网络传输,如支持FTP协议,的网络数据格式。然后将多个交易请求组包。
客户端的交易请求可包括多种类型,例如,可以包括卡业务交易请求、存款业务交易请求、贷款业务交易请求等。所述交易请求包包括两部分内容:数据包和包头,其中,数据包中的信息为客户端需要与服务器进行交易的数据信息,如交易金额,交易类型,请求时间等;而包头中的信息为客户的一些身份信息,如客户端的标识名称等。
步骤12:客户端为组包后的文件生成校验码,获取传输文件,具体包括如下处理:
步骤121:为客户端和服务器分配初始密钥。
首先,为参与交易的服务器和客户端分别分配一个原始的国际数据加密算法(International Data Encryption Algorithm,IDEA)密钥ORGIDEA_KEY。例如,该密钥可由客户端和服务器端专人负责保管,在每天营业的开始客户端和服务器端分别接收输入的密钥并保存。其中,为了确保交易安全,所述密钥ORGIDEA KEY定期更新。
步骤122:客户端使用所述密钥对待发送的请求包进行加密。
可选的,在交易系统中,为在客户端和服务器端之间进行安全信息的双方认证,在交易请求包中设置签到请求包。在每一次交易开始时,客户端填写签到请求包,所述签到请求包中包括网点号、客户机的机器号和审计号,以及待交易的内容。并对所述签到请求包中的信息采用信息-摘要算法(Message DigestAlgorithm 5,MD5)进行加密,生成校验码。然后用原始IDEA密钥ORGIDEA_KEY对签到请求包进行加密,得到可以进行网络传输的传输文件。其中,每一次交易开始时,客户端将审计号自增1。
其中,在本发明实施例中,采用的MD5加密算法生成校验码,由于MD5的处理机制保证了文件在传输过程中的完整性和安全性。MD5可以将大容量文件转换成一种保密的格式,即可以把一个任意长度的字节串变换成一定长的大整数,从而确保了信息传输完整一致,且MD5可以对一段信息(Message)产生信息摘要(Message-Digest),即MD5可以为任何文件(不管其大小、格式、数量)产生一个独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化,以防止被篡改,从而确保了文件传输过程中的安全性。
可选的,在传输完所述签到请求包后,客户端还可以接收到来自服务器端的反馈信息。例如,接收服务器发送过来的签到返回包,客户端使用同样的密钥ORGIDEA_KEY对服务器下传的签到返回包进行解密,解密后对该签到返回包做MD5,并同下传的MD5进行对比。若两者相同,则接受OPIDEA_KEY,并保存在客户端。
步骤13:客户端将所述传输文件通过网络发送至服务器。
进一步的,在步骤12之前还包括:
客户端判断出所述组包后的文件为稀疏文件,客户端将所述组包后的文件进行压缩,获取压缩文件;
所述客户端为组包后的文件生成校验码,获取传输文件具体为:
这时,在步骤12中,客户端为所述压缩文件生成校验码,获取传输文件。
并且,本发明实施例一还支持断点续传功能,能够充分利用网络资源且进一步保证了文件内容在传输过程中的完整性,当文件在传输中出现网络中断时,客户端为所述文件设置第一中断标记,以指示该文件中存在还未传输的剩余数据,该第一中断标记还可具体指示文件的中断点、中断时间等信息;当网络重新连接后,客户端根据所述第一中断标记,将所述还未传输的剩余数据发送至服务器。
本发明实施例提供的技术方案,通过对待传输的多个文件进行组包,减少了服务器和客户端之间SOCKET连接的次数,通过对稀疏文件的压缩,减少了传输的数据量,从而提高了传输的效率;并且通过设置的校验码,保障了文件的安全性和完整性。
本发明实施例二提供的文件传输方法,如图2所示,该方法包括:
步骤21:服务器对接收到的已组包的文件进行解包;
步骤22:服务器从已解包的文件中获取校验码;
在本发明实施例二中仍以上述的交易系统为例进行说明。
服务器端在接收到交易请求包后,首先校验对方网络连接的合法性,使用OPIDEA_KEY进行解密;然后对请求包中的数据做MD5计算,获取校验码。
步骤23:服务器判断所述校验码是否正确,如正确,接受所述文件;如不正确,拒绝所述文件,包括如下处理:
服务器端将获取到的校验码(MD5码)并同交易请求包中的校验码(MD5码)对比,若相同,则所述交易请求包中的数据为安全、完整的数据,接受所述数据;若不相同,则所述交易请求包中的数据存在危险性或不完整,拒绝所述数据。
进一步的,还可以通过设置的审计号作进一步的验证,判断是否为需要的所述数据。将交易请求包中的审计号同服务器中的审计号比较,若请求包中的审计号大则接受请求包中的数据,并用请求包中的审计号替代服务器中的审计号,否则表示有错误,拒绝所述数据。可选的,服务器还可进一步根据请求包中的柜员号判断校验操作员是否有操作权限,若具有权限,则可以继续交易;若不具有权限,则停止操作。
可选的,服务器端接收到经过加密的签到请求包后,向客户端做出反馈。服务器首先校验客户端信息(网络名称或地址)的合法性,并随机生成一个密钥OPIDEA_KEY,填写一个签到返回包,并对所述签到返回包进行MD5校验,然后用ORGIDEA_KEy对该签到返回包中除包头以外的所有部分进行加密,并传送给客户端,同时设置相应的审计号。
进一步的,当所述已组包的文件为压缩文件,在步骤22之前还包括:服务器对所述压缩文件进行解压缩。
本发明实施例二还支持断点续传功能,能够充分利用网络资源且进一步保证了文件内容在传输过程中的完整性,当文件在传输中出现网络中断时,服务器为所述文件设置第二中断标记,指示该文件存在还未传输的剩余数据,该第二中断标记还可以对哪一个文件在传输中出现了中断,及中断的时间等信息做出记录。当网络再次处于连接状态时,服务器根据所述第二中断标记,接收来自客户端发送的所述还未传输的剩余数据。
本发明实施例二提供的技术方案,通过对待传输的多个文件进行组包,减少了服务器和客户端之间SOCKET连接的次数,通过对稀疏文件的压缩,减少了传输的数据量,从而提高了传输的效率;并且通过设置的校验码,保障了文件的安全性和完整性。
本发明实施例三还提供了一种客户端设备,如图3所示,包括:
文件组包单元31,用于将至少两个待传输的文件进行组包;第一校验单元32,用于为组包后的文件生成校验码,获取传输文件;数据传输单元33,用于将所述传输文件通过网络发送至服务器。
当所述文件为稀疏文件时,所述设备还包括:文件压缩单元,用于将所述组包后的文件进行压缩。
上述设备还支持断点续传功能,还包括:第一断点续传单元,用于当文件在传输中出现网络中断时,为所述文件设置第一中断标记,以指示该文件中存在还未传输的剩余数据;当网络处于连接状态时,根据所述第一中断标记,将所述还未传输的剩余数据发送至服务器
本发明实施例四还提供了一种服务器,如图4所示,包括:
文件解包单元41用于对接收到的已组包的文件进行解包;第二校验单元42,用于从已解包的文件中获取校验码;数据处理单元43,用于判断所述校验码是否正确,如正确,接受所述文件;如不正确,拒绝所述文件。
所述服务器还包括:文件解压缩单元,用于对所述压缩文件进行解压缩;及第二断点续传单元,用于当文件在传输中出现网络中断时,为所述文件设置第二中断标记,指示该文件存在还未传输的剩余数据;当网络处于连接状态时,根据所述第二中断标记,接收来自客户端发送的所述还未传输的剩余数据。
本发明实施例五一种文件传输系统,如图5所示,所述系统包括客户端设备51和服务器52,
所述客户端设备51包括文件组包单元511,用于将至少两个待传输的文件进行组包;第一校验单元512,用于为组包后的文件生成校验码,获取传输文件;数据传输单元513,用于将所述传输文件通过网络发送至服务器;
所述服务器52包括文件解包单元521,用于对接收到的已组包的文件进行解包;第二校验单元522,用于从已解包的文件中获取校验码;数据处理单元523,用于判断所述校验码是否正确,如正确,接受所述文件;如不正确,拒绝所述文件。
进一步的,所述客户端设备51还包括文件压缩单元514,用于将所述组包后的文件进行压缩;和第一断点续传单元515,用于当文件在传输中出现网络中断时,为所述文件设置第一中断标记,以指示该文件中存在还未传输的剩余数据;当网络处于连接状态时,根据所述第一中断标记,将所述还未传输的剩余数据发送至服务器;
进一步的,所述服务器52还包括文件解压缩单元524,用于对所述压缩文件进行解压缩;和第二断点续传单元525,用于当文件在传输中出现网络中断时,为所述文件设置第二中断标记,指示该文件存在还未传输的剩余数据;当网络处于连接状态时,根据所述第二中断标记,接收来自客户端发送的所述还未传输的剩余数据。
可选的,上述系统中的客户端设备和服务器还可包括参数配置模块,用于对上述各单元的操作配置所需的参数。
本发明实施例五提供的技术方案,通过对待传输的多个文件进行组包,减少了服务器和客户端之间SOCKET连接的次数,通过对稀疏文件的压缩,减少了传输的数据量,从而提高了传输的效率;并且通过设置的校验码,保障了文件的安全性和完整性。
本发明实施例六提供了一种服务器中的业务处理方法,如图6所示,所述方法包括:
步骤61:服务器对接收到的已组包的文件进行解包;步骤62:服务器从已解包的文件中获取校验码;步骤63:服务器确定所述校验码正确,接受所述文件;
其中,步骤61至步骤63的具体处理方法可参见上述步骤21至步骤23。
步骤64:服务器根据设置的至少两种不同预定业务处理量为各文件分配业务处理进程;
为了清楚说明本发明的技术方案,下面以银行的交易系统中文件传输为示例进行描述。但本发明实施例的应用领域并不局限于在此列举的场合,例如还可以应用在银行、邮政等系统。对本领域技术人员显而易见的是,本发明实施例六中对服务器中文件的处理方法,可应用在服务器中所有类型的业务中。
本发明实施例六提供的技术方案,在交易系统中,为不同类型的文件,即不同类型的交易请求,例如,卡业务请求、存款业务请求、贷款业务请求等,设置不同的预定业务处理量,并分配不同的业务处理进程。服务器首先对一定时间内客户端的请求数量进行统计,统计出与各请求类型所对应的业务量,以对各文件所分配的业务处理进程设置相应的预定业务处理量,从而满足客户端的需求,提高业务处理的效率。所述的一定时间可以自由定义,例如,可以是一个小时,或一天等。
步骤65:监测各文件所分配的业务处理进程的实时业务处理量;
本发明实施例六在交易过程中,服务器通过读取共享内存中各业务处理进程承载的业务量,对各业务处理进程的运行状况进行实时监测,并获取一定时间内为应用分配的所有业务处理进程的业务量作为该业务的实时业务处理量。
步骤66:根据所述业务处理进程的实时业务处理量和相应的预定业务处理量,调整为所述文件分配的业务处理进程的数量。
将已分配用于文件处理的业务处理进程的状态设置为忙状态,将未用于文件处理的业务处理进程的状态设置为闲状态,状态的设置方法有多种,例如,可为每个进程设置状态标志位,用以指示忙状态或闲状态。
将不同类型文件的实时业务处理量与预定业务处理量进行比较,例如,在两个小时内,服务器端发现客户端关于卡业务的请求比较多,该文件处理对应的实时业务处理量超出预定业务处理量;而贷款业务的请求相对较少,该文件处理对应的实时业务处理量远小于预定业务处理量,那么服务器端就会分配更多的业务处理进程数量给处理卡业务的文件处理进程,将状态为闲的业务处理进程分配给该业务;而减少处理贷款业务的业务处理进程的数量,并将该减少的业务处理进程的状态设置为闲。
上述进行业务处理进程调整的操作可由手动执行,也可由预定的软件操作自动执行。
本发明实施例六提供的服务器中的业务处理方法,能够对各业务处理进程的实时业务处理量进行监测,随时掌握各业务处理进程的业务处理状况,并根据监测结果来对各文件的业务处理进程的个数进行调整;根据预定业务处理量对各应用的业务处理进程数量进行调整,使服务器端的所有业务处理进程达到均衡状态,不会出现某个业务处理进程的业务处理量过大,而导致系统资源占用过大,导致雪崩现象,而另一个业务处理进程则空闲的情况,提高服务器业务处理的效率。
本发明实施例七提供了一种服务器中的业务处理系统,如图7所示,所述系统包括:
接收解包单元71,用于对接收到的已组包的文件进行解包;校验码获取单元72,用于从已解包的文件中获取校验码;接受单元73,用于确定所述校验码正确,接受所述文件;分配单元74,用于根据设置的至少两种不同预定业务处理量为各文件分配业务处理进程;网络监测单元75,用于监测各文件所分配的业务处理进程的实时业务处理量;业务量调整单元76,用于根据所述业务处理进程的实时业务处理量和相应的预定业务处理量,调整为所述文件分配的业务处理进程的数量。
进一步的,为了便于操作上述系统还包括显示单元77,用于将各业务处理进程的状态值进行显示,以根据所述业务处理进程的状态值调整为所述业务分配的业务处理进程的数量,所述状态值包括第一状态值和第二状态值,该第一状态值指示忙状态,该第二状态值指示闲状态。
进一步的,该系统还包括存储单元78,用于存储所述业务的数据和业务处理进程的状态值。
本发明实施例七提供的技术方案,通过根据设置的不同的预定业务处理量为各文件分配业务处理进程,监测各业务的实时业务处理量,根据该实时业务处理量和相应的预定业务处理量,调整为所述文件分配的业务处理进程的数量,解决了现有技术中因无法对业务处理进程进行实时管理,导致一些业务处理进程承载的业务处理量过大,而一些业务处理进程承载的业务处理量出现空闲的问题,能够有效提高服务器业务处理的效率。
本领域普通技术人员可以理解实现上述实施例中的全部或部分步骤,可以通过程序指令相关硬件完成。所述实施例对应的软件可以存储在一个计算机可存储读取的介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。