发明内容
有鉴于此,本发明提供一种网络数据处理方法及装置、数据发送方法及装置,所述方法和装置能够在保证网络数据安全的同时,不会过度增加CPU的消耗。
基于上述目的本发明提供的一种网络数据处理方法,包括如下步骤:
接收客户端向服务器端发出的网络请求数据;
根据预先专门设定的协议,从所述网络请求数据解压解析所得到的二进制流数据中解析得出客户端的操作内容数据以及身份验证数据;
当身份验证数据通过校验时,根据所述操作内容数据对服务器端执行相应的网络操作。
可选的,所述根据预先专门设定的协议、从所述网络数据解压解析所得到的二进制流数据中解析得到操作内容数据以及身份验证数据的步骤具体包括:
解压获取所述网络请求数据的原始二进制流;
根据预先专门设定的协议,从所述原始二进制流中解析出系统版本号二进制序列、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限信息以及其它参数。
可选的,根据所述操作内容数据对服务器端执行相应的网络操作的步骤具体包括:
根据系统版本号、请求码获得对应的核心服务存根,并根据所述远程调用服务名和远程调用方法名从所述核心服务存根中查询对应服务;
结合查询到的对应服务以及所述其它参数对服务器进行操作。
可选的,接收发送方向接收方发出的网络数据之前,还包括:
接收用户向公网服务器发出的身份验证请求;
从所述身份验证请求的二进制流数据中解析出用户口令和硬件ID;
从预设的记录中,根据用户口令和硬件ID验证用户身份;
当用户身份验证通过时,生成该用户的身份验证令牌;
将预设记录中与用户对应的用户权限信息和上述身份验证令牌作为对应用户的身份验证信息,转换为二进制流,发送给客户端。
可选的,根据所述操作内容数据执行相应的网络操作之后,所述方法还包括:
获得对服务器端执行相应网络操作的反馈数据;
将执行相应网络操作的反馈数据转换为二进制流,压缩回传给客户端。
同时,本发明还提供一种网络数据发送方法,包括在客户端执行的如下步骤:
按照预先设定的协议中规定的格式,将原始网络操作请求消息和预先保存的用户验证信息转换成网络请求数据;
将网络请求数据的二进制流数据压缩并发送;
接收服务器响应所述网络请求数据的反馈数据所转换的二进制流数据。
可选的,所述请求数据的二进制流数据包括:系统版本号、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限以及其它参数。
可选的,所述方法还包括:
向公网服务器发送身份验证请求;
接收根据身份验证请求生成的身份验证令牌和根据身份验证请求查找到的用户操作权限信息;
将身份验证令牌和用户操作权限信息作为用户身份验证数据保存。
进一步,本发明提供一种网络操作处理装置,包括:
网络请求数据接收模块:用于接收客户端向服务器端发出的网络请求数据;
网络请求数据解压解析模块:用于根据预先专门设定的协议,从所述网络请求数据解压解析所得到的二进制流数据中解析得出客户端的操作内容数据以及身份验证数据;
网络操作执行模块:当身份验证数据通过校验时,根据所述操作内容数据对服务器端执行相应的网络操作。
可选的,所述网络请求数据解压解析模块具体包括:
网络请求数据解压单元:用于解压获取所述网络请求数据的原始二进制流;
网络请求数据解析单元:用于根据预先专门设定的协议,从所述原始二进制流中解析出系统版本号二进制序列、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限信息以及其它参数。
可选的,网络操作执行模块具体包括:
服务查找单元:用于根据系统版本号、请求码获得对应的核心服务存根,并根据所述远程调用服务名和远程调用方法名从所述核心服务存根中查询对应服务;
操作执行单元:用于结合查询到的对应服务以及所述其它参数对服务器进行操作。
可选的,所述装置还包括:
身份验证请求接收模块:用于接收用户向公网服务器发出的身份验证请求;
身份验证请求解析模块:用于从所述身份验证请求的二进制流数据中解析出用户口令和硬件ID;
身份验证执行模块:用于从预设的记录中,根据用户口令和硬件ID验证用户身份;
身份验证令牌生成模块:用于当用户身份验证通过时,生成该用户的身份验证令牌;
身份验证令牌发送模块:用于将预设记录中与用户对应的用户权限信息和上述身份验证令牌作为对应用户的身份验证信息,转换为二进制流,发送给客户端。
可选的,所述装置还包括:
反馈数据获得模块:用于获得对服务器端执行相应网络操作的反馈数据;
反馈数据回传模块:用于将执行相应网络操作的反馈数据转换为二进制流,压缩回传给客户端。
进一步,本发明还提供一种网络操作数据发送装置,用于客户端向服务器端发送网络操作数据,包括:
网络操作数据转换模块:用于按照预先设定的协议中规定的格式,将原始网络操作请求消息和预先保存的用户验证信息转换成网络操作数据;
网络操作数据压缩发送模块:用于将网络操作数据的二进制流数据压缩并发送;
反馈数据接收模块:用于接收服务器响应所述网络操作数据的反馈数所转换的二进制流数据。
可选的,所述网络操作数据的二进制流数据包括:系统版本号、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限以及其它参数。
可选的,所述装置还包括:
身份验证请求发送模块:用于向公网服务器发送身份验证请求;
身份验证令牌接收模块:用于接收根据身份验证请求生成的身份验证令牌;
用户操作权限信息接收模块:用于接收根据身份验证请求查找到的用户操作权限信息;
用户身份验证数据管理模块:用于将身份验证令牌和用户操作权限信息作为用户身份验证数据保存。
从上面所述可以看出,本发明提供的本发明及其实施例提供的网络数据处理方法及装置,采用的预先设定的协议不同于现有技术中一般普遍使用的http、https协议,在网络传输过程中,数据不容易被他人窃取、篡改、或重定向。本发明所使用的身份验证令牌,由服务端生成、转换为二进制流发送给客户端,然后由客户端进行存储,身份验证令牌在使用过程中始终处于非公开的状态,不容易被他人恶意窃取,为网络数据的安全传输提供了报障。同时,本发明及其实施例所提供的网络数据发送方法,将用户的网络操作数据转换成二进制流发送,并在发送的网络操作数据中携带预先保存的身份验证信息,从而使得网络数据的发送具有更高的安全性。同时,本发明提供的方法,仅需要在客户端和服务器端按照预定协议对网络操作数据进行二进制流的转换,无需复杂的运算,不会对CPU运行造成过多的负担。
具体实施方式
为了给出有效的实现方案,本发明提供了下述实施例,以下结合说明书附图对本发明实施例进行说明。
本发明首先提供一种网络数据处理方法,如图1所示,包括如下步骤:
步骤101:接收客户端向服务器端发出的网络请求数据;
步骤102:根据预先专门设定的协议,从所述网络请求数据解压解析所得到的二进制流数据中解析得出客户端的操作内容数据以及身份验证数据;
步骤103:当身份验证数据通过校验时,根据所述操作内容数据对服务器端执行相应的网络操作。
从上面所述可以看出,本发明提供的网络数据处理方法,根据网络请求数据解压解析所得到的二进制流数据中所包含的身份验证数据对用户的身份和权限进行验证,当验证通过过后,根据网络请求数据解压解析所得到的二进制流数据中所包含的用户的客户端的操作内容数据对服务器端执行相应的网络操作,从而在用户通过客户端向服务器端发送网络请求数据的过程中,无需通过SSL进行数据加密,也无需服务器端安装第三方认证机构的CA证书,身份认证和网络操作的执行都是对网络操作请求解压获得的二进制流数据,然后通过预设协议从二进制流数据中解析获得身份认证信息和网络操作的操作内容数据执行,从而使得CPU不会因为执行客户端的网络请求数据加密而增加运行负担,由于本发明通过二进制流数据中的身份认证信息进行验证,同时采用不同于http或https的预先设定的协议,因此,客户端发送的网络请求数据的安全性也得到了报障。
在本发明的具体实施例中,所述网络操作请求包括内容服务请求、应用服务请求、或数据服务请求。当用户通过客户端向服务器端发送关于较大的数据的请求时,如视频内容请求等,所述网络请求为内容服务请求;当用户通过客户端的应用程序向相应的应用服务器发送请求时,所述网络操作请求为应用服务请求;当用户所请求的内容涉及私密敏感信息,如查询银行账户额度等,所述网络操作请求为数据服务请求。
由于在现有技术的网络数据传送过程中,加密和解密,一般都会用到比较严格的加密和解密算法,如MD5、SHA、DES、IDEA等等,这些算法加密解密时,都会消耗CPU,特别是用户数量急剧增加、需要加密解压的数据量大的情况下,对提供加密解密的服务器的压力是非常大。另一方面,由于计算机原始的语言就是机器语言,即二进制,因此系统对数据进行二进制的转换、压缩、解压等操作很容易,而且非常快速的,对CPU的消耗相对于传统加密解密算法而也是会小很多。
在本发明一些实施例中,所述根据预先专门设定的协议、从所述网络数据解压解析所得到的二进制流数据中解析得到操作内容数据以及身份验证数据的步骤具体包括:
解压获取所述网络请求数据的原始二进制流;
根据预先专门设定的协议,从所述原始二进制流中解析出系统版本号二进制序列、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限信息以及其它参数。
在本发明具体实施例中,根据预设的协议,所述网络请求数据格式如图2所示,依次包括如下信息段:系统版本号二进制序列、请求码二进制序列、远程调用服务名二进制序列、远程调用方法名二进制序列、令牌二进制序列、参数二进制序列。所述参数二进制序列包括一个或多个参数的二进制序列。其中,请求码二进制序列、远程调用方法名二进制序列用于确定客户端所请求的操作内容,例如视频内容请求、应用消息传输请求、敏感数据查询请求等。
参数二进制序列是对远程调用方法名的补充,如客户需要安装宽带,通过客户端发送安装宽带的网络请求数据,安装宽带为远程调用方法名,即远程调用方法名二进制序列用于指示用户请求安装宽带;用户在请求安装宽带的同时,可能会伴随有一限定条件,比如需要装40M宽带,办理半年业务,那么,此时在参数二进制序列中表示出用户请求安装宽带的限定条件,即参数二进制序列用于指示用户请求安装40M宽带以及办理半年宽带业务。
再如,在本发明具体实施例中,用户需要观看网络视频,通过客户端发送观看网络视频的网络请求数据,视频播放为远程调用服务名,即此时远程调用服务名二进制序列用于指示用户请求播放视频;用户可能在具体场景下请求观看某一名称的高清视频,那么,此时参数二进制序列用于指示用户请求观看的视频名称、视频格式等。
在本发明具体实施例中,远程调用服务名和远程调用方法名一般都是字母组合字符。在特殊情况下,若远程调用服务名或远程调用方法名包括汉字字符,在国际范围中,也都定义了相应的汉字字符编码标准,如UTF-8,GBK,GBK2312。在具体实施例中,采用GBK编码方式,可将汉字字符转换为二进制序列,如“方正”对应二进制编码为10110111101111011101010111111101。
在本发明具体实施例中,可构建一个网络操作系统,用于通过执行本发明各个实施例所提供的方法以实现本发明的发明目的,由于该系统会随着时间而进行更新和改进,因此,在本发明具体实施例中,在用户通过客户端发送的网络请求数据中,还包括系统版本号信息,以便根据客户端发送的网络请求数据快速地确定出用户请求的操作内容。
在本发明一些实施例中,根据所述操作内容数据对服务器端执行相应的网络操作的步骤具体包括:
根据系统版本号、请求码获得对应的核心服务存根,并根据所述远程调用服务名和远程调用方法名从所述核心服务存根中查询对应服务;
结合查询到的对应服务以及所述其它参数对服务器进行操作。
在本发明具体实施例中,客户可能连续发出多个请求,但是请求结果可能不是按请求顺序返回,每个请求协带请求码,则可以让请求与请求结果保持一一对应。所述核心服务存根为服务列表,即用户所请求的服务的集合,例如邮件收发服务、账户查询服务、即时通信服务等。
在本发明一些实施例中,接收发送方向接收方发出的网络数据之前,还包括:
接收用户向公网服务器发出的身份验证请求;
从所述身份验证请求的二进制流数据中解析出用户口令和硬件ID;
从预设的记录中,根据用户口令和硬件ID验证用户身份;
当用户身份验证通过时,生成该用户的身份验证令牌;
将预设记录中与用户对应的用户权限信息和上述身份验证令牌作为对应用户的身份验证信息,转换为二进制流,发送给客户端。
在具体应用场景下,假设用户向公网服务器发送邮箱账号登陆请求,在用户发送邮箱账号登陆请求的同时,也请求公网服务器验证用户身份,向公网服务器发出身份验证请求。本发明实施例首先根据用户的身份验证请求二进制数据流,获取用户口令和硬件ID,根据用户口令和硬件ID从预设的用户数据库服务器中获取用户在该数据库中记录的相应信息,包括用户角色和用户权限信息等,以验证用户身份。当用户身份验证通过后,生成身份验证令牌,然后将用户权限信息和身份验证令牌转换为二进制流,压缩回传给客户。
所述用户角色用于指示用户所处的类别,如管理员、高级管理员等。所述用户权限用户限定用户能够执行的操作范围,例如管理员可以添加、删除信息,高级管理员可以设置管理员角色信息等。
在本发明具体实施例中,需建立和维护一个用户数据库,以存储和记录用户名称、用户硬件ID、用户身份验证所必须的信息、用户角色、用户权限等。
在本发明一些实施例中,根据所述操作内容数据执行相应的网络操作之后,所述方法还包括:
获得对服务器端执行相应网络操作的反馈数据;
将执行相应网络操作的反馈数据转换为二进制流,压缩回传给客户端。
在本发明具体实施例中,所述反馈数据包括视频等较大的数据、应用程序交互数据、敏感数据等。
本发明提供的网络数据处理方法,采用的预先设定的协议不同于现有技术中一般普遍使用的http、https协议,在网络传输过程中,数据不容易被他人窃取、篡改、或重定向。本发明所使用的身份验证令牌,由服务端生成、转换为二进制流发送给客户端,然后由客户端进行存储,身份验证令牌在使用过程中始终处于非公开的状态,不容易被他人恶意窃取,为网络数据的安全传输提供了报障。
同时,本发明提供一种网络操作数据发送方法,如图3所示,包括在客户端执行的如下步骤:
步骤301:按照预先设定的协议中规定的格式,将原始网络操作请求消息和预先保存的用户验证信息转换成网络请求数据;
步骤302:将网络请求数据的二进制流数据压缩并发送;
步骤303:接收服务器响应所述网络请求数据的反馈数据所转换的二进制流数据。
在本发明一些实施例中,所述网络操作数据包括:系统版本号、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限以及其它参数。
在本发明一些实施例中,所述方法还包括:
向公网服务器发送身份验证请求;
接收根据身份验证请求生成的身份验证令牌和用户操作权限信息;
将身份验证令牌和用户操作权限信息作为用户身份验证数据保存。
从上面所述可以看出,本发明所提供的网络数据发送方法,将用户的网络操作数据转换成二进制流发送,并在发送的网络操作数据中携带预先保存的身份验证信息,从而使得网络数据的发送具有更高的安全性。同时,本发明提供的方法,仅需要在客户端和服务器端按照预定协议对网络操作数据进行二进制流的转换,无需复杂的运算,不会对CPU运行造成过多的负担。
进一步,本发明提供一种网络操作处理装置,结构如图4所示,包括:
网络请求数据接收模块:用于接收客户端向服务器端发出的网络请求数据;
网络请求数据解压解析模块:用于根据预先专门设定的协议,从所述网络请求数据解压解析所得到的二进制流数据中解析得出客户端的操作内容数据以及身份验证数据;
网络操作执行模块:当身份验证数据通过校验时,根据所述操作内容数据对服务器端执行相应的网络操作。
在本发明一些实施例中,所述网络请求数据解压解析模块具体包括:
网络请求数据解压单元:用于解压获取所述网络请求数据的原始二进制流;
网络请求数据解析单元:用于根据预先专门设定的协议,从所述原始二进制流中解析出系统版本号二进制序列、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限信息以及其它参数。
在本发明一些实施例中,网络操作执行模块具体包括:
服务查找单元:用于根据系统版本号、请求码获得对应的核心服务存根,并根据所述远程调用服务名和远程调用方法名从所述核心服务存根中查询对应服务;
操作执行单元:用于结合查询到的对应服务以及所述其它参数对服务器进行操作。
在本发明一些实施例中,所述装置还包括:
身份验证请求接收模块:用于接收用户向公网服务器发出的身份验证请求;
身份验证请求解析模块:用于从所述身份验证请求的二进制流数据中解析出用户口令和硬件ID;
身份验证执行模块:用于从预设的记录中,根据用户口令和硬件ID验证用户身份;
身份验证令牌生成模块:用于当用户身份验证通过时,生成该用户的身份验证令牌;
身份验证令牌发送模块:用于将预设记录中与用户对应的用户权限信息和上述身份验证令牌作为对应用户的身份验证信息,转换为二进制流,发送给客户端。
在本发明一些实施例中,所述装置还包括:
反馈数据获得模块:用于获得对服务器端执行相应网络操作的反馈数据;
反馈数据回传模块:用于将执行相应网络操作的反馈数据转换为二进制流,压缩回传给客户端。
进一步,本发明还提供一种网络操作数据发送装置,结构如图5所示,用于客户端向服务器端发送网络操作数据,包括:
网络操作数据转换模块:用于按照预先设定的协议中规定的格式,将原始网络操作请求消息和预先保存的用户验证信息转换成网络操作数据;
网络操作数据压缩发送模块:用于将网络操作数据的二进制流数据压缩并发送;
反馈数据接收模块:用于接收服务器响应所述网络操作数据的反馈数所转换的二进制流数据。
在本发明一些实施例中,所述网络操作数据的二进制流数据包括:系统版本号、请求码、远程调用服务名、远程调用方法名、身份验证令牌、用户操作权限以及其它参数。
在本发明一些实施例中,所述装置还包括:
身份验证请求发送模块:用于向公网服务器发送身份验证请求;
身份验证令牌接收模块:用于接收根据身份验证请求生成的身份验证令牌;
用户操作权限信息接收模块:用于接收根据身份验证请求查找到的用户操作权限信息;
用户身份验证数据管理模块:用于将身份验证令牌和用户操作权限信息作为用户身份验证数据保存。
应当理解,本说明书所描述的多个实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。