CN104378336A - 一种数据处理方法、系统及服务器 - Google Patents

一种数据处理方法、系统及服务器 Download PDF

Info

Publication number
CN104378336A
CN104378336A CN201310359412.XA CN201310359412A CN104378336A CN 104378336 A CN104378336 A CN 104378336A CN 201310359412 A CN201310359412 A CN 201310359412A CN 104378336 A CN104378336 A CN 104378336A
Authority
CN
China
Prior art keywords
magic number
client
service request
syllable sequence
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310359412.XA
Other languages
English (en)
Inventor
刘小杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HAOKAN TECHNOLOGY (SHENZHEN) Co Ltd
Original Assignee
HAOKAN TECHNOLOGY (SHENZHEN) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HAOKAN TECHNOLOGY (SHENZHEN) Co Ltd filed Critical HAOKAN TECHNOLOGY (SHENZHEN) Co Ltd
Priority to CN201310359412.XA priority Critical patent/CN104378336A/zh
Publication of CN104378336A publication Critical patent/CN104378336A/zh
Pending legal-status Critical Current

Links

Abstract

本申请公开了一种数据处理方法,包括:服务器端和客户端协商使用相同的数字作为魔数;服务器端接收客户端发送的业务请求,读取业务请求中的魔数,并判断客户端保存的魔数与服务器端保存的所述魔数的字节序是否相同;服务器端根据判断的结果处理业务请求。本申请还公开了一种数据处理系统和服务器。本申请只有服务器端判断出客户端的字节序与服务器端的字节序不相同时,才需在服务器端转换业务请求的字节序,客户端直接发送业务请求而无需其他任何操作;本申请对客户端的字节序和服务器端的字节序均无要求,适用性强;由于服务器平台相对固定,因而简化整个系统的开发。

Description

一种数据处理方法、系统及服务器
技术领域
本申请涉及计算机通信领域,尤其涉及一种数据处理方法、系统及服务器。
背景技术
字节序是指计算机存储数值型数据的顺序,分为两种类型,一种为大端模式,另一种为小端模式。大端模式指高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。小端模式指低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。因网络字节序规定为大端模式,所有底层通信协议(如TCP、IP协议等)均采用大端模式。本地字节序依据CPU的不同可为大端模式或小端模式中的一种。常见的CPU,采用大端模式的包括:PowerPC、IBM、Sun、Java虚拟机;采用小端模式的有:x86、DEC。ARM既可以采用大端模式,也可以采用小端模式。
由于计算机表示数字是区分大端与小端模式的,所以在网络通信中传输数字时需要约定好使用大端还是小端模式。又因为TCP/IP协议栈的实现使用的网络字节序是大端模式,所以应用层协议多采用网络字节序,当然也可以采用小端模式,但大端模式和小端模式不能混用。
客户端向服务器端发送数据时,使用网络字节序的一般流程是:
1.客户端发送前将本地序的数据(1)转换成网络字节序数据(2),然后通过网络发送。
2.服务器端接收后,将接收到的网络字节序数据(3)转换成本地字节序数据(4),然后处理本地字节序的数据。
使用网络字节序的问题是:大多数时候客户端同服务器端都工作在x86架构下,发送前的本地字节序数据(1)及服务器转换后的本地字节序数据(4)基本上都是小端模式,但传输时不得不都转换成网络字节序,这种转换使得编码繁杂,且有转换的额外开销,影响应用层协议的通信效率。
针对使用网络字节序的问题,另外一些应用层协议采用小端模式,其流程为:
客户端发送前:判断本机是大端模式还是小端模式,如果是大端模式则转换成小端模式,然后发送。小端模式则直接发送。
服务器端接收后:直接使用小端模式的数据来处理。
使用小端模式的问题是:服务器端必须是小端模式,客户端需要根据本地字节序,判断是否需要转换通信数据的字节序。在客户端判断字节序然后进行转换时,由于客户端平台情况比较复杂,不同的CPU平台,不同的语言都会影响客户端的字节序,处理起来比较复杂。同时当有多种客户端同时连接一个服务平台时,每种客户端平台都要分别处理字节序问题,也显得很繁琐。
发明内容
本申请提供一种数据处理方法、系统及服务器。
根据本申请的第一方面,本申请提供一种数据处理方法,包括:
服务器端和客户端协商使用相同的数字作为魔数;
所述服务器端接收所述客户端发送的业务请求,所述业务请求包括所述客户端保存的所述魔数,读取所述业务请求中的所述魔数,并判断所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序是否相同;
所述服务器端根据判断的结果处理所述业务请求。
上述方法中,所述服务器端根据判断的结果处理所述业务请求,具体包括:
如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序相同,则直接处理所述业务请求;
如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序不同,则所述服务器先转换所述业务请求的字节序,再处理所述业务请求。
上述方法中,所述业务请求包括请求头和请求体,所述请求头包括魔数、指令号和指令长度,所述请求体包括字段类型、字段长度和字段值;
所述转换所述业务请求的字节序,具体包括:
转换所述指令号和所述指令长度的字节序,按所述指令长度接收所述请求体,转换所述请求体中所述字段类型、所述字段长度和所述字段值的字节序。
上述方法中,所述服务器端根据判断的结果处理所述业务请求后,还包括:
所述服务器端根据业务请求处理的结果向所述客户端发送响应:如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序相同,则直接发送响应;如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序不同,则服务器先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
根据本申请的第二方面,本申请提供一种数据处理方法,包括:
客户端和服务器端协商使用相同的数字作为魔数,并分别根据本地的字节序保存魔数;
所述客户端向所述服务器端发送业务请求,所述业务请求包括所述客户端保存的所述魔数;
所述服务器端接收所述业务请求,读取所述请求头中的所述魔数,并判断所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序是否相同;
所述服务器端根据判断的结果处理所述业务请求。
根据本申请的第三方面,本申请提供一种服务器,包括第一协议模块、比较模块和处理模块;所述第一协议模块用于和客户端建立通信连接,协商使用相同的数字作为魔数,并保存服务器端的所述魔数;所述比较模块用于接收所述客户端发送的业务请求,所述业务请求包括所述客户端保存的所述魔数,所述比较模块还用于读取所述请求头中的所述魔数,并判断所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序是否相同;所述处理模块用于根据判断的结果处理所述业务请求。
上述服务器,所述处理模块还用于在所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序相同时,直接处理所述业务请求;在所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序不同时,先转换所述业务请求的字节序,再处理所述业务请求。
上述服务器,所述处理模块还用于转换所述指令号和所述指令长度的字节序,按所述指令长度接收所述请求体,转换所述请求体中所述字段类型、所述字段长度和所述字段值的字节序。
上述服务器,还包括响应模块,所述响应模块用于根据业务请求处理的结果向所述客户端发送响应,如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序相同,则直接发送响应;如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序不同,则先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
根据本申请的第四方面,本申请提供一种数据处理系统,包括用户终端和服务器,所述用户终端包括第二协议模块和发送模块,所述服务器包括第一协议模块、比较模块和处理模块;
所述第一协议模块和所述第二协议模块用于在服务器和用户终端之间建立通信连接,协商使用相同的数字作为魔数,并分别根据本地的字节序保存所述魔数;
所述发送模块用于向所述服务器端发送业务请求,所述业务请求包括所述第二协议模块保存的所述魔数;
所述比较模块用于接收所述客户端发送的业务请求,所述业务请求包括所述客户端保存的所述魔数,所述比较模块还用于读取所述请求头中的所述魔数,并判断所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序是否相同;
所述处理模块用于根据判断的结果处理所述业务请求。
由于采用了以上技术方案,使本申请具备的有益效果包括:
在本申请的具体实施方式中,由于服务器端和客户端协商使用相同的数字作为魔数,服务器端通过判断客户端保存的魔数与服务器端保存的魔数的字节序是否相同,即可知道客户端的字节序与服务器端的字节序是否相同,并根据判断的结果处理业务请求。本申请只有服务器端判断出客户端的字节序与服务器端的字节序不相同时,才需在服务器端转换业务请求的字节序,客户端直接发送业务请求而无需其他任何操作;本申请对客户端的字节序和服务器端的字节序均无要求,适用性强;由于服务器平台相对固定,因而简化整个系统的开发。
附图说明
图1为本申请的数据处理方法在一种实施方式中的流程图;
图2为本申请的数据处理方法在另一种实施方式中的流程图;
图3为本申请的数据处理方法的一种具体应用例的流程图;
图4为本申请的服务器在一种实施方式中的结构示意图;
图5为本申请的数据处理系统在一种实施方式中的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本申请作进一步详细说明。
本申请中,客户端与服务器建立通信协议,通信协议包含协议头与协议体两部分,协议头中有一个字段为魔数。客户端与服务器通信时,需要协商使用相同的数字作为魔数。服务器端接收到客户端的数据,根据接收的协议头中的魔数值,判断客户端字节序,如果客户端的魔数与服务器端的魔数字节序相同,表示客户端字节序与服务器端字节序相同。否则表示客户端与服务器端的字节序不同。
在客户端字节序与服务器端字节序不同时,服务器需要对接收到的请求头与请求体进行字节序转换。处理完逻辑后,服务器发送响应消息,同样,如果客户端字节序与服务器端字节序不同,需要转换响应头及响应体,客户端字节序与服务器端字节序相同则直接发送。
本应用层通信协议中包含一个指令头和一个指令体。指令头包括一个魔数(magic),一个指令号(cmd)及一个长度(len)字段。指令体为请求的内容,指令体长度为指令头中的长度字段。
其C语言的定义格式为:
一个tlv结构表示一个字段值。type为该字段的类型,length为值的长度。value为具体的值。
实施例一:
如图1所示,本申请的数据处理方法,其一种实施方式,包括以下步骤:
步骤102:服务器端和客户端协商使用相同的数字作为魔数;客户端与服务器通信时,需要协商使用相同的数字作为魔数。
业务请求包括请求头和请求体,请求头包括魔数、指令号和指令长度,请求体包括字段类型、字段长度和字段值。
步骤104:服务器端接收客户端发送的业务请求,业务请求包括客户端保存的魔数,服务器端读取业务请求中的魔数,并判断客户端保存的魔数与服务器端保存的魔数的字节序是否相同;
步骤106:服务器端根据判断的结果处理业务请求。服务器端根据判断的结果处理业务请求,具体包括:如客户端保存的魔数与服务器端保存的魔数的字节序相同,则直接处理业务请求。如客户端保存的魔数与服务器端保存的魔数的字节序不同,则先转换业务请求的字节序,再处理所述业务请求。如果两种情况都不是,则表示当前包为一个非法的数据包,直接关闭网络连接,结束本次服务。
转换业务请求的字节序包括两种情况,大端模式转换为小端模式,小端模式转换为大端模式。其中,转换业务请求的字节序,具体包括:转换指令号和指令长度的字节序,按指令长度接收请求体,再转换请求体中字段类型、字段长度和字段值的字节序。
本申请的数据处理方法,步骤106后还可以包括:
步骤108:服务器端根据业务请求处理的结果向客户端发送响应。响应包括响应头和响应体,响应头包括魔数、指令号和指令长度,响应体包括字段类型、字段长度和字段值。如客户端的字节序与服务器端的字节序相同,则直接发送响应,如客户端的字节序与服务器端的字节序不同,则先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
实施例二:
如图2所示,本申请的数据处理方法,其一种实施方式,包括:
步骤202:客户端和服务器端协商使用相同的数字作为魔数,并分别根据本地的字节序保存魔数。客户端与服务器通信时,需要协商使用相同的数字作为魔数。
步骤204:客户端向服务器端发送业务请求,业务请求包括客户端保存的魔数。业务请求包括请求头和请求体,请求头包括魔数、指令号和指令长度,请求体包括字段类型、字段长度和字段值。
步骤206:服务器端接收业务请求,读取请求头中的魔数,并判断客户端保存的魔数与服务器端保存的魔数的字节序是否相同。
步骤208:服务器端根据判断的结果处理业务请求。服务器端根据判断的结果处理业务请求,具体包括:如客户端保存的魔数与服务器端保存的魔数的字节序相同,则直接处理业务请求。如客户端保存的魔数与服务器端保存的魔数的字节序不同,则先转换业务请求的字节序,再处理所述业务请求。如果两种情况都不是,则表示当前包为一个非法的数据包,直接关闭网络连接,结束本次服务。
转换业务请求的字节序包括两种情况,大端模式转换为小端模式,小端模式转换为大端模式。其中,转换业务请求的字节序,具体包括:转换指令号和指令长度的字节序,按指令长度接收请求体,再转换请求体中字段类型、字段长度和字段值的字节序。
本申请的数据处理方法,步骤208后还可以包括:
步骤210:服务器端根据业务请求处理的结果向客户端发送响应。响应包括响应头和响应体,响应头包括魔数、指令号和指令长度,响应体包括字段类型、字段长度和字段值。如客户端的字节序与服务器端的字节序相同,则直接发送响应,如客户端的字节序与服务器端的字节序不同,则先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
图3为本申请的数据处理方法的一种具体应用例的流程图。本例中,假设服务器采用小端模式(大端模式处理过程可类推),请结合图3理解以下步骤:
首先,客户端设置魔数、指令号及指令长度。在本例中,魔数设置为0x12345678。本步骤中设置的魔数,指令号及指令长度都采用本地字节序,可能是大端模式也可能是小端模式。在本步骤中,由于计算机平台特性,0x12345678如以大端模式存储,按从低到高4个字节分别是12|34|56|78,相应的以小端模式存储,按从低到高4个字节是:78|56|34|12。
接着,客户端向服务器端发送业务请求。客户端通过socket发送请求头及请求体到服务器端。如前所述在本例中,假定服务器的字节序为小端模式。
服务器端接收业务请求,读取请求头中的魔数,并判断客户端保存的魔数与服务器端保存的魔数的字节序是否相同:先判断客户端魔数的字节序,如果是大端模式,即读取的魔数为0x12345678,则因为服务器为小端模式,需要将指令号及指令长度转换成小端模式,转换方式为对调数据的高低位,再继续接收指令体。如果是小端模式,即读取的魔数为0x78563412,则不必转换。如果两种都不是,则表示当前包为一个非法的数据包,直接关闭网络连接,结束本次服务。
依上述两种情况分别处理后,按len的长度接收指令体。
同样,根据读取到的魔数的字节序,依对请求头的类似处理规则对接收的指令体进行处理:如果是大端模式,循环转换各个tlv结构中的type,length及value的字节序为小端模式,再进行业务请求的逻辑处理。如果是小端模式,则不需转换直接处理。
然后,服务器端处理业务请求。
最后,服务器端向客户端发送响应。发送响应时,同样要根据魔数判断服务器与客户端的字节序是否一致,因为本例中服务器端是小端模式,如果判定客户端是大端模式,需将响应头转换成大端模式,同时将响应体中的tlv都转换成大端模式,再发送回客户端。否则直接发送。
实施例三:
如图4所示,本申请的服务器,其一种实施方式,包括第一协议模块、比较模块和处理模块。第一协议模块用于和客户端建立通信,协商使用相同的数字作为魔数,并保存服务器端的所述魔数。比较模块用于接收客户端发送的业务请求,业务请求包括客户端保存的魔数,比较模块还用于读取请求头中的魔数,并判断客户端保存的魔数与第一协议模块保存的服务器端的魔数的字节序是否相同。业务请求包括请求头和请求体,请求头包括魔数、指令号和指令长度,请求体包括字段类型、字段长度和字段值。处理模块用于根据判断的结果处理业务请求。
在客户端保存的魔数与第一协议模块保存的魔数的字节序相同时,处理模块直接处理业务请求;在客户端保存的魔数与第一协议模块保存的魔数的字节序不同时,处理模块先转换业务请求的字节序,再处理业务请求。如果两种情况都不是,则表示当前包为一个非法的数据包,直接关闭网络连接,结束本次服务。
处理模块还可用于转换指令号和指令长度的字节序,按指令长度接收请求体,转换请求体中字段类型、字段长度和字段值的字节序。转换业务请求的字节序包括两种情况,大端模式转换为小端模式,小端模式转换为大端模式。其中,转换业务请求的字节序,具体包括:转换指令号和指令长度的字节序,按指令长度接收请求体,再转换请求体中字段类型、字段长度和字段值的字节序。
本申请的服务器,还可以包括响应模块,响应模块用于根据业务请求处理的结果向客户端发送响应。响应包括响应头和响应体,响应头包括魔数、指令号和指令长度,响应体包括字段类型、字段长度和字段值。如客户端的字节序与服务器端的字节序相同,则直接发送响应,如客户端的字节序与服务器端的字节序不同,则先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
实施例四:
如图5所示,本申请的数据处理系统,其一种实施方式,包括用户终端和服务器,用户终端包括第二协议模块和发送模块,服务器包括第一协议模块、比较模块和处理模块。第一协议模块和第二协议模块用于在服务器和用户终端之间建立通信连接,协商使用相同的数字作为魔数,并分别根据本地的字节序保存魔数。第一协议模块用于根据服务器的字节序保存魔数。第二协议模块用于根据用户终端的字节序保存魔数。发送模块用于向服务器发送业务请求,业务请求包括第二协议模块保存的魔数。业务请求包括请求头和请求体,请求头包括魔数、指令号和指令长度,请求体包括字段类型、字段长度和字段值。比较模块用于接收客户端发送的业务请求,业务请求包括客户端保存的魔数,比较模块还用于读取请求头中的魔数,并判断客户端保存的魔数与第一协议模块保存的魔数的字节序是否相同。处理模块用于根据判断的结果处理业务请求。
处理模块还可用于在第二协议模块保存的魔数与第一协议模块保存的魔数的字节序相同时,直接处理业务请求;在第二协议模块保存的魔数与第一协议模块保存的魔数的字节序不同时,先转换业务请求的字节序,再处理业务请求。如果两种情况都不是,则表示当前包为一个非法的数据包,直接关闭网络连接,结束本次服务。
处理模块还可用于转换指令号和指令长度的字节序,按指令长度接收请求体,转换请求体中字段类型、字段长度和字段值的字节序。转换业务请求的字节序包括两种情况,大端模式转换为小端模式,小端模式转换为大端模式。其中,转换业务请求的字节序,具体包括:转换指令号和指令长度的字节序,按指令长度接收请求体,再转换请求体中字段类型、字段长度和字段值的字节序。
本申请的服务器,还可以包括响应模块,响应模块用于根据业务请求处理的结果向客户端发送响应。响应包括响应头和响应体,响应头包括魔数、指令号和指令长度,响应体包括字段类型、字段长度和字段值。如客户端的字节序与服务器端的字节序相同,则直接发送响应,如客户端的字节序与服务器端的字节序不同,则先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
在本发明中,服务器端可以根据魔数自动识别客户端的字节序模式,然后进行转换,并且所有字节序转换在服务器完成,客户端可免此负担。因此,所有大端模式与小端模式的客户端接入时都不需要考虑字节序问题,可以直接以本地序发送,服务器能完全兼容这两个模式。
以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
服务器端和客户端协商使用相同的数字作为魔数;
所述服务器端接收所述客户端发送的业务请求,所述业务请求包括所述客户端保存的所述魔数,读取所述业务请求中的所述魔数,并判断所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序是否相同;
所述服务器端根据判断的结果处理所述业务请求。
2.如权利要求1所述的数据处理方法,其特征在于,所述服务器端根据判断的结果处理所述业务请求,具体包括:
如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序相同,则直接处理所述业务请求;
如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序不同,则所述服务器先转换所述业务请求的字节序,再处理所述业务请求。
3.如权利要求2所述的数据处理方法,其特征在于,
所述业务请求包括请求头和请求体,所述请求头包括魔数、指令号和指令长度,所述请求体包括字段类型、字段长度和字段值;
所述转换所述业务请求的字节序,具体包括:
转换所述指令号和所述指令长度的字节序,按所述指令长度接收所述请求体,转换所述请求体中所述字段类型、所述字段长度和所述字段值的字节序。
4.如权利要求1所述的数据处理方法,其特征在于,所述服务器端根据判断的结果处理所述业务请求后,还包括:
所述服务器端根据业务请求处理的结果向所述客户端发送响应:如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序相同,则直接发送响应;如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序不同,则服务器先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
5.一种数据处理方法,其特征在于,包括:
客户端和服务器端协商使用相同的数字作为魔数,并分别根据本地的字节序保存魔数;
所述客户端向所述服务器端发送业务请求,所述业务请求包括所述客户端保存的所述魔数;
所述服务器端接收所述业务请求,读取所述请求头中的所述魔数,并判断所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序是否相同;
所述服务器端根据判断的结果处理所述业务请求。
6.一种服务器,其特征在于,包括第一协议模块、比较模块和处理模块;所述第一协议模块用于和客户端建立通信连接,协商使用相同的数字作为魔数,并保存服务器端的所述魔数;所述比较模块用于接收所述客户端发送的业务请求,所述业务请求包括所述客户端保存的所述魔数,所述比较模块还用于读取所述请求头中的所述魔数,并判断所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序是否相同;所述处理模块用于根据判断的结果处理所述业务请求。
7.如权利要求6所述的服务器,其特征在于,所述处理模块还用于,在所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序相同时,直接处理所述业务请求;在所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序不同时,先转换所述业务请求的字节序,再处理所述业务请求。
8.如权利要求7所述的服务器,其特征在于,所述业务请求包括请求头和请求体,所述请求头包括魔数、指令号和指令长度,所述请求体包括字段类型、字段长度和字段值;所述处理模块还用于转换所述指令号和所述指令长度的字节序,按所述指令长度接收所述请求体,转换所述请求体中所述字段类型、所述字段长度和所述字段值的字节序。
9.如权利要求6所述的服务器,其特征在于,还包括响应模块,所述响应模块用于根据业务请求处理的结果向所述客户端发送响应,如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序相同,则直接发送响应;如所述客户端保存的所述魔数与所述服务器端保存的所述魔数的字节序不同,则先根据客户端的字节序转换响应的字节序,将响应转换为与客户端的字节序一致,再发送给客户端。
10.一种数据处理系统,其特征在于,包括用户终端和服务器,所述用户终端包括第二协议模块和发送模块,所述服务器包括第一协议模块、比较模块和处理模块;
所述第一协议模块和所述第二协议模块用于在服务器和用户终端之间建立通信连接,协商使用相同的数字作为魔数,并分别根据本地的字节序保存所述魔数;
所述发送模块用于向所述服务器端发送业务请求,所述业务请求包括所述第二协议模块保存的所述魔数;
所述比较模块用于接收所述客户端发送的业务请求,所述业务请求包括所述客户端保存的所述魔数,所述比较模块还用于读取所述请求头中的所述魔数,并判断所述客户端保存的所述魔数与所述第一协议模块保存的所述魔数的字节序是否相同;
所述处理模块用于根据判断的结果处理所述业务请求。
CN201310359412.XA 2013-08-16 2013-08-16 一种数据处理方法、系统及服务器 Pending CN104378336A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310359412.XA CN104378336A (zh) 2013-08-16 2013-08-16 一种数据处理方法、系统及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310359412.XA CN104378336A (zh) 2013-08-16 2013-08-16 一种数据处理方法、系统及服务器

Publications (1)

Publication Number Publication Date
CN104378336A true CN104378336A (zh) 2015-02-25

Family

ID=52556994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310359412.XA Pending CN104378336A (zh) 2013-08-16 2013-08-16 一种数据处理方法、系统及服务器

Country Status (1)

Country Link
CN (1) CN104378336A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354568A (zh) * 2016-08-23 2017-01-25 京信通信技术(广州)有限公司 一种不同进程间的通信方法及通信装置
CN107357749A (zh) * 2016-05-09 2017-11-17 大唐移动通信设备有限公司 一种消息的处理方法和装置
CN109067919A (zh) * 2018-09-26 2018-12-21 杭州斯凯网络科技有限公司 在2g网络状态下实现快速网络请求的方法
CN109298866A (zh) * 2018-09-26 2019-02-01 杭州米加科技股份有限公司 基于c语言的tlv格式协议快速解析方法
CN109428885A (zh) * 2017-08-22 2019-03-05 罗伯特·博世有限公司 用于保护设备的方法和装置
CN110096373A (zh) * 2019-03-18 2019-08-06 中国平安人寿保险股份有限公司 服务器访问方法、装置、电子设备及存储介质
CN111953639A (zh) * 2019-05-17 2020-11-17 大唐移动通信设备有限公司 有头链路通信方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1284673A (zh) * 1999-05-31 2001-02-21 德国汤姆森-布兰特有限公司 数据包预处理方法及其中的总线接口和数据处理单元
CN1838666A (zh) * 2005-03-24 2006-09-27 华为技术有限公司 一种跨操作系统平台的字节序转换方法
US20160154596A1 (en) * 2014-12-01 2016-06-02 Micron Technology, Inc. Multiple endianness compatibility

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1284673A (zh) * 1999-05-31 2001-02-21 德国汤姆森-布兰特有限公司 数据包预处理方法及其中的总线接口和数据处理单元
CN1838666A (zh) * 2005-03-24 2006-09-27 华为技术有限公司 一种跨操作系统平台的字节序转换方法
US20160154596A1 (en) * 2014-12-01 2016-06-02 Micron Technology, Inc. Multiple endianness compatibility

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
欧阳伟: "CORBA中间件协议层优化研究", 《中南大学硕士学位论文》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357749A (zh) * 2016-05-09 2017-11-17 大唐移动通信设备有限公司 一种消息的处理方法和装置
CN107357749B (zh) * 2016-05-09 2020-03-17 大唐移动通信设备有限公司 一种消息的处理方法和装置
CN106354568A (zh) * 2016-08-23 2017-01-25 京信通信技术(广州)有限公司 一种不同进程间的通信方法及通信装置
CN109428885A (zh) * 2017-08-22 2019-03-05 罗伯特·博世有限公司 用于保护设备的方法和装置
CN109428885B (zh) * 2017-08-22 2022-11-08 罗伯特·博世有限公司 用于保护设备的方法和装置
CN109067919A (zh) * 2018-09-26 2018-12-21 杭州斯凯网络科技有限公司 在2g网络状态下实现快速网络请求的方法
CN109298866A (zh) * 2018-09-26 2019-02-01 杭州米加科技股份有限公司 基于c语言的tlv格式协议快速解析方法
CN110096373A (zh) * 2019-03-18 2019-08-06 中国平安人寿保险股份有限公司 服务器访问方法、装置、电子设备及存储介质
CN111953639A (zh) * 2019-05-17 2020-11-17 大唐移动通信设备有限公司 有头链路通信方法和装置
CN111953639B (zh) * 2019-05-17 2021-11-12 大唐移动通信设备有限公司 有头链路通信方法和装置

Similar Documents

Publication Publication Date Title
CN104378336A (zh) 一种数据处理方法、系统及服务器
AU741089B2 (en) TCP/IP/PPP modem
Grigorik Making the web faster with HTTP 2.0
US20170171075A1 (en) Co-existence of routable and non-routable rdma solutions on the same network interface
CN105282128B (zh) 一种基于长连接的双向调用方法及系统
US11330035B2 (en) Method and server for HTTP protocol-based data request
CN110417632B (zh) 一种网络通信方法、系统及服务器
US8135851B2 (en) Object request broker for accelerating object-oriented communications and method
US11416435B2 (en) Flexible datapath offload chaining
JP5261525B2 (ja) スマートカードと通信する装置においてメッセージのハッシュを計算する方法
CN114125940A (zh) 数据报文发送方法、处理方法、装置、设备及数据报文
CN115202573A (zh) 数据存储系统以及方法
CN107172048A (zh) 一种基于smb协议的多通道实现方法及装置
CN105323236B (zh) 用于经由多态安全代理来检查在线通信会话的系统、方法和装置
TWI452886B (zh) 映射統一參數的方法
US10362093B2 (en) NFA completion notification
CN109639555B (zh) 链路层报文生成方法、链路层报文生成装置及终端设备
US9218351B2 (en) Information processing apparatus, storage medium, and control method
EP3631640B1 (en) Communication between field programmable gate arrays
US8176117B2 (en) Accelerator for object-oriented communications and method
CN113572695A (zh) 链路聚合方法、装置、计算设备及计算机存储介质
CN110647432A (zh) 一种pcie性能测试方法与装置
EP2979428B1 (en) Efficient socket transfer
US9729353B2 (en) Command-driven NFA hardware engine that encodes multiple automatons
US11188339B2 (en) System and method for an external processor to access internal registers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150225