信息上传方法及装置与流程

文档序号:12182936阅读:330来源:国知局
信息上传方法及装置与流程

本发明实施例涉及信息技术领域,尤其涉及一种信息上传方法及装置。



背景技术:

用户通过客户端向服务器上传信息是各类信息系统以及各种电子商务系统中一个非常基础并且必备的功能。

现有技术中,客户端向服务器上传的信息可以为数据信息,也可以为信令信息,即客户端向服务器上传数据信息,该数据信息具体为文本信息、视频信息、图像信息等,服务器接收到数据信息后进行存储,或者客户端向服务器上传信令信息,该信令信息具体为一个请求信息,用于请求服务器向客户端返回一个文本信息、视频信息、图像信息等。

由于客户端发出的数据信息和信令信息均通过同一通信信道上传到服务器,当数据信息的比特数较大,且客户端发送数据信息的同时发送信令信息时,信令信息容易丢失,导致客户端向服务器发送的信息的完整性较差。



技术实现要素:

本发明实施例提供一种信息上传方法及装置,以保证客户端上传到服务器的信息完整性。

本发明实施例的一个方面是提供一种信息上传方法,包括:

反向代理设备接收客户端发送的信息,并判断所述信息的类型;

若所述信息为数据报文,则所述反向代理设备将所述数据报文发送到第一服务器,以使所述第一服务器存储所述数据报文;

若所述信息为请求信令,则所述反向代理设备将所述请求信令发送到第二服务器,以使所述第二服务器响应所述请求信令。

本发明实施例的另一个方面是提供一种信息上传装置,包括:

接收判断模块,用于接收客户端发送的信息,并判断所述信息的类型;

发送模块,用于若所述信息为数据报文,则将所述数据报文发送到第一服务器,以使所述第一服务器存储所述数据报文;若所述信息为请求信令,则将所述请求信令发送到第二服务器,以使所述第二服务器响应所述请求信令。

本发明实施例提供的信息上传方法及装置,通过反向代理设备将客户端发送的不同类型的信息发送到不同的服务器进行处理,具体将客户端发送的数据报文和请求信令发送到不同的服务器进行处理,避免客户端上传的信息比特数较大时,造成部分信息比特丢失,保证客户端上传到服务器的信息完整性。

附图说明

图1为本发明实施例提供的信息上传方法流程图;

图2为本发明实施例提供的信息上传方法适用的网络架构图;

图3为本发明另一实施例提供的信息上传方法的信令图;

图4为本发明实施例提供的信息上传装置的结构图。

具体实施方式

图1为本发明实施例提供的信息上传方法流程图。图2为本发明实施例提供的信息上传方法适用的网络架构图。本发明实施例针对客户端上传到服务器的信息不完整,提供了信息上传方法,该方法的具体步骤如下:

步骤S101、反向代理设备接收客户端发送的信息,并判断所述信息的类型;

本发明实施例对应的网络架构如图2所示,客户端将向服务器上传的信息先发送给反向代理设备,由反向代理设备判断该信息的类型,并依据该信息的类型将该信息发送到不同的服务器,在本发明实施例中,服务器分为两类,一类服务器即第一服务器用于接收客户端上传的数据报文,另一类服务器即第二服务器用于接收客户端发送的请求信令。

步骤S102、若所述信息为数据报文,则所述反向代理设备将所述数据报文发送到第一服务器,以使所述第一服务器存储所述数据报文;

如图2所示,当反向代理设备接收到客户端上传的数据报文时,将该数 据报文发送到第一服务器,以使第一服务器将该数据报文存储到本地或远程存储设备,且用于存储数据报文的第一服务器可以为多个,优选的,根据数据报文对应的业务类型,将不同业务类型的数据报文发送到不同的第一服务器,即第一服务器1、第一服务器2……第一服务器n分别存储不同业务类型的数据报文。

步骤S103、若所述信息为请求信令,则所述反向代理设备将所述请求信令发送到第二服务器,以使所述第二服务器响应所述请求信令。

如图2所示,本发明实施例采用第二服务器对所述请求信令进行响应,当反向代理设备接收到客户端发送的请求信令时,将所述请求信令发送到第二服务器。

本发明实施例通过反向代理设备将客户端发送的不同类型的信息发送到不同的服务器进行处理,具体将客户端发送的数据报文和请求信令发送到不同的服务器进行处理,避免客户端上传的信息比特数较大时,造成部分信息比特丢失,保证客户端上传到服务器的信息完整性。

在上述实施例的基础上,所述反向代理设备将所述数据报文发送到第一服务器,包括:所述反向代理设备依据所述数据报文的业务类型将所述数据报文发送到用于处理所述业务类型的数据报文的第一服务器。

如图2所示,用于存储数据报文的第一服务器可以为多个,优选的,根据数据报文对应的业务类型,将不同业务类型的数据报文发送到不同的第一服务器,即第一服务器1、第一服务器2……第一服务器n分别存储不同业务类型的数据报文。

所述数据报文包括多个分块数据;所述反向代理设备将所述数据报文发送到第一服务器,包括:所述反向代理设备将所述多个分块数据发送到多个所述第一服务器。

所述反向代理设备将所述多个分块数据发送到多个所述第一服务器,包括:所述反向代理设备将所述多个分块数据随机发送到负载小于预设值的多个所述第一服务器。

客户端根据数据报文的大小,将数据报文分成多个分块数据,并将多个分块数据发送到反向代理设备,反向代理设备将所述多个分块数据发送到多个所述第一服务器,具体地,反向代理设备从第一服务器1、第一服务器2…… 第一服务器n中选出负载小于预设值的服务器,并将客户端上传的数据报文对应的多个分块数据随机的发送到该多个负载小于预设值的服务器。

在本发明实施例中,客户端上传的数据报文可以分块,也可以不分块。

所述客户端发送的信息还包括每个分块数据对应的分块标识,所述分块标识用于标识所述分块数据在所述数据报文中的排序;

所述反向代理设备将所述多个分块数据发送到多个所述第一服务器之后,还包括:

每个所述第一服务器存储接收到的所述分块数据,并记录存储完成时刻;

每个所述第一服务器依据所有所述第一服务器分别记录的所述存储完成时刻判断自身是否为最后一个完成存储的第一服务器;

最后一个完成存储的第一服务器从其他第一服务器获取所述其他第一服务器存储的分块数据;

所述最后一个完成存储的第一服务器将自身存储的所述分块数据和从其他第一服务器获取的所述分块数据按照各个分块数据分别对应的分块标识组合成所述数据报文。

在本发明实施例中,客户端对待发送的数据报文进行分块处理形成多个分块数据,且每个分块数据分别对应一个分块标识,该分块标识用于标识该分块数据在整个数据报文中的排序,具体表示该分块数据是整个数据报文的第几片分块数据。例如,客户端将待发送的数据报文分为5个分块数据,分块标识分别为1、2、3、4、5。依据上述方法反向代理设备将分块数据1发送给第一服务器1,将分块数据2发送给第一服务器2,分块数据3、4、5发送给第一服务器3,第一服务器1对分块数据1进行存储,具体可以存储到第一服务器1本地,也可以存储到远程的存储设备,同理,第一服务器2对分块数据2进行存储,第一服务器3对分块数据3、4、5进行存储。各个第一服务器存储完分块数据后记录存储完成时刻,并将各自记录的存储完成时刻发送到数据库服务器,即数据库服务器统计各个第一服务器对应的存储完成时刻。各个第一服务器通过查询数据库服务器中记录的所有存储完成时刻判断其自身是否为最后一个完成存储的第一服务器,例如,第一服务器3存储多个分块数据所用时间最长,且第一服务器3最后完成存储操作,则第一服务器3从第一服务器1获取到分块数据1,并从第一服务器2获取到分块 数据2,第一服务器3将自身存储的分块数据3、4、5和从第一服务器1获取的分块数据1,以及从第一服务器2获取的分块数据2组合成一个完整的数据报文,即第一服务器3按照各个分块数据分别对应的分块标识将分块数据1、2、3、4、5按序组合成该数据报文,并将组合后的数据报文存储在数据库服务器中。

所述客户端发送的信息还包括每个分块数据对应的第一校验码,以及所述数据报文对应的第二校验码;

所述每个所述第一服务器存储接收到的所述分块数据之后,还包括:

每个所述第一服务器计算自身存储的每个所述分块数据的第三校验码,并比较所述第三校验码和所述第一校验码是否相同,若相同,则所述分块数据校验成功;

所述最后一个完成存储的第一服务器将自身存储的所述分块数据和从其他第一服务器获取的所述分块数据按照各个分块数据分别对应的分块标识组合成所述数据报文之后,还包括:

所述最后一个完成存储的第一服务器计算所述数据报文的第四校验码,并比较所述第四校验码是否与所述第二校验码相同,若相同,则所述数据报文校验成功。

在本发明实施例中,校验码具体为MD5码,客户端对数据报文进行分块处理后,为每个分块数据生成一个唯一的MD5码,同时生成该数据报文的MD5码,各个第一服务器在存储分块数据时,先依据该分块数据的MD5码判断该分块数据是否已经存储在第一服务器的本地或第一服务器对应的远程存储设备,若该分块数据没有被存储过,则进行存储,第一服务器依据该分块数据计算并生成该分块数据的MD5码,并与第一服务器接收到的MD5码进行比较,若给分块数据没有被修改过,则第一服务器计算并生成的MD5码与第一服务器接收到的该分块数据对应的MD5码相同。

同理,第一服务器3按照各个分块数据分别对应的分块标识将分块数据1、2、3、4、5按序组合成该数据报文之后,计算并生成该数据报文的MD5码,若该数据报文对应的每个分块数据没有被修改过,则第一服务器3组合后的数据报文与客户端上传的数据报文一致,即第一服务器3计算并生成的数据报文的MD5码与第一服务器接收到的该数据报文对应的MD5码相同。

图3为本发明另一实施例提供的信息上传方法的信令图。如图3所示,本发明实施例提供的信息上传方法的具体步骤如下:

步骤S301、客户端对数据报文进行分块处理;

步骤S302、客户端向反向代理设备发送各个分块数据;

步骤S303、反向代理设备依据分块数据选择第一服务器;

步骤S304、反向代理设备向第一服务器发送分块数据;

步骤S305、第一服务器存储分块数据,对分块数据进行校验;

步骤S306、若为最后一个完成存储的第一服务器,则第一服务器合并所有的分块数据形成数据报文;

步骤S307、第一服务器验证数据报文的完整性;

步骤S308、第一服务器向客户端返回成功。

本发明实施例对应的方法与上述实施例对应的方法一致,此处不再赘述。

本发明实施例通过反向代理设备将多个分块数据发送到多个第一服务器,由多个第一服务器对多个分块数据进行分布式存储,同时,通过多个第一服务器中的一个服务器组合多个分块数据形成数据报文,并对数据报文进行完整性校验,保证了数据报文的可靠性。

图4为本发明实施例提供的信息上传装置的结构图。本发明实施例提供的信息上传装置可以执行信息上传方法实施例提供的处理流程,如图4所示,信息上传装置40包括接收判断模块41和发送模块42,其中,接收判断模块41用于接收客户端发送的信息,并判断所述信息的类型;发送模块42用于若所述信息为数据报文,则将所述数据报文发送到第一服务器,以使所述第一服务器存储所述数据报文;若所述信息为请求信令,则将所述请求信令发送到第二服务器,以使所述第二服务器响应所述请求信令。

本发明实施例通过反向代理设备将客户端发送的不同类型的信息发送到不同的服务器进行处理,具体将客户端发送的数据报文和请求信令发送到不同的服务器进行处理,避免客户端上传的信息比特数较大时,造成部分信息比特丢失,保证客户端上传到服务器的信息完整性。

在上述实施例的基础上,发送模块42具体用于依据所述数据报文的业务类型将所述数据报文发送到用于处理所述业务类型的数据报文的第一服务器。

所述数据报文包括多个分块数据;发送模块42具体用于将所述多个分块数据发送到多个所述第一服务器。

发送模块42具体用于将所述多个分块数据随机发送到负载小于预设值的多个所述第一服务器。

本发明实施例提供的信息上传装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过反向代理设备将多个分块数据发送到多个第一服务器,由多个第一服务器对多个分块数据进行分布式存储,同时,通过多个第一服务器中的一个服务器组合多个分块数据形成数据报文,并对数据报文进行完整性校验,保证了数据报文的可靠性。

综上所述,本发明实施例通过反向代理设备将客户端发送的不同类型的信息发送到不同的服务器进行处理,具体将客户端发送的数据报文和请求信令发送到不同的服务器进行处理,避免客户端上传的信息比特数较大时,造成部分信息比特丢失,保证客户端上传到服务器的信息完整性;通过反向代理设备将多个分块数据发送到多个第一服务器,由多个第一服务器对多个分块数据进行分布式存储,同时,通过多个第一服务器中的一个服务器组合多个分块数据形成数据报文,并对数据报文进行完整性校验,保证了数据报文的可靠性。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1