一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据可靠传输方法、装置、计算机设备及存储介质与流程

2022-03-09 07:29:01 来源:中国专利 TAG:


1.本发明涉及数据传输技术领域,尤其涉及一种数据可靠传输方法、装置、计算机设备及存储介质。


背景技术:

2.应用层和传输层是iso国际标准组织所定义的开放系统互连七层模型中的两层。其中,应用层主要用于负责对软件提供接口以使程序能使用网络服务。传输层主要进行进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率,且按照网络能处理的最大尺寸将较长的数据包进行强制分割。
3.现有应用层采用tcp/ip协议进行数据传输,具体采用http协议进行数据处理,基于http协议对数据进行深度的协议封装,导致其在传输过程中包含有大量的无效信息,降低传输性能,不利于大规模数据的传输。


技术实现要素:

4.本发明实施例提供一种数据可靠传输方法、装置、计算机设备及存储介质,以解决现有数据在进行封装过程中包含大量无效信息而影响其传输性能的问题。
5.一种数据可靠传输方法,包括客户端执行的如下步骤:
6.客户端传输层接收携带终端标识的目标传输数据,获取所述目标传输数据对应的目标数据长度;
7.根据所述目标传输数据,生成所述目标传输数据对应的目标消息标识;
8.对所述目标传输数据进行序列化和压缩处理,获取序列压缩数据;
9.对所述序列压缩数据进行分段,获取携带分段顺序标识的至少两个原始分段数据;
10.采用所述终端标识、所述目标消息标识、所述目标数据长度和分段顺序标识,对每一所述原始分段数据进行封装,获取对应的目标分段数据;
11.基于所述分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将至少两个所述目标分段数据发送给服务器。
12.一种数据可靠传输装置,包括:
13.目标数据长度获取模块,用于客户端传输层接收携带终端标识的目标传输数据,获取所述目标传输数据对应的目标数据长度;
14.目标消息标识获取模块,用于根据所述目标传输数据,生成所述目标传输数据对应的目标消息标识;
15.序列压缩数据获取模块,用于对所述目标传输数据进行序列化和压缩处理,获取序列压缩数据;
16.原始分段数据获取模块,用于对所述序列压缩数据进行分段,获取携带分段顺序标识的至少两个原始分段数据;
17.目标分段数据获取模块,用于采用所述终端标识、所述目标消息标识、所述目标数据长度和分段顺序标识,对每一所述原始分段数据进行封装,获取对应的目标分段数据;
18.目标分段数据发送模块,用于基于所述分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将至少两个所述目标分段数据发送给服务器。
19.一种数据可靠传输方法,包括:
20.通过客户端传输层和服务器传输层之间的socket通信通道,接收客户端依序发送的至少两个目标分段数据;
21.解析所述目标分段数据,获取所述目标分段数据对应的终端标识、目标消息标识、目标数据长度、分段顺序标识和目标数据内容;
22.基于所述目标数据内容进行安全校验,获取所述目标分段数据对应的分段校验结果;
23.在所述分段校验结果为校验通过,且所述目标分段数据为所述目标消息标识对应的最后一个目标分段数据时,则根据所述分段顺序标识,对所述终端标识和所述目标消息标识相同的所有所述目标数据内容进行拼接,获取初始拼接数据;
24.对所述初始拼接数据进行解压缩和反序列化处理,获取有效拼接数据;
25.根据所述目标消息标识和所述目标数据长度,对所述有效拼接数据进行安全校验,获取拼接校验结果;
26.若所述拼接校验结果为校验通过,则将所述有效拼接数据,确定为目标传输数据。
27.一种数据可靠传输装置,包括:
28.目标分段数据接收模块,用于通过客户端传输层和服务器传输层之间的socket通信通道,接收客户端依序发送的至少两个目标分段数据;
29.目标分段数据解析模块,用于解析所述目标分段数据,获取所述目标分段数据对应的终端标识、目标消息标识、目标数据长度、分段顺序标识和目标数据内容;
30.分段校验结果获取模块,用于基于所述目标数据内容进行安全校验,获取所述目标分段数据对应的分段校验结果;
31.初始拼接数据获取模块,用于在所述分段校验结果为校验通过,且所述目标分段数据为所述目标消息标识对应的最后一个目标分段数据时,则根据所述分段顺序标识,对所述终端标识和所述目标消息标识相同的所有所述目标数据内容进行拼接,获取初始拼接数据;
32.有效拼接数据获取模块,用于对所述初始拼接数据进行解压缩和反序列化处理,获取有效拼接数据;
33.拼接校验结果获取模块,用于根据所述目标消息标识和所述目标数据长度,对所述有效拼接数据进行安全校验,获取拼接校验结果;
34.目标传输数据确认模块,用于若所述拼接校验结果为校验通过,则将所述有效拼接数据,确定为目标传输数据。
35.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据可靠传输方法。
36.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计
算机程序被处理器执行时实现上述数据可靠传输方法。
37.上述数据可靠传输方法、装置、计算机设备及存储介质,在客户端传输层对目标传输数据进行序列化、压缩、分段和封装处理,以形成目标分段数据,避免在应用层进行相应操作导致封装大量无效信息的情况出现,有助于保障目标分段数据的传输性能和传输效率;再通过客户端传输层和服务器传输层之间的socket通信通道传输目标分段数据,以保障目标分段数据传输的安全性和传输效率。
附图说明
38.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明一实施例中数据可靠传输方法的一应用环境示意图;
40.图2是本发明一实施例中数据可靠传输方法的一流程图;
41.图3是本发明一实施例中数据可靠传输方法的另一流程图;
42.图4是本发明一实施例中数据可靠传输装置的一示意图;
43.图5是本发明一实施例中数据可靠传输装置的另一示意图;
44.图6是本发明一实施例中计算机设备的一示意图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.本发明实施例提供的数据可靠传输方法,该数据可靠传输方法可应用如图1所示的应用环境中。具体地,该数据可靠传输方法应用在数据可靠传输系统中,该数据可靠传输系统包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于实现数据可靠传输,保障数据传输的安全性和传输性能。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
47.在一实施例中,如图2所示,提供一种数据可靠传输方法,该方法包括客户端执行的如下步骤:
48.s201:客户端传输层接收携带终端标识的目标传输数据,获取目标传输数据对应的目标数据长度;
49.s202:根据目标传输数据,生成目标传输数据对应的目标消息标识;
50.s203:对目标传输数据进行序列化和压缩处理,获取序列压缩数据;
51.s204:对序列压缩数据进行分段,获取携带分段顺序标识的至少两个原始分段数据;
52.s205:采用终端标识、目标消息标识、目标数据长度和分段顺序标识,对每一原始分段数据进行封装,获取对应的目标分段数据;
53.s206:基于分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将至少两个目标分段数据发送给服务器。
54.其中,终端标识是用于唯一识别发送目标传输数据的客户端的标识。目标传输数据是指本次需要传输的数据。目标数据长度是指目标传输数据的长度。
55.作为一示例,步骤s201中,客户端传输层可接收到用户操作客户端输入的携带终端标识的目标传输数据,该目标传输数据可理解为当前时刻需要传输给服务器的数据。本示例中,终端标识可以为16位的终端标识,目标数据长度为32位的数据长度。
56.其中,目标消息标识是用于唯一识别该目标传输数据的标识。
57.作为一示例,步骤s202中,客户端可采用预先配置的消息生成算法,对目标传输数据进行处理,以获取目标传输数据对应的目标消息标识。本示例中,客户端采用消息生成算法,对目标传输数据进行加密处理,以生成目标消息长度对应的目标消息标识。其中,消息生成算法是预先配置的用于对数据进行处理,生成消息标识的算法。
58.例如,客户端可采用但不限于md2/md3/md4/md5或者其他可生成唯一标识的消息生成算法,对目标传输数据进行处理,生成与目标消息长度相匹配的目标消息标识,既保障目标消息标识的唯一性。
59.其中,序列化处理是用于将数据转换成1或0的处理过程。压缩处理是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。
60.作为一示例,步骤s203中,客户端采用序列化方法(protobuf),将目标传输数据序列化,以转化机器可识别成1或0的序列化数据,以保障数据处理的可行性。再采用目标压缩算法对序列化数据进行压缩处理,获取序列压缩数据,有助于缩小数据量,提高后续数据传输的效率。
61.其中,原始分段数据是将序列压缩数据进行分段操作之后获取的数据。分段顺序标识是每一个原始分段数据的序号。
62.作为一示例,步骤s204中,客户端在获取至少两个原始分段数据之后,可采用系统默认设置或用户自主设置的目标分段长度(例如,1024*1024),对序列压缩数据进行分段,获取依序排序的至少两个原始分段数据。每个原始分段数据携带一分段顺序标识,该分段顺序标识为每一原始分段数据在所有原始分段数据中的顺序,以便后续利用分段顺序标识对所有原始分段数据进行拼接。本示例中,分段顺序标识是32位的分段顺序标识。
63.作为一示例,步骤s205中,客户端在获取到至少两个原始分段数据之后,需基于每一原始分段数据对应的终端标识、目标消息标识、目标数据长度和分段顺序标识,对每一原始分段数据进行封装,获取每一原始分段数据对应的目标分段数据。本示例中,客户端采用预先配置的协议封装顺序,将终端标识、目标消息标识、目标数据长度和分段顺序标识,封装成数据头部;再将数据头部和原始分段数据封装,获取每一原始分段数据对应的目标分段数据。协议封装顺序是预先配置的用于对头部信息进行封装的顺序。其中,目标分段数据是客户端形成并发送给服务器的分段数据。
64.其中,socket,又叫套接字,是一种软件形式的抽象,用于表达两台机器间一个连
接的“终端”。服务端的socket在服务端机器上特定的端口进行等待,客户端的socket绑定了服务端的ip地址以及它正在监听着的端口,所以两者通过ip和端口连接起来,就如同一条虚拟的通道。
65.作为一示例,步骤s206中,客户端在获取至少两个目标分段数据之后,需基于分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将至少两个目标分段数据发送给服务器,以保障客户端和服务器之间传输目标分段数据的安全性和传输效率。
66.本实施例所提供的数据可靠传输方法中,在客户端传输层对目标传输数据进行序列化、压缩、分段和封装处理,以形成目标分段数据,避免在应用层进行相应操作导致封装大量无效信息的情况出现,有助于保障目标分段数据的传输性能和传输效率;再通过客户端传输层和服务器传输层之间的socket通信通道传输目标分段数据,以保障目标分段数据传输的安全性和传输效率。
67.在一实施例中,步骤s202,在即根据目标传输数据,生成目标传输数据对应的目标消息标识之后,数据可靠传输方法还包括:
68.s2021:基于终端标识和目标消息标识,形成密钥申请请求,将密钥申请请求发送给密钥管理中心;
69.s2022:接收密钥管理中心响应密钥申请请求反馈的目标公钥,采用目标公钥对目标传输数据进行加密,将加密后的数据更新为目标传输数据,执行对目标传输数据进行序列化和压缩处理,获取序列压缩数据。
70.其中,密钥申请请求是用于申请密钥的请求。密钥管理中心是专用于进行密钥管理的数据中心。
71.作为一示例,步骤s2021中,客户端在生成目标传输数据对应的目标消息标识之后,可基于终端标识和目标消息标识,形成密钥申请请求,即客户端生成的密钥申请请求携带终端标识和目标消息标识,将密钥申请请求发送给密钥管理中心,以使密钥管理中心给每一目标传输数据分配目标密钥对,将目标密钥对中的目标公钥反馈给客户端。
72.在一实施例中,步骤s2022中,客户端在将密钥申请请求发送给密钥管理中心之后,可接收密钥管理中心响应密钥申请请求反馈的目标公钥,采用目标公钥对目标传输数据进行加密,将加密后的数据更新为目标传输数据,使得更新后的目标传输数据为加密后的数据,有助于保障目标传输数据的安全性。客户端在将加密后的数据更新为目标传输数据之后,可执行后续步骤,即执行对目标传输数据进行序列化和压缩处理,获取序列压缩数据。
73.在一实施例中,步骤s204,即采用终端标识、目标消息标识、目标数据长度和分段顺序标识,对每一原始分段数据进行封装,获取对应的目标分段数据,包括:
74.s2041:采用校验码生成算法对每一原始分段数据进行处理,获取第一原始分段数据对应的目标校验码;
75.s2042:依据每一原始分段数据对应的分段顺序标识,确定每一原始分段数据对应的终止位编码;
76.s2043:采用对终端标识、目标消息标识、目标数据长度、分段顺序标识、目标校验码和终止位编码,对每一原始分段数据进行封装,获取每一目标分段数据。
77.其中,校验码生成算法是预先配置的用于生成校验码的算法。目标校验码是采用校验码生成算法对原始分段数据进行处理形成的校验码。
78.作为一示例,步骤s2041中,客户端采用预先配置的校验码生成算法,对每一原始分段数据进行处理,生成该原始分段数据对应的目标校验码,以便后续利用该目标校验码对最终形成的目标分段数据进行校验,保障数据传输的安全性。
79.作为一示例,步骤s2042中,客户端需依据每一原始分段数据对应的分段顺序标识,判断分段顺序标识是否为所有原始分段数据中的最后一个分段顺序标识;若原始分段数据对应的分段顺序标识为最后一个分段顺序标识,则将终止位编码设置为终止标识,如设置为1;若原始分段数据对应的分段顺序标识不为最后一个分段顺序标识,则将终止位编码设置为非终止标识,如设置为0。可理解地,根据每一原始分段数据对应的分段顺序标识,确定其对应的终止位编码,以便后续根据该终止位编码,确定接收到的目标分段数据是否为最后一个目标分段数据。
80.作为一示例,步骤s2043中,客户端可采用预先配置的协议封装顺序,将终端标识、目标消息标识、目标数据长度、分段顺序标识、目标校验码和终止位编码等信息封装成数据头部,再将数据头部和原始分段数据封装,获取每一原始分段数据对应的目标分段数据。协议封装顺序是预先配置的用于对头部信息进行封装的顺序。
81.可理解地,每一目标分段数据均封装有终端标识、目标消息标识、目标数据长度、分段顺序标识、目标校验码和终止位编码等信息,以便服务器接收到目标分段数据后,利用上述信息完成对目标分段数据进行校验,以获取目标传输数据,保障目标传输数据的安全性和传输性能。而且,目标分段数据中封装终端标识、目标消息标识、目标数据长度、分段顺序标识、目标校验码和终止位编码等信息,不会封装大量无效数据,有助于保障目标分段数据的传输性能和传输效率。
82.在一实施例中,步骤s206,即基于分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将至少两个目标分段数据发送给服务器,包括:
83.s2061:基于分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将第i个目标分段数据发送给服务器,在目标响应时间内监听是否接收到第i个目标分段数据对应的目标响应消息;
84.s2062:若目标响应时间内未监听到第i个目标分段数据对应的目标响应消息,则执行数据重发策略,将第i个目标分段数据发送给服务器;
85.s2063:若目标响应时间内监听到第i个目标分段数据对应的目标响应消息,则判断第i个目标分段数据对应的终止位编码是否为终止标识;
86.s2064:若第i个目标分段数据对应的终止位编码不为终止标识,则将第i 1个目标分段数据更新为第i个目标分段数据,重复执行将第i个目标分段数据发送给服务器,在目标响应时间内监听是否接收到第i个目标分段数据对应的目标响应消息;
87.s2065:若第i个目标分段数据对应的终止位编码为终止标识,则确认目标传输数据完整传输。
88.其中,目标响应时间是预先配置的等待服务器响应的时间。目标响应消息是服务器在接收到目标分段数据之后反馈的消息。
89.作为一示例,步骤s2061中,客户端在获取至少两个目标分段数据之后,需将基于
分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将第i个目标分段数据发送给服务器,在目标响应时间内监听是否接收到第i个目标分段数据对应的目标响应消息。本示例中,第i个目标分段数据可理解为当前时刻需要发送的目标分段数据。
90.例如,客户端在依据分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将第i个目标分段数据发送给服务器之后,需等待接服务器反馈的目标响应消息,此时,需启动计时器,实时计算当前等待时间,在当前等待时间达到目标响应时间时,判断在此过程是否接收到服务器返回的第i个目标分段数据对应的目标响应消息,以确定该目标分段数据是否被服务器接收到,从而保障数据传输的安全性。
91.其中,数据重发策略是预先配置的用于控制数据重发的策略。
92.作为一示例,步骤s2062中,客户端在第i个目标分段数据对应的目标响应时间内,未接收到服务器返回的第i个目标分段数据对应的目标响应消息,认定第i个目标分段数据存在传输异常,例如,socket通信通道传输出错导致服务器没有接收到第i个目标分段数据,或者,导致返回的目标响应消息无法传输给客户端,此时,客户端需执行数据重发策略,重新发送第i个目标分段数据,以保障服务器可顺利接收到第i个目标分段数据。
93.本示例中,客户端执行数据重发策略,更新当前重发次数,即将当前重发次数加1,更新为新的当前重发次数。若当前重发次数未达到重发次数阈值,则认定第i个目标分段数据没有达到重发较多次的标准,此时,可将第i个目标分段数据发送给服务器。若当前重发次数达到重发次数阈值,则认定第i个目标分段数据达到重发较多次的标准,此时,认定网络通信异常,可输出网络异常消息,以提醒用户存在异常,避免重复进行无效操作。
94.作为一示例,步骤s2063中,客户端在第i个目标分段数据对应的目标响应时间内,接收到服务器返回的第i个目标分段数据对应的目标响应消息,认定第i个目标分段数据不存在传输异常,此时,需判断第i个目标分段数据对应的终止位编码是否为终止标识,以确定第i个目标分段数据是否为最后一个目标分段数据,以根据判断结果执行后续操作。
95.其中,终止标识是预先配置的用于反映某一目标分段数据为最后一个目标分段数据的标识,例如,可采用1来标识。
96.作为一示例,步骤s2064中,客户端在目标响应时间内接收到目标响应消息,且第i个目标分段数据对应的终止位编码不为终止标识,可认定第i个目标分段数据不为最后一个目标分段数据,说明还存在第i 1个目标分段数据,因此,可将第i 1个目标分段数据更新为第i个目标分段数据,重复执行将第i个目标分段数据发送给服务器,在目标响应时间内监听是否接收到第i个目标分段数据对应的目标响应消息,以保障后续目标分段数据的安全有效传输
97.作为一示例,步骤s2065中,客户端在目标响应时间内接收到目标响应消息,且第i个目标分段数据对应的终止位编码为终止标识,可认定第i个目标分段数据为最后一个目标分段数据,说明不存在第i 1个目标分段数据,即所有目标分段数据均已传输给服务器,因此,可认定目标传输数据已经通过客户端传输层和服务器传输层之间的socket通信通道发送给服务器。
98.在一实施例中,如图3所示,提供一种数据可靠传输方法,该方法包括服务器执行的如下步骤:
99.s301:通过客户端传输层和服务器传输层之间的socket通信通道,接收客户端依序发送的至少两个目标分段数据;
100.s302:解析目标分段数据,获取目标分段数据对应的终端标识、目标消息标识、目标数据长度、分段顺序标识和目标数据内容;
101.s303:基于目标数据内容进行安全校验,获取目标分段数据对应的分段校验结果;
102.s304:在分段校验结果为校验通过,且目标分段数据为目标消息标识对应的最后一个目标分段数据时,则根据分段顺序标识,对终端标识和目标消息标识相同的所有目标数据内容进行拼接,获取初始拼接数据;
103.s305:对初始拼接数据进行解压缩和反序列化处理,获取有效拼接数据;
104.s306:根据目标消息标识和目标数据长度,对有效拼接数据进行安全校验,获取拼接校验结果;
105.s307:若拼接校验结果为校验通过,则将有效拼接数据,确定为目标传输数据。
106.其中,目标分段数据是客户端形成并发送给服务器的分段数据。
107.作为一示例,步骤s301中,服务器可以通过客户端传输层和服务器传输层之间的socket通信通道,接收客户端依序发送的至少两个目标分段数据,以便服务器根据接收到的至少两个目标分段数据进行校验和拼接处理,以确定客户端要给服务器发送的目标传输数据,该目标传输数据为本次需要传输的数据。本示例中,服务器每接收到一个目标分段数据之后,可生成目标分段数据对应的目标响应消息,并将该目标响应消息发送给客户端。
108.作为一示例,步骤s302中,服务器在接收到每一目标分段数据之后,需解析该目标分段数据,以从目标分段数据中提取终端标识、目标消息标识、目标数据长度、分段顺序标识和目标数据内容等信息。其中,终端标识是用于唯一识别发送目标传输数据的客户端的标识。目标消息标识是用于唯一识别该目标传输数据的标识。目标数据长度是指目标传输数据的长度。分段顺序标识是目标分段数据在其所需传输的目标传输数据中的序号。目标数据内容是记录在目标分段数据中的数据内容,是客户端需要发送给服务器的内容。
109.作为一示例,步骤s303中,服务器在解析每一目标分段数据之后,需根据目标分段数据中解析出的目标数据内容,对每一目标分段数据进行安全校验,以校验每一目标分段数据中记录的数据内容是否安全,以获取每一目标分段数据对应的分段校验结果。
110.其中,初始拼接数据对所有目标分段数据中的目标数据内容进行拼接所形成的数据。
111.作为一示例,步骤s304中,服务器在对每一目标分段数据对应的分段校验结果为校验通过时,需检测该目标分段数据是否为目标消息标识对应的最后一个目标分段数据,其判断过程如下:获取目标分段数据中解析的终止位编码;判断终止位编码是否为终止标识;若目标分段数据中的终止位编码为终止标识,则认定目标分段数据为目标消息标识对应的最后一个目标分段数据;若目标分段数据中的终止位编码不为终止标识,则认定目标分段数据不为目标消息标识对应的最后一个目标分段数据。
112.本示例中,服务器在目标分段数据不为目标消息标识对应的最后一个目标分段数据,需继续等待接收新的目标分段数据,直接接收到目标消息标识对应的最后一个目标分段数据之后,才会根据分段顺序标识,对终端标识和目标消息标识相同的所有目标数据内容进行拼接,获取初始拼接数据。
113.其中,解压缩处理是与压缩处理相反的处理过程。反序列化处理是与序列化处理相反的处理过程。
114.作为一示例,步骤305中,由于客户端发送的每一目标分段数据均为预先经过序列化和压缩处理之后再分段的数据,因此,服务器在将同一终端标识和目标消息标识对应的所有目标分段数据拼接形成的初始拼接数据之后,需对初始拼接数据进行解压缩和反序列化处理,获取用户可识别的有效拼接数据。
115.作为一示例,步骤s306中,服务器在获取有效拼接数据之后,需根据所有目标分段数据中携带的目标消息标识和目标数据长度,对有效拼接数据进行安全校验,以校验其目标消息标识是否一致且准确,并校验有效拼接数据的数据长度是否达到安全标准,从而获取有效拼接数据对应的拼接校验结果。
116.作为一示例,步骤s307中,服务器在获取有效拼接数据对应的拼接校验结果之后,可将拼接校验结果为校验通过的有效拼接数据,确定为客户端所要传输的目标传输数据,以保障服务器接收到的目标传输数据的安全性。
117.本实施例所提供的数据可靠传输方法中,通过客户端传输层和服务器传输层之间的socket通信通道传输目标分段数据,可保障目标分段数据传输的安全性和传输效率;解析目标分段数据,以获取终端标识、目标消息标识、目标数据长度、分段顺序标识和目标数据内容等有效信息,避免目标分段数据中存在过多无效信息,影响数据处理效率;根据目标数据内容对每个目标分段数据进行安全校验,并对所有目标分段数据拼接形成获取的有效拼接数据进行安全校验,可保障最终获取到的目标传输数据的安全性。可理解地,本方案可面向分布式场景,利用自定义包含终端标识、目标消息标识、目标数据长度、分段顺序标识和目标数据内容等信息的数据传输协议,实现数据安全加密传输,数据分段校验和分段流量控制,确保数据稳定传输且完整传输。
118.在一实施例中,步骤s303,目标分段数据还包括目标校验码;
119.相应地,基于目标数据内容进行安全校验,获取目标分段数据对应的分段校验结果,包括:
120.s3031:采用校验码生成算法对目标数据内容进行处理,获取目标分段数据对应的当前校验码;
121.s3032:若当前校验码与目标校验码一致,则获取校验通过的分段校验结果;
122.s3033:若当前校验码与目标校验码不一致,则获取校验不通过的分段校验结果。
123.其中,校验码生成算法是预先配置的用于生成校验码的算法。目标校验码是客户端采用校验码生成算法对原始分段数据进行处理形成的校验码。当前校验码是服务器采用校验码生成算法对目标数据内容进行处理形成的校验码。
124.作为一示例,步骤s3031中,服务器需采用预先配置的校验码生成算法,对每一目标分段数据解析出的目标数据内容进行处理,生成该目标数据内容对应的当前校验码,以便利用当前校验码对目标分段数据进行校验,保障数据传输的安全性。
125.作为一示例,步骤s3032中,服务器在获取目标分段数据解析出的目标数据内容对应的当前校验码时,需将该当前校验码与目标分段数据中记录的目标校验码进行一致性判断,若当前校验码与目标校验码一致,则认定服务器和客户端采用同一校验码生成算法,分别对目标数据内容和原始分段数据进行处理,所生成的当前校验码和目标校验码一致,说
明目标数据内容与原始分段数据一致,因此,可获取校验通过的分段校验结果。
126.作为一示例,步骤s3033中,服务器在获取目标分段数据解析出的目标数据内容对应的当前校验码时,需将该当前校验码与目标分段数据中记录的目标校验码进行一致性判断,若当前校验码与目标校验码不一致,则认定服务器和客户端采用同一校验码生成算法,分别对目标数据内容和原始分段数据进行处理,所生成的当前校验码和目标校验码不一致,说明目标数据内容与原始分段数据不一致,因此,可获取校验不通过的分段校验结果。
127.可理解地,服务器根据目标分段数据解析出的目标数据内容形成当前校验码,利用当前校验码与目标分段数据中记录的目标校验码进行一致性判断,以获取相应的分段校验结果,可保障接收到的目标分段数据的安全性。
128.在一实施例中,步骤s306,即根据目标消息标识和目标数据长度,对有效拼接数据进行安全校验,获取拼接校验结果,包括:
129.s3061:根据有效拼接数据,生成有效拼接数据对应的有效消息标识,根据有效消息标识和目标消息标识,获取消息校验结果;
130.s3062:获取有效拼接数据对应的有效数据长度,根据有效数据长度和目标数据长度,获取长度校验结果;
131.s3063:若消息校验结果和长度校验结果均为校验通过,则获取校验通过的拼接校验结果;
132.s3064:若消息校验结果和长度校验结果中的至少一个为校验为通过,则获取校验不通过的拼接校验结果。
133.作为一示例,步骤s3061中,服务器可采用预先配置的消息生成算法,对有效拼接数据进行处理,以获取有效拼接数据对应的有效消息标识。该有效消息标识是采用消息生成算法对有效拼接数据进行处理所形成的标识。例如,服务器可采用但不限于md2/md3/md4/md5或者其他可生成唯一标识的消息生成算法,对有效拼接数据进行处理,生成与目标消息长度相匹配的有效消息标识,以保障有效消息标识的唯一性。
134.本示例中,服务器在获取有效拼接数据对应的有效消息标识之后,可将该有效消息标识与目标消息标识进行一致性判断。若有效消息标识与目标消息标识一致,说明服务器和客户端采用同一消息生成算法,分别对有效拼接数据和目标传输数据进行处理,所生成的有效消息标识和目标消息标识一致,说明有效拼接数据与目标传输数据一致,可获取校验通过的消息校验结果。若有效消息标识与目标消息标识不一致,说明服务器和客户端采用同一消息生成算法,分别对有效拼接数据和目标传输数据进行处理,所生成的有效消息标识和目标消息标识不一致,说明有效拼接数据与目标传输数据不一致,可获取校验不通过的消息校验结果。
135.作为一示例,步骤s3062中,服务器在获取有效拼接数据之后,可将有效拼接数据的数据长度,确定为有效数据长度;然后,服务器需将有效数据长度与目标数据长度进行一致性判断;若有效数据长度和目标数据长度一致,则获取校验通过的长度校验结果;若有效数据长度和目标数据长度不一致,则获取校验不通过的长度校验结果。
136.作为一示例,步骤s3063中,服务器在分别获取消息校验结果和长度校验结果之后,只在消息校验结果和长度校验结果均为校验通过时,才获取校验通过的拼接校验结果,以保障拼接校验结果的准确性,进而保障后续获取到的目标传输数据的安全性。
137.作为一示例,步骤s3064中,服务器在分别获取消息校验结果和长度校验结果之后,在消息校验结果和长度校验结果中的至少一个为校验不通过时,可获取校验不通过的拼接校验结果,以保障拼接校验结果的准确性,进而保障后续获取到的目标传输数据的安全性。
138.在一实施例中,步骤s307,即若拼接校验结果为校验通过,则将有效拼接数据,确定为目标传输数据,包括:
139.s3071:若拼接校验结果为校验通过,则根据终端标识和目标消息标识,形成密钥查询请求,将密钥查询请求发送给密钥管理中心;
140.s3072:接收密钥管理中心响应密钥查询请求反馈的目标私钥,采用目标私钥对有效拼接数据进行解密,将解密后的数据确定为目标传输数据。
141.其中,密钥查询请求是用于查询密钥的请求。
142.作为一示例,步骤s3071中,服务器在拼接校验结果为校验通过时,可基于解析出的终端标识和目标消息标识,形成密钥查询请求,即服务器生成的密钥查询请求中携带终端标识和目标消息标识,将密钥查询请求发送给密钥管理中心,以使密钥管理中心查询是否存在与终端标识和目标消息标识相对应的目标密钥对,将目标密钥对中的目标私钥发送给服务器。
143.作为一示例,步骤s3072:服务器在将密钥查询请求发送给密钥管理中心之后,可接收密钥管理中心响应密钥查询请求反馈的目标私钥,采用目标私钥对目标传输数据进行解密,将解密后的数据确定为目标传输数据,即客户端向服务器发送的数据。可理解地,采用与终端标识和目标消息标识对应的目标私钥对有效拼接数据进行解密,有助于保障最终获取到的目标传输数据的安全性。
144.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
145.在一实施例中,提供一种数据可靠传输装置,该数据可靠传输装置与上述实施例中数据可靠传输方法一一对应。如图4所示,该数据可靠传输装置包括目标数据长度获取模块401、目标消息标识获取模块402、序列压缩数据获取模块403、原始分段数据获取模块404、目标分段数据获取模块405和目标分段数据发送模块406。各功能模块详细说明如下:
146.目标数据长度获取模块401,用于客户端传输层接收携带终端标识的目标传输数据,获取目标传输数据对应的目标数据长度;
147.目标消息标识获取模块402,用于根据目标传输数据,生成目标传输数据对应的目标消息标识;
148.序列压缩数据获取模块403,用于对目标传输数据进行序列化和压缩处理,获取序列压缩数据;
149.原始分段数据获取模块404,用于对序列压缩数据进行分段,获取携带分段顺序标识的至少两个原始分段数据;
150.目标分段数据获取模块405,用于采用终端标识、目标消息标识、目标数据长度和分段顺序标识,对每一原始分段数据进行封装,获取对应的目标分段数据;
151.目标分段数据发送模块406,用于基于分段顺序标识的先后顺序,通过客户端传输
层和服务器传输层之间的socket通信通道,将至少两个目标分段数据发送给服务器。
152.在一实施例中,目标分段数据获取模块405,包括:
153.目标校验码获取单元,用于采用校验码生成算法对每一原始分段数据进行处理,获取第一原始分段数据对应的目标校验码;
154.终止位编码获取单元,用于依据每一原始分段数据对应的分段顺序标识,确定每一原始分段数据对应的终止位编码;
155.目标分段数据封装单元,用于采用对终端标识、目标消息标识、目标数据长度、分段顺序标识、目标校验码和终止位编码,对每一原始分段数据进行封装,获取每一目标分段数据。
156.在一实施例中,目标分段数据发送模块406,包括:
157.目标分段数据发送单元,用于基于分段顺序标识的先后顺序,通过客户端传输层和服务器传输层之间的socket通信通道,将第i个目标分段数据发送给服务器,在目标响应时间内监听是否接收到第i个目标分段数据对应的目标响应消息;
158.目标分段数据重发单元,用于若目标响应时间内未监听到第i个目标分段数据对应的目标响应消息,则执行数据重发策略,将第i个目标分段数据发送给服务器;
159.终止位编码判断单元,用于若目标响应时间内监听到第i个目标分段数据对应的目标响应消息,则判断第i个目标分段数据对应的终止位编码是否为终止标识;
160.目标分段数据更新单元,用于若第i个目标分段数据对应的终止位编码不为终止标识,则将第i 1个目标分段数据更新为第i个目标分段数据,重复执行将第i个目标分段数据发送给服务器,在目标响应时间内监听是否接收到第i个目标分段数据对应的目标响应消息;
161.完整传输确认单元,用于若第i个目标分段数据对应的终止位编码为终止标识,则确认目标传输数据完整传输。
162.在一实施例中,提供一种数据可靠传输装置,该数据可靠传输装置与上述实施例中数据可靠传输方法一一对应。如图5所示,该数据可靠传输装置包括目标分段数据接收模块501、目标分段数据解析模块502、分段校验结果获取模块503、初始拼接数据获取模块504、有效拼接数据获取模块505、拼接校验结果获取模块506和目标传输数据确认模块507。各功能模块详细说明如下:
163.目标分段数据接收模块501,用于通过客户端传输层和服务器传输层之间的socket通信通道,接收客户端依序发送的至少两个目标分段数据;
164.目标分段数据解析模块502,用于解析目标分段数据,获取目标分段数据对应的终端标识、目标消息标识、目标数据长度、分段顺序标识和目标数据内容;
165.分段校验结果获取模块503,用于基于目标数据内容进行安全校验,获取目标分段数据对应的分段校验结果;
166.初始拼接数据获取模块504,用于在分段校验结果为校验通过,且目标分段数据为目标消息标识对应的最后一个目标分段数据时,则根据分段顺序标识,对终端标识和目标消息标识相同的所有目标数据内容进行拼接,获取初始拼接数据;
167.有效拼接数据获取模块505,用于对初始拼接数据进行解压缩和反序列化处理,获取有效拼接数据;
168.拼接校验结果获取模块506,用于根据目标消息标识和目标数据长度,对有效拼接数据进行安全校验,获取拼接校验结果;
169.目标传输数据确认模块507,用于若拼接校验结果为校验通过,则将有效拼接数据,确定为目标传输数据。
170.在一实施例中,目标分段数据还包括目标校验码;
171.分段校验结果获取模块503,包括:
172.当前校验码获取单元,用于采用校验码生成算法对目标数据内容进行处理,获取目标分段数据对应的当前校验码;
173.第一分段校验结果获取单元,用于若当前校验码与目标校验码一致,则获取校验通过的分段校验结果;
174.第二分段校验结果获取单元,用于若当前校验码与目标校验码不一致,则获取校验不通过的分段校验结果。
175.在一实施例中,拼接校验结果获取模块506,包括:
176.消息校验结果获取单元,用于根据有效拼接数据,生成有效拼接数据对应的有效消息标识,根据有效消息标识和目标消息标识,获取消息校验结果;
177.长度校验结果获取单元,用于获取有效拼接数据对应的有效数据长度,根据有效数据长度和目标数据长度,获取长度校验结果;
178.第一拼接校验结果获取单元,用于若消息校验结果和长度校验结果均为校验通过,则获取校验通过的拼接校验结果;
179.第二拼接校验结果获取单元,用于若消息校验结果和长度校验结果中的至少一个为校验为通过,则获取校验不通过的拼接校验结果。
180.关于数据可靠传输装置的具体限定可以参见上文中对于数据可靠传输方法的限定,在此不再赘述。上述数据可靠传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
181.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于执行上述数据可靠传输方法过程中采用或生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据可靠传输方法。
182.在一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中数据可靠传输方法,例如图2所示s201-s206,或者图3所示步骤s301-s307,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现数据可靠传输装置这一实施例中的各模块/单元的功能,例如图4所示的目标数据长度获取模块401、目标消息标识获取模块402、序列压缩数据获取
模块403、原始分段数据获取模块404、目标分段数据获取模块405和目标分段数据发送模块406的功能,或者图5所示的目标分段数据接收模块501、目标分段数据解析模块502、分段校验结果获取模块503、初始拼接数据获取模块504、有效拼接数据获取模块505、拼接校验结果获取模块506和目标传输数据确认模块507的功能,为避免重复,这里不再赘述。
183.在一实施例中,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中数据可靠传输方法,例如图2所示s201-s206,或者图3所示步骤s301-s307,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述数据可靠传输装置这一实施例中的各模块/单元的功能,例如图4所示的目标数据长度获取模块401、目标消息标识获取模块402、序列压缩数据获取模块403、原始分段数据获取模块404、目标分段数据获取模块405和目标分段数据发送模块406的功能,或者图5所示的目标分段数据接收模块501、目标分段数据解析模块502、分段校验结果获取模块503、初始拼接数据获取模块504、有效拼接数据获取模块505、拼接校验结果获取模块506和目标传输数据确认模块507的功能,为避免重复,这里不再赘述。
184.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
185.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
186.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献