CN111211992A - 一种信息传输方法及装置 - Google Patents
一种信息传输方法及装置 Download PDFInfo
- Publication number
- CN111211992A CN111211992A CN201911369501.6A CN201911369501A CN111211992A CN 111211992 A CN111211992 A CN 111211992A CN 201911369501 A CN201911369501 A CN 201911369501A CN 111211992 A CN111211992 A CN 111211992A
- Authority
- CN
- China
- Prior art keywords
- cache
- identification number
- cache region
- server
- object information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种信息传输方法及装置。所述方法应用于服务器,所述服务器包括多个缓存区,所述方法包括:针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区;将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。本发明实施例解决了现有技术中,待传输的数据量庞大导致服务器的数据传输效率较低的问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种信息传输方法及装置。
背景技术
近年来,随着互联网行业的迅速发展,大量的数据需要在互联网之间传输,因此,传输数据的服务器的存储性能显得尤为重要。服务器在接收到数据后,向数据接收端发送数据;然而,大量的数据导致服务器的传输效率较低,传输时间延长,难以将数据高效地传输给接收端;且由于数据传输的不及时,将会影响接收端的运行。
发明内容
本发明实施例提供一种信息传输方法及装置,以解决现有技术中,待传输的数据量庞大导致服务器的数据传输效率较低的问题。
一方面,本发明实施例提供了一种信息传输方法,应用于服务器,所述服务器包括多个缓存区,所述方法包括:
针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区;
将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
可选地,所述方法还包括:
接收第二客户端上报的对象信息,所述对象信息中至少包括对象的第二标识号;
确定与所述第二标识号对应的第二目标缓存区;
将所述对象信息存储至所述第二目标缓存区。
可选地,所述确定与所述第二标识号对应的第二目标缓存区的步骤,包括:
根据所述预设对应关系,确定与所述第二标识号对应的第二目标缓存区,所述预设对应关系中,每个所述缓存区对应第一预设数目个所述第二标识号;
或根据预设算法,确定与所述第二标识号对应的第二目标缓存区。
可选地,所述第二标识号具有第二预设数目个字符,所述字符为数字和/或字母;
所述服务器具有16N个所述缓存区,所述缓存区的第一标识号按照预设顺序依次排序;所述N为大于或等于1的正整数。
可选地,所述根据预设算法,确定与所述第二标识号对应的第二目标缓存区的步骤,包括:
确定与所述第二标识号对应的第一哈希码,并将所述哈希码转换为二进制的第二哈希码;
将所述第二哈希码右移16位得到第三哈希码;
将所述第二哈希码与所述第三哈希码进行异或运算,得到二进制哈希值;
确定所述缓存区的数目的二进制偏移值,所述二进制偏移值为所述16N减一并转换为二进制后的数值;
对所述二进制哈希值与所述二进制偏移值求与运算,得到与所述第二标识号对应的第二目标缓存区的第一标识号。
可选地,所述将所述对象信息存储至所述第二目标缓存区的步骤,包括:
判断所述第二目标缓存区是否具有剩余存储空间:
若是,将所述对象信息存储至所述第二目标缓存区;
若否,提示存储异常。
可选地,所述服务器包括备选服务器,所述方法包括:
若所述服务器发生故障,将所述服务器对应的第二客户端上报的对象信息存储至所述备选服务器的缓存区。
可选地,所述将所述对象信息存储至所述第二目标缓存区的步骤,包括:
若在预设的存储周期内,所述服务器未完成将所述对象信息存储至所述第二目标缓存区,则发出告警信息。
可选地,所述方法还包括:
调整所述缓存区段的数目。
另一方面,本发明实施例还提供一种信息传输装置,应用于服务器,所述服务器包括多个缓存区,所述装置包括:
缓存区确定模块,用于针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区;
信息传输模块,用于将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
可选地,所述装置还包括:
信息接收模块,用于接收第二客户端上报的对象信息,所述对象信息中至少包括对象的第二标识号;
第一确定模块,用于确定与所述第二标识号对应的第二目标缓存区;
缓存模块,用于将所述对象信息存储至所述第二目标缓存区。
可选地,本发明实施例中,所述第一确定模包括:
第一确定子模块,用于根据所述预设对应关系,确定与所述第二标识号对应的第二目标缓存区,所述预设对应关系中,每个所述缓存区对应第一预设数目个所述第二标识号;
或
第二确定子模块,用于根据预设算法,确定与所述第二标识号对应的第二目标缓存区。
可选地,所述第二标识号具有第二预设数目个字符,所述字符为数字和/或字母;
所述服务器具有16N个所述缓存区,所述缓存区的第一标识号按照预设顺序依次排序;所述N为大于或等于1的正整数。
可选地,本发明实施例中,所述第二确定子模块,包括:
第一确定单元,用于确定与所述第二标识号对应的第一哈希码,并将所述哈希码转换为二进制的第二哈希码;
右移单元,用于将所述第二哈希码右移16位得到第三哈希码;
第一运算单元,用于将所述第二哈希码与所述第三哈希码进行异或运算,得到二进制哈希值;
第二确定单元,用于确定所述缓存区的数目的二进制偏移值,所述二进制偏移值为所述16N减一并转换为二进制后的数值;
第二运算单元,用于对所述二进制哈希值与所述二进制偏移值求与运算,得到与所述第二标识号对应的第二目标缓存区的第一标识号。
可选地,所述缓存模块用于:
判断所述第二目标缓存区是否具有剩余存储空间:
若是,将所述对象信息存储至所述第二目标缓存区;
若否,提示存储异常。
可选地,所述服务器包括备选服务器,所述装置包括:
故障处理模块,用于若所述服务器发生故障,将所述服务器对应的第二客户端上报的对象信息存储至所述备选服务器的缓存区。
可选地,所述缓存模块包括:
告警模块,用于若在预设的存储周期内,所述服务器未完成将所述对象信息存储至所述第二目标缓存区,则发出告警信息。
可选地,所述装置还包括:
调整模块,用于调整所述缓存区段的数目。
又一方面,本发明实施例还提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的信息传输方法中的步骤。
再一方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的信息传输方法中的步骤。
在本发明实施例中,服务器在每个传输周期内,确定所述缓存区段包括的第一目标缓存区,然后将所述第一目标缓存区中缓存的对象信息传输给第一客户端;通过多个缓存区段并行传输数据,以提高数据传输速率,避免单节点传输数据造成数据传输通道拥塞;通过绑定每个缓存区的第一标识号与其所存储对象的第二标识号之间存在预设对应关系,使得对象信息均匀分布在每个缓存区中,使缓存区的存储空间得到合理利用;且在传输时间内,使得每个缓存区段均处于传输状态,以提高传输效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的信息传输方法的步骤流程图之一;
图2为本发明实施例提供的信息传输方法的步骤流程图之二;
图3为本发明实施例提供的示例的步骤流程图;
图4为本发明实施例提供的示例的应用场景图;
图5为本发明实施例提供的示例的交互示意图;
图6为本发明实施例提供的示例的存储过程示意图;
图7为本发明实施例提供的信息传输装置的结构框图;
图8为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的第一标识号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,本发明实施例提供了一种信息传输方法,应用于服务器,所述服务器包括多个缓存区,所述方法包括:
步骤101,针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区。
其中,缓存区为先于内存与CPU交换数据的存储器,因此其数据交换的速率较快。预先将服务器的缓存存储器分为多个缓存区,每个缓存区可具有一定的存储空间,每个缓存区的存储空间可相同也可不同;然后服务器将缓存区分为多个缓存区段,每个缓存区段内包括的缓存区数目可相同也可不同。
在每个传输周期内,每个缓存区段分别执行数据传输,即多个缓存区段并行传输数据,每个传输周期内,控制至少两个缓存区段执行数据传输,以提高数据传输速率,避免单节点传输数据造成数据传输通道拥塞。
针对每个缓存区段,在每个传输周期内,首先确定其包括的第一目标缓存区。
步骤102,将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
本步骤中,对象信息即服务器的待传输数据;将第一目标缓存区存储的对象信息传输给第一客户端;第一客户端为对象信息的接收端;对象可以为车辆、电子设备、用户等,对象信息为该对象的相关参数,比如对象为车辆时,对象信息可以是车辆的位置信息、仪表数据等;对象为电子设备时,对象信息可以是电子设备的运行数据。
每个缓存区具有第一标识号,可选地,第一标识号可按照预设次序依次排序,以标识缓存区的顺序。每个对象具有用于标识其身份的第二标识号,第二标识号可以为一序列,以对象为车辆为例,第二标识号可以为该车辆的车辆识别号码或车架号码(VehicleIdentification Number,VIN)。
第二标识号和存储其对象信息的缓存区的第一标识号之间存在预设对应关系;预设对应关系中,每个所述缓存区对应一预设数目个第二标识号,也就是说,在存储对象信息的过程中,每个对象对应的缓存区为确定的。
一方面,通过绑定第二标识号与第一标识号之间的对应关系,使得对象信息均匀分布在每个缓存区中,使缓存区的存储空间得到合理利用,避免某个缓存区容量饱和,而其他缓存区剩余存储空间较多。
另一方面,在设定预设对应关系时,将所有的第二标识号平均分布在各个缓存区中,使得每个缓存区所存储的对象信息存储容量相当,最终使得每个缓存区段所存储的总存储容量也相当;这样,在每个缓存区段将对象信息传输至第一客户端时,传输速率设定为相同或相差在一数值范围内的相近速率,由于每个缓存区段的传输总量相当,在传输时间内,使得每个缓存区段均处于传输状态,以提高传输效率。
本发明实施例中,服务器在每个传输周期内,确定所述缓存区段包括的第一目标缓存区,然后将所述第一目标缓存区中缓存的对象信息传输给第一客户端;通过多个缓存区段并行传输数据,以提高数据传输速率,避免单节点传输数据造成数据传输通道拥塞;通过绑定每个缓存区的第一标识号与其所存储对象的第二标识号之间存在预设对应关系,使得对象信息均匀分布在每个缓存区中,使缓存区的存储空间得到合理利用;且在传输时间内,使得每个缓存区段均处于传输状态,以提高传输效率。本发明实施例解决了现有技术中,待传输的数据量庞大导致服务器的数据传输效率较低的问题。
可选地,参见图2,本发明实施例中,所述方法还包括:
步骤201,接收第二客户端上报的对象信息,所述对象信息中至少包括对象的第二标识号。
其中,第二客户端即上报对象信息的客户端,对象可以为车辆、电子设备、用户等,对象信息为该对象的相关参数,比如对象为车辆时,对象信息可以是车辆的位置信息、仪表数据等;对象为电子设备时,对象信息可以是电子设备的运行数据。
第二客户端可以作为上报对象,也可以仅作为上报对象信息的设备;比如,若对象信息为车辆信息,则第二客户端可以是车辆本身,也可以是采集并存储车辆信息的车联网。
服务器接收第二客户端上报的对象信息,并提取对象信息中的第二标识号。
步骤202,确定与所述第二标识号对应的第二目标缓存区。
其中,第二标识号和存储其对象信息的缓存区的第一标识号之间存在预设对应关系;预设对应关系中,每个所述缓存区对应一预设数目个第二标识号,也就是说,在存储对象信息的过程中,每个对象对应的缓存区为确定的,因此,在接收到对象信息时,需要确定该第二标识号对应的第二目标缓存区。
可选地,本发明实施例中,确定与所述第二标识号对应的第二目标缓存区包括三种情况:
情况一,获取所述缓存区中,当前剩余存储空间数值最大的第二目标缓存区;
情况二,根据所述预设对应关系,确定与所述第二标识号对应的第二目标缓存区,所述预设对应关系中,每个所述缓存区对应第一预设数目个所述第二标识号;
或情况三,根据预设算法,确定与所述第二标识号对应的第二目标缓存区。
其中,情况一中,在接收到第二客户端上传的对象信息之后,服务器采用轮询的方式,确定当前剩余存储空间数值最大的第二目标缓存区,将对象信息存储在该目标缓存区中,使目标缓存区的存储空间得到合理利用,避免某个缓存区容量饱和,而其他缓存区剩余存储空间较多。
情况二中,每个所述缓存区对应第一预设数目个所述第二标识号,也就是说,每个缓存区对应确定的多个对象;比如,为每个缓存区划定一个范围第二标识号,这样将所有的第二标识号均匀分配给每个缓存区,使得对象信息均匀分布在每个缓存区中,使得每个缓存区所存储的对象信息存储容量相当,最终使得每个缓存区段所存储的总存储容量也相当。
情况三中,根据预设算法,确定与所述第二标识号对应的第二目标缓存区,同样将所有的第二标识号均匀分配给每个缓存区,使得对象信息均匀分布在每个缓存区中。
步骤203,将所述对象信息存储至所述第二目标缓存区。
本步骤中,确定第二目标缓存区后,将对象信息存储在第二目标缓存区中,后续服务器在执行数据传输时,每个缓存区段同时传输。
进一步地,本发明实施例中,所述第二标识号具有第二预设数目个字符,所述字符为数字和/或字母;
所述服务器具有16N个所述缓存区,所述缓存区的第一标识号按照预设顺序依次排序;所述N为大于或等于1的正整数。
也就是说,将服务器的所有缓存空间分为16N个缓存区,并且为每个缓存区依次排序编号,得到每个缓存区的第一标识号。
作为示例,参见图3,以预设算法为哈希算法,对象为车辆,第二识别码为VIN,N为4为例,所述根据预设算法,确定与所述第二标识号对应的第二目标缓存区的步骤,包括:
步骤301,确定与所述第二标识号对应的第一哈希码,并将所述哈希码转换为二进制的第二哈希码。
其中,二进制的第二哈希码为int类型,即整数类型。
比如VIN为LDP31B961KG730386,根据预设的转换算法,将VIN转化为Hash Code(哈希码),则第一哈希码为18219233;
将Hash Code转为二进制(java中int类型占4个字节,共计32位),则为:00011110111000110110010111100001。
可选地,转换算法可采用如下形式:
以VIN为例,VIN为17位字符,将VIN码字符串装换成字符数组s[],则字符数组s[]也具有17位字符;
通过公式计算出Hash Code:
Hash Code=s[0]*31(n-1)+s[1]*31(n-2)+…+s[n-1]
其中,s[i]为字符数组s[]中第i位字符。
步骤302,将所述第二哈希码右移16位得到第三哈希码。
其中,将二进制的第二哈希码右移16位,得出二进制的第三哈希码,第三哈希码为:00000000000000011110111000110110。
步骤303,将所述第二哈希码与所述第三哈希码进行异或运算,得到二进制哈希值。
其中,第二哈希码与所述第三哈希码进行异或运算,得到哈希值:
步骤304,确定所述缓存区的数目的二进制偏移值,所述二进制偏移值为所述16N减一并转换为二进制后的数值。
将缓存区数目64减一得到63,转换为二进制:
00000000000000000000000000111111。
步骤305,对所述二进制哈希值与所述二进制偏移值求与运算,得到与所述第二标识号对应的第二目标缓存区的第一标识号。
将63与二进制哈希值hash求与运算:
00011110111000110111101100000010&
00000000000000000000000000111111=
00000000000000000000000000000010;
然后将00000000000000000000000000000010转为十进制,结果为2。
这样,该车辆对象的第二目标缓存区为2号缓存区。
通过上述Hash算法能够将减少车辆信息缓存至缓存区时的碰撞,使得每个缓存区里面的车辆数据分布的更加均匀,并且能够保证车辆肯定会落入某个缓存区中。需要说明的是,缓存区数量为16的整数倍,这样,缓存区的序号为0至16的倍数减1(如0至63),16的倍数减1转换为二进制,所有位置上都是1(例如63转为二进制位111111),使得Hash值和缓存区数量减1求与得出的缓存区号能够分散的更均匀。
另外,每个缓存区段上报属于自己特定的一份数据(例如,缓存区段为2个,缓存区数目为64,则1号缓存区段上报0至31号缓存区,2号缓存区段上报32至63号缓存区)。
可选地,本发明实施例中,所述将所述对象信息存储至所述第二目标缓存区的步骤,包括:
判断所述第二目标缓存区是否具有剩余存储空间:
若是,将所述对象信息存储至所述第二目标缓存区;
若否,提示存储异常。
其中,若第二目标缓存区不具有足够缓存所述对象信息的剩余存储空间,则提示存储异常;通常情况下,缓存区具有较大的存储空间,不会出现剩余存储空间不足的情况;若出现,提示存储异常,对所述第二目标缓存区进行扩容。
可选地,本发明实施例中,所述服务器包括备选服务器,所述方法包括:
若所述服务器发生故障,将所述服务器对应的第二客户端上报的对象信息存储至所述备选服务器的缓存区。
其中,备选服务器可预先与服务器进行匹配,也可在一个内网或者外网内随机指定备选服务器;服务器与备选服务器之间建立心跳通信消息,若服务器发生故障,例如宕机等情况,则由备选服务器承接其对应的第二客户端的对象信息。比如,在所述服务器故障之后,将所述服务器的原缓存区段划分给所述备选服务器,这样备选服务器所占据的缓存区数量增多,按照上述实施例中确定与所述第二标识号对应的第二目标缓存区的步骤中的hash算法为备选服务器重新划分客户端与缓存区之间的对应关系,以确保每个缓存区所存储的数量均匀。
可选地,本发明实施例中,所述将所述对象信息存储至所述第二目标缓存区的步骤,包括:
若在预设的存储周期内,所述服务器未完成将所述对象信息存储至所述第二目标缓存区,则发出告警信息。
其中,在服务器运行过程中,第二客户端的数据量的增加难以预测,可能会出现突然增加大量数据的情况,而每个缓存区内上传数据的时间有限,比如根据预设规则,存储周期为5秒,则需要5秒内上传完全部数据,一般加上缓冲,若在4秒的时候数据没有上传完成,服务器就开始告警,发出告警信息,方便人工后续增加缓存区数量;可选地,告警信息的发出形式可以是邮件或短信等形式。
可选地,本发明实施例中,所述方法还包括:
调整所述缓存区段的数目。
其中,当待传输的对象信息数据量变化时,可以增减所述缓存区段的数目,比如,若数量增加,增加缓存区段数目,以增加传输节点;
当数量减少时,可以减少缓存区段数目,以减少传输节点。
参见图4,下面以一具体示例,介绍本发明实施例中提供的信息传输方法的应用场景。
其中,预设算法为哈希算法,对象为车辆,第二识别码为VIN,N为4;则根据图3所示过程,该对象信息对应的第二目标缓存区为2号缓存区。
车辆的对象信息(车辆位置信息)来自车联网中心(Internet of Vehicles,IOV),以消息中间件Rabbit MQ为传播中介分发到各个业务部门,服务器在接收到车辆位置的位置信息时,需要判断车辆信息是否已有目标缓存区,如果有,更新缓存区中车辆数据,否则放入未满的缓存区内。
车联网中心(第二客户端),上线的运营车辆每3秒上报一次车辆位置信息,车联网中心对车辆特征信息进行处理后放入消息中间件Rabbit MQ,传递给业务平台。
业务平台(服务器),平台消费车联网中心生产的车辆信息,并将车辆信息分缓存区后放入远程字典服务(Remote Dictionary Server,REDIS)中。
分布式任务调度中心,业务平台会每个5秒钟调用对接平台上报车辆信息的接口,并传入本次归属的缓存区段;缓存区段即将一个机器(即一个服务器)视为一个片,当任务产生时,会同时调用统一个任务的所有机器并传入缓存区段数值,机器需要根据获得的缓存区段数值来执行自己的上报任务。
对接平台,对接平台为服务器的数据传输模块,获取到当前待处理的缓存区段,根据缓存区段值从REDIS中获取到指定的车辆数据进行上报。具体处理过程为:
(1)获取到分布式定时任务平台传入的缓存区段值。
(2)将缓存区平均分成指定份(最大缓存区段值份),系统根据当前缓存区段值获取指定的一份待上报的数据。
(3)将数据上报到第三方平台。
第三方平台(第一客户端),接收车辆位置信息的第三方平台。
参见图5,车辆位置信息传输给第三方平台的流程如下:
1.分布式任务调度中心分片调度对接平台;
2.对接平台从REDIS中获取车辆位置信息;
3.REDIS返回车辆位置信息;
4.对接平台批量向第三方平台上报车辆位置信息。
对接平台针对每个缓存区段执行一路上报流程,多个缓存区段同时向第三方平台上报。
参见图6,车辆信息的存储过程如图6所示;
1.车联网向业务平台发送车辆位置信息;
2.业务平台根据车辆的VIN号确定其对应的目标缓存区。
3.将车辆位置信息存储至REDIS中的目标缓存区。
本发明实施例中,服务器在每个传输周期内,确定所述缓存区段包括的第一目标缓存区,然后将所述第一目标缓存区中缓存的对象信息传输给第一客户端;通过多个缓存区段并行传输数据,以提高数据传输速率,避免单节点传输数据造成数据传输通道拥塞;通过绑定每个缓存区的第一标识号与其所存储对象的第二标识号之间存在预设对应关系,使得对象信息均匀分布在每个缓存区中,使缓存区的存储空间得到合理利用;且在传输时间内,使得每个缓存区段均处于传输状态,以提高传输效率。本发明实施例解决了现有技术中,待传输的数据量庞大导致服务器的数据传输效率较低的问题。
以上介绍了本发明实施例提供的信息传输方法,下面将结合附图介绍本发明实施例提供的信息传输装置。
参见图7,本发明实施例还提供了一种信息传输装置,应用于服务器,所述服务器包括多个缓存区,所述装置包括:
缓存区确定模块701,用于针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区。
其中,缓存区为先于内存与CPU交换数据的存储器,因此其数据交换的速率较快。预先将服务器的缓存存储器分为多个缓存区,每个缓存区可具有一定的存储空间,每个缓存区的存储空间可相同也可不同;然后服务器将缓存区分为多个缓存区段,每个缓存区段内包括的缓存区数目可相同也可不同。
在每个传输周期内,每个缓存区段分别执行数据传输,即多个缓存区段并行传输数据,每个传输周期内,控制至少两个缓存区段执行数据传输,以提高数据传输速率,避免单节点传输数据造成数据传输通道拥塞。
针对每个缓存区段,在每个传输周期内,首先确定其包括的第一目标缓存区。
信息传输模块702,用于将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
对象信息即服务器的待传输数据;将第一目标缓存区存储的对象信息传输给第一客户端;第一客户端为对象信息的接收端;对象可以为车辆、电子设备、用户等,对象信息为该对象的相关参数,比如对象为车辆时,对象信息可以是车辆的位置信息、仪表数据等;对象为电子设备时,对象信息可以是电子设备的运行数据。
每个缓存区具有第一标识号,可选地,第一标识号可按照预设次序依次排序,以标识缓存区的顺序。每个对象具有用于标识其身份的第二标识号,第二标识号可以为一序列,以对象为车辆为例,第二标识号可以为该车辆的车辆识别号码或车架号码(VehicleIdentification Number,VIN)。
第二标识号和存储其对象信息的缓存区的第一标识号之间存在预设对应关系;预设对应关系中,每个所述缓存区对应一预设数目个第二标识号,也就是说,在存储对象信息的过程中,每个对象对应的缓存区为确定的。
一方面,通过绑定第二标识号与第一标识号之间的对应关系,使得对象信息均匀分布在每个缓存区中,使缓存区的存储空间得到合理利用,避免某个缓存区容量饱和,而其他缓存区剩余存储空间较多。
另一方面,在设定预设对应关系时,将所有的第二标识号平均分布在各个缓存区中,使得每个缓存区所存储的对象信息存储容量相当,最终使得每个缓存区段所存储的总存储容量也相当;这样,在每个缓存区段将对象信息传输至第一客户端时,传输速率设定为相同或相差在一数值范围内的相近速率,由于每个缓存区段的传输总量相当,在传输时间内,使得每个缓存区段均处于传输状态,以提高传输效率。
可选地,本发明实施例中,所述装置还包括:
信息接收模块,用于接收第二客户端上报的对象信息,所述对象信息中至少包括对象的第二标识号;
第一确定模块,用于确定与所述第二标识号对应的第二目标缓存区;
缓存模块,用于将所述对象信息存储至所述第二目标缓存区。
可选地,本发明实施例中,所述第一确定模包括:
第一确定子模块,用于根据所述预设对应关系,确定与所述第二标识号对应的第二目标缓存区,所述预设对应关系中,每个所述缓存区对应第一预设数目个所述第二标识号;
或
第二确定子模块,用于根据预设算法,确定与所述第二标识号对应的第二目标缓存区。
可选地,本发明实施例中,所述第二标识号具有第二预设数目个字符,所述字符为数字和/或字母;
所述服务器具有16N个所述缓存区,所述缓存区的第一标识号按照预设顺序依次排序;所述N为大于或等于1的正整数。
可选地,本发明实施例中,所述第二确定子模块,包括:
第一确定单元,用于确定与所述第二标识号对应的第一哈希码,并将所述哈希码转换为二进制的第二哈希码;
右移单元,用于将所述第二哈希码右移16位得到第三哈希码;
第一运算单元,用于将所述第二哈希码与所述第三哈希码进行异或运算,得到二进制哈希值;
第二确定单元,用于确定所述缓存区的数目的二进制偏移值,所述二进制偏移值为所述16N减一并转换为二进制后的数值;
第二运算单元,用于对所述二进制哈希值与所述二进制偏移值求与运算,得到与所述第二标识号对应的第二目标缓存区的第一标识号。
可选地,本发明实施例中,所述缓存模块用于:
判断所述第二目标缓存区是否具有剩余存储空间:
若是,将所述对象信息存储至所述第二目标缓存区;
若否,提示存储异常。
可选地,所述服务器包括备选服务器,所述方法包括:
若所述服务器发生故障,将所述服务器对应的第二客户端上报的对象信息存储至所述备选服务器的缓存区。
可选地,所述将所述对象信息存储至所述第二目标缓存区的步骤,包括:
若在预设的存储周期内,所述服务器未完成将所述对象信息存储至所述第二目标缓存区,则发出告警信息。
可选地,本发明实施例中,所述装置还包括:
调整模块,用于调整所述缓存区段的数目。
本发明实施例提供的信息传输装置能够实现图1至图6的方法实施例中信息传输装置实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,缓存区确定模块701在每个传输周期内,确定所述缓存区段包括的第一目标缓存区,然后信息传输模块702将所述第一目标缓存区中缓存的对象信息传输给第一客户端;通过多个缓存区段并行传输数据,以提高数据传输速率,避免单节点传输数据造成数据传输通道拥塞;通过绑定每个缓存区的第一标识号与其所存储对象的第二标识号之间存在预设对应关系,使得对象信息均匀分布在每个缓存区中,使缓存区的存储空间得到合理利用;且在传输时间内,使得每个缓存区段均处于传输状态,以提高传输效率。本发明实施例解决了现有技术中,待传输的数据量庞大导致服务器的数据传输效率较低的问题。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述信息传输方法中的步骤。
举个例子如下,图8示出了一种电子设备的实体结构示意图。
如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:
针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区;
将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的信息传输方法,例如包括:
针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区;
将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种信息传输方法,应用于服务器,其特征在于,所述服务器包括多个缓存区,所述方法包括:
针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区;
将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
2.根据权利要求1所述的信息传输方法,其特征在于,所述方法还包括:
接收第二客户端上报的对象信息,所述对象信息中至少包括对象的第二标识号;
确定与所述第二标识号对应的第二目标缓存区;
将所述对象信息存储至所述第二目标缓存区。
3.根据权利要求2所述的信息传输方法,其特征在于,所述确定与所述第二标识号对应的第二目标缓存区的步骤,包括:
根据所述预设对应关系,确定与所述第二标识号对应的第二目标缓存区,所述预设对应关系中,每个所述缓存区对应第一预设数目个所述第二标识号;
或根据预设算法,确定与所述第二标识号对应的第二目标缓存区。
4.根据权利要求3所述的信息传输方法,其特征在于,所述第二标识号具有第二预设数目个字符,所述字符为数字和/或字母;
所述服务器具有16N个所述缓存区,所述缓存区的第一标识号按照预设顺序依次排序;所述N为大于或等于1的正整数。
5.根据权利要求4所述的信息传输方法,其特征在于,所述根据预设算法,确定与所述第二标识号对应的第二目标缓存区的步骤,包括:
确定与所述第二标识号对应的第一哈希码,并将所述哈希码转换为二进制的第二哈希码;
将所述第二哈希码右移16位得到第三哈希码;
将所述第二哈希码与所述第三哈希码进行异或运算,得到二进制哈希值;
确定所述缓存区的数目的二进制偏移值,所述二进制偏移值为所述16N减一并转换为二进制后的数值;
对所述二进制哈希值与所述二进制偏移值求与运算,得到与所述第二标识号对应的第二目标缓存区的第一标识号。
6.根据权利要求2所述的信息传输方法,其特征在于,所述将所述对象信息存储至所述第二目标缓存区的步骤,包括:
判断所述第二目标缓存区是否具有剩余存储空间:
若是,将所述对象信息存储至所述第二目标缓存区;
若否,提示存储异常。
7.根据权利要求2所述的信息传输方法,其特征在于,所述服务器包括备选服务器,所述方法包括:
若所述服务器发生故障,将所述服务器对应的第二客户端上报的对象信息存储至所述备选服务器的缓存区。
8.根据权利要求2所述的信息传输方法,其特征在于,所述将所述对象信息存储至所述第二目标缓存区的步骤,包括:
若在预设的存储周期内,所述服务器未完成将所述对象信息存储至所述第二目标缓存区,则发出告警信息。
9.根据权利要求1所述的信息传输方法,其特征在于,所述方法还包括:
调整所述缓存区段的数目。
10.一种信息传输装置,应用于服务器,其特征在于,所述服务器包括多个缓存区,所述装置包括:
缓存区确定模块,用于针对每个缓存区段,在每个传输周期内,确定所述缓存区段包括的第一目标缓存区;其中,每个所述缓存区段包括一个或多个所述缓存区;
信息传输模块,用于将所述第一目标缓存区中缓存的对象信息传输给第一客户端;其中,所述缓存区具有第一标识号,对象具有第二标识号;所述第一标识号与该缓存区所缓存的对象信息所属对象的第二标识号之间具有预设对应关系。
11.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的信息传输方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的信息传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369501.6A CN111211992B (zh) | 2019-12-26 | 2019-12-26 | 一种信息传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369501.6A CN111211992B (zh) | 2019-12-26 | 2019-12-26 | 一种信息传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111211992A true CN111211992A (zh) | 2020-05-29 |
CN111211992B CN111211992B (zh) | 2023-08-15 |
Family
ID=70789358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911369501.6A Active CN111211992B (zh) | 2019-12-26 | 2019-12-26 | 一种信息传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111211992B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992651A (zh) * | 2021-09-24 | 2022-01-28 | 深圳市有方科技股份有限公司 | 一种基于文件传输协议ftp的下载方法和相关产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461966A (zh) * | 2014-12-19 | 2015-03-25 | 深圳市国微电子有限公司 | 一种基于Nand Flash芯片的数据缓存传输方法及其控制器 |
CN106411790A (zh) * | 2016-09-29 | 2017-02-15 | 北京东土科技股份有限公司 | 基于智能变电站保护控制系统的数据传输方法 |
-
2019
- 2019-12-26 CN CN201911369501.6A patent/CN111211992B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461966A (zh) * | 2014-12-19 | 2015-03-25 | 深圳市国微电子有限公司 | 一种基于Nand Flash芯片的数据缓存传输方法及其控制器 |
CN106411790A (zh) * | 2016-09-29 | 2017-02-15 | 北京东土科技股份有限公司 | 基于智能变电站保护控制系统的数据传输方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992651A (zh) * | 2021-09-24 | 2022-01-28 | 深圳市有方科技股份有限公司 | 一种基于文件传输协议ftp的下载方法和相关产品 |
CN113992651B (zh) * | 2021-09-24 | 2024-05-14 | 深圳市有方科技股份有限公司 | 一种基于文件传输协议ftp的下载方法和相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111211992B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815875B (zh) | 信息位图的编码、解码方法及装置 | |
CN112817602A (zh) | 一种json格式数据发送、接收方法、设备及介质 | |
CN108418743B (zh) | 一种聊天室消息分发方法、装置及电子设备 | |
CN111641563A (zh) | 基于分布式场景的流量自适应方法与系统 | |
CN110619019A (zh) | 数据的分布式存储方法及系统 | |
CN110995391A (zh) | 隔离网络中数据的传输方法、服务端及终端 | |
CN111211992B (zh) | 一种信息传输方法及装置 | |
CN113630125A (zh) | 数据压缩、编码解压缩方法、装置、电子设备及存储介质 | |
JP2017514420A5 (zh) | ||
CN116506953A (zh) | 应用于智能通信系统的多信道切换方法、系统及介质 | |
CN109600364B (zh) | 一种实现消息验证的方法、装置及计算机可读存储介质 | |
CN116501997B (zh) | 短链接生成方法、装置、电子设备及存储介质 | |
CN112994965B (zh) | 一种网络异常检测方法、装置和服务器 | |
CN109558442B (zh) | 一种数据实时汇聚方法及系统 | |
CN112434231B (zh) | 一种数据处理方法、装置及电子设备 | |
CN115358772A (zh) | 一种交易风险预测方法、装置、存储介质及计算机设备 | |
CN106912066B (zh) | 一种关键绩效指标的计算方法及装置 | |
CN112699366A (zh) | 跨平台免登安全通讯方法、装置和电子设备 | |
CN111641959A (zh) | 一种网络环境信息的检测方法和装置 | |
CN115766696A (zh) | 一种文件上传方法、装置、电子设备及存储介质 | |
CN103036676B (zh) | 网络资源情况指数下发方法、数据安全传输方法及装置 | |
CN113132060A (zh) | 一种报文数据传输方法及装置 | |
CN113037437A (zh) | 数据传输方法及装置 | |
CN111339097B (zh) | 一种数据处理方法及相关设备 | |
CN113641576B (zh) | 数据库的测试方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |