CN111787349B - 一种数据缓存方法、装置、设备及介质 - Google Patents
一种数据缓存方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111787349B CN111787349B CN202010427493.2A CN202010427493A CN111787349B CN 111787349 B CN111787349 B CN 111787349B CN 202010427493 A CN202010427493 A CN 202010427493A CN 111787349 B CN111787349 B CN 111787349B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- sent
- virtual storage
- storage device
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000003860 storage Methods 0.000 claims abstract description 232
- 230000005540 biological transmission Effects 0.000 claims abstract description 50
- 238000012544 monitoring process Methods 0.000 claims abstract description 33
- 238000013500 data storage Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 13
- 230000002688 persistence Effects 0.000 claims description 9
- 230000002085 persistent effect Effects 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 6
- 230000006855 networking Effects 0.000 abstract description 37
- 230000000903 blocking effect Effects 0.000 abstract description 6
- 238000010606 normalization Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 238000011144 upstream manufacturing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4332—Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据缓存方法、装置、设备及介质。本发明接收来自于数据发送设备的待发送数据,根据所述待发送数据的标识,确定对应的目标虚拟存储节点,将所述待发送数据写入所述目标虚拟存储节点中,监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。本发明解决了视联网中大量数据的传输、存储问题,实现了视联数据的传输正常化,达到视联网应用之间进行正常数据传输、存储的需求,使视联数据无阻塞、无延迟传输和存储。
Description
技术领域
本发明涉及数据存储技术领域,特别是涉及一种数据缓存方法、装置、设备及介质。
背景技术
在视联网中,视联数据作为视联网的具体表现形式,在整个系统中处于核心地位。通常除了视频数据,还包括终端数据、服务器数据、流量数据、告警数据、日志数据、用户数据等。数据的互动性强,对系统时延有着非常高的要求,因此直接的数据存储、传输方式已经不能适应视联数据的技术体系。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种数据缓存方法、装置、设备及介质。
第一方面,为了解决上述问题,本发明实施例公开了一种数据缓存方法,应用于数据存储系统,所述方法包括:
接收来自于数据发送设备的待发送数据;
根据所述待发送数据的标识,确定对应的目标虚拟存储节点;
将所述待发送数据写入所述目标虚拟存储节点中;
监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
优选的,虚拟存储节点的数量是多个,不同的虚拟存储节点部署于相同或不同的存储设备中;在将所述待发送数据写入对应的虚拟存储节点中之后,所述方法还包括:
将所述待发送数据同步到其他虚拟存储节点中;
在检测到所述目标虚拟存储节点发生故障时,将所述目标虚拟存储节点对应的候选虚拟存储节点设置为新的目标虚拟存储节点,返回以下步骤:
监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
优选的,所述数据存储系统还包括:数据库;在将所述待发送数据写入所述目标虚拟存储节点中之后,所述方法还包括:
监测所述目标存储设备的使用率是否超过第一阈值;
在所述目标存储设备的使用率超过第一阈值的情况下,将所述待发数据持久化到所述数据库中;
在所述目标存储设备的使用率未超过所述第一阈值的情况下,将所述待发送数据恢复到所述目标虚拟存储设备中空闲的虚拟存储节点中。
优选的,在将所述待发送数据写入所述目标虚拟存储节点中之后,所述方法还包括:
监测所述待发送数据在所述目标虚拟存储节点中的存储时间是否超过第二阈值;
在所述存储时间超过所述第二阈值的情况下,将所述待发数据持久化到所述数据库中,并将所述待发送数据从所述目标虚拟存储节点中删除。
优选的,在将所述待发送数据同步到其他虚拟存储节点中之后,所述方法还包括:
获得所述目标存储设备的负载状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输,包括:
在所述目标存储设备的负载状态为负载值高于预设值的状态,且所述网络状态满足所述预设条件时,控制所述目标存储设备之外的任一存储设备与数据接收设备之间进行所述待发送数据的传输。
第二方面,为了解决上述问题,本发明实施例还公开了一种数据缓存装置,用于数据存储系统,所述装置包括:
数据接收模块,用于接收来自于数据发送设备的待发送数据;
虚拟存储节点确定模块,用于根据所述待发送数据的标识,确定对应的目标虚拟存储节点;
数据写入模块,用于将所述待发送数据写入所述目标虚拟存储节点中;
网络状态监测模块,用于监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;
数据传输模块,用于在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
优选的,虚拟存储节点的数量是多个,不同的虚拟存储节点部署于相同或不同的存储设备中;所述装置还包括:
数据同步模块,用于将所述待发送数据同步到其他虚拟存储节点中;
虚拟存储节点切换模块,用于在检测到所述目标虚拟存储节点发生故障时,将所述目标虚拟存储节点对应的候选虚拟存储节点设置为新的目标虚拟存储节点,返回以下步骤:
监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
优选的,所述数据存储系统还包括:数据库;所述装置还包括:
使用率监测模块,用于监测所述目标存储设备的使用率是否超过第一阈值;
第一数据持久化模块,用于在所述目标存储设备的使用率超过第一阈值的情况下,将所述待发数据持久化到所述数据库中;
数据恢复模块,用于在所述目标存储设备的使用率未超过所述第一阈值的情况下,将所述待发送数据恢复到所述目标虚拟存储设备中空闲的虚拟存储节点中。
优选的,所述装置还包括:
时间监测模块,用于监测所述待发送数据在所述目标虚拟存储节点中的存储时间是否超过第二阈值;
第二数据持久化模块,用于在所述存储时间超过所述第二阈值的情况下,将所述待发数据持久化到所述数据库中,并将所述待发送数据从所述目标虚拟存储节点中删除。
优选的,所述装置还包括:
负载状态获取模块,用于获得所述目标存储设备的负载状态;
所述数据传输模块,包括:
数据传输子模块,用于在所述目标存储设备的负载状态为负载值高于预设值的状态,且所述网络状态满足所述预设条件时,控制所述目标存储设备之外的任一存储设备与数据接收设备之间进行所述待发送数据的传输。
第三方面,为了解决上述问题,本发明实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,优选的,所述处理器执行所述程序时实现如上述第一方面一种数据缓存方法的步骤。
第四方面,为了解决上述问题,本发明实施例还公开了一种计算机可读存储介质,优选的,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的一种数据缓存方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,通过根据所述待发送数据的标识,确定对应的目标虚拟存储节点,使得待发送数据的有序、高效存储;通过监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态,在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输,提高了待发送数据的发送效率,减少了数据传输的延迟。同时,本发明实现了待发送数据的正常传输、存储,使视联数据无阻塞、无延迟传输和存储。
附图说明
图1是本发明的一种数据缓存方法的方案构思图;
图2是本发明的一种数据缓存方法实施例的步骤流程图;
图3是本发明的一种数据缓存方法实施例的步骤流程图;
图4是本发明的一种软件架构图;
图5是本发明的一种数据缓存装置的框架结构图;
图6是本发明的一种视联网的组网示意图;
图7是本发明的一种节点服务器的硬件结构示意图;
图8是本发明的一种接入交换机的硬件结构示意图;
图9是本发明的一种以太网协转网关的硬件结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在本发明实施例中,数据存储系统外接多个数据发送设备和数据接收设备。其中,数据存储系统具体为视联网数据缓存池和数据库;数据发送设备和数据接收设备具体为各种终端设备,如各种会议机顶盒、可视电话机顶盒、手术试教机顶盒,流媒体网关、存储网关、媒体合成器、电脑、移动终端等等;数据库具体可为视联数据库。视联网缓存池包括一个目标存储设备和多个配置相同的其它存储设备。具体的,目标存储设备具体可为master主机,其它存储设备具体可为slave主机,master主机和slave主机中都配置了多个相同的虚拟存储节点,且master主机和slave主机的角色可以相互转化,例如,通过随机算法选择一个slave主机自动切换为master主机,由该被选择的slave主机执行被替换master主机的所有功能。
参照图1,示出了本发明的一种数据缓存方法的方案构思图。
在本发明实施例中,当视联数据遇到传输、存储阻塞时,将该视联网数据写入视联数据缓存池。视联数据缓存池中设置有过期失效时间,当检测到一些存储在视联数据缓存池中的数据超过预设的过期失效时间时,视联数据缓存池将这些视联数据转存到视联数据存储层即视联数据库中,并将这些数据从视联数据缓存池中删除。
视联数据缓存池中还设置有存储设备的使用率对应的第一阈值,当检测到存储设备的缓存使用率超过预设的第一阈值时,缓存池将不再将接收的视联数据存储到目标存储设备,而是将该数据直接存储到视联数据存储层中;当检测到存储设备的缓存使用率未超过预设的有存储设备的使用率时,视联数据缓存池自动将视联数据存储层中的数据按照优先级或\和存储时间长短预设规制部分或全部数据恢复到目标存储设备中。
在视联数据缓存池和数据接收设备之间恢复数据传输时,优先从视联数据缓存池中读取待发送的视联数据,以将该数据发送到数据接收设备中。在视联数据缓存池没有存储待发送的视联数据时,从视联数据存储层读取待发送的视联数据,以将该数据发送到数据接收设备中。
参照图2,示出了本发明的一种数据缓存方法实施例的步骤流程图,该方法应用于数据存储系统,具体可以包括如下步骤:
步骤201,接收来自于数据发送设备的待发送数据。
在具体实现中,数据存储系统主要部署在视联网中。当数据发送设备发送的待发送数据为互联网数据时,该互联网数据会先由视联网协转服务器进行协议格式转化为视联网数据,再由协助服务器将该数据发送给数据存储系统。当数据发送设备发送的待发送数据为视联网数据时,协转服务器将该数据转发给数据存储系统。最后,数据存储系统接收该待发送数据。
步骤202,根据所述待发送数据的标识,确定对应的目标虚拟存储节点。
在具体实现中,数据存储系统给接收的待发送数据确定一个全局唯一标识,该标识用于将该待发数据和其它待发数据区分开来。将该标识带入CRC16%16384算法中计算,根据计算结果确定该待发数据对应的目标虚拟存储节点。
具体的,数据存储系统给接收的待发送数据确定一个全局唯一标识,即全局ID,用CRC16标准校验算法给该标识进行CRC取值校验,再用该CRC值对16384槽取模,以确定该待发送数据存储的对应的目标虚拟存储节点,即确定目标虚拟存储节点ID。
步骤203,将所述待发送数据写入所述目标虚拟存储节点中。
在具体实现中,将待发送数据的全局ID、虚拟存储节点ID添加到该待发送数据的数据头中。此外,该待发送数据的数据头中还包括数据发送设备的标识、数据接收设备的标识。
在确定待发送数据对应目标虚拟存储节点ID后,将待发送数据写入目标虚拟存储节点中。
步骤204,监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态。
在具体实现中,目标存储设备和其它存储设备都部署了相同的虚拟存储节点。
数据存储系统根据待发送数据数据头中的数据接收设备的标识确定该待发送数据需要被发送的数据接收设备。
数据存储系统监测目标存储设备和该待发送数据需要被发送的数据接收设备之间的网络状态值。在本发明实施例中网络状态值可以为表示终端对网络服务器发送数据到接收到服务器反馈数据的时间,即ping值,也可以是其它能够表征网络连接状态的其它值,本发明不做限制。
步骤205,在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
在具体实现中,当监测到目标存储设备和数据接收设备之间的网络状态值满足预设条件时,读取数据存储系统中存储的待发送数据,并将该待发送数据发送到数据接收设备中,在数据接收设备收到该数据后,会给数据存储系统返回一个响应信息,数据存储系统在接收到该响应信息后将对应的待发送数据从对应虚拟存储节点中删除。
例如,当监测到目标存储设备和数据接收设备之间的ping值小于预设值时,数据存储系统将控制目标存储设备读取对应虚拟存储节点中的待发送数据,并将该待发送数据发送到对应数据接收设备中,在数据存储系统收到数据接收设备表示成功接收该待发送数据的响应后,删除数据存储系统中所有存储的该待发送数据。
在本发明实施例中,通过根据所述待发送数据的标识,确定对应的目标虚拟存储节点,使得待发送数据的有序、高效存储;通过监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态,在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输,提高了待发送数据的发送效率,减少了数据传输的延迟。
参照图3,示出了本发明的一种数据缓存方法实施例的步骤流程图,该方法应用于数据存储系统,具体步骤如下:
数据存储系统包括视联数据缓存池和视联数据库。视联数据缓存池中还包括:元数据库管理器、事务管理器、调度服务器,调度服务器还包括事件分派器、事件处理器以及同步服务器。
步骤301,接收来自于数据发送设备的待发送数据;
在本发明实施例中,在大数据量传输的情况下,数据发送设备给数据接收设备发送待发送数据时常常会遇到数据传输、存储中的阻塞问题,导致数据的发送不成功或发送效率不高。
当数据发送设备给数据接收设备发送待发送数据的发送时间超过预设的时间阈值时,数据发送设备将该待发送数据发送给协转服务器。若该待发送数据为非视联网格式的数据,则由协转服务将将待发送数据进行基于视联网协议的格式转化,将待发送数据的数据格式转化为视联网数据格式,再由协转服务器将这些格式转化后的待发送数据发送到数据存储系统的视联网数据缓存池中;若该待发送数据为视联网格式的数据,则有协转服务器将该待发送数据转发给视联数据缓存池。
在本发明实施例中,待发送数据的数据头中包括数据发送设备的标识和数据接收设备的标识。
步骤302,根据所述待发送数据的标识,确定对应的目标虚拟存储节点;
在本发明实施例中,事件分派器用epoll来实现IO多路复用将该视联网数据放入缓存队列中进行排队,当到处理该数据的时候,事件分派器读取到该视联网数据后,将该数据分派给事件处理器,事件处理器给该待发送数据分配一个全局唯一标识,即全局ID。其中,epoll能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
事件分派器用CRC16标准校验算法给该标识进行CRC取值校验,再用该CRC值对16384槽取模,以确定该待发送数据存储的对应的目标虚拟存储节点,即确定目标虚拟存储节点ID。
步骤303,将所述待发送数据写入所述目标虚拟存储节点中;
在本发明实施例中,在对待发送数据存储之前,还包括:判断该待发送数据的数据大小是否大于预设数据大小阈值,通常预设数据大小阈值可为128M。在待发送数据的数据大小大于128M时,事件处理器将该待发送数据分成多个小数据流,事件处理器并在每个数据流的数据头添加全局ID、数据流索引(自增,唯一键)、数据发送设备的标识、数据接收设备的标识、目标存储设备ID、所在的虚拟存储节点ID、数据流长度。事件处理器根据目标存储设备ID和对应的虚拟存储节点ID,将这些数据流存储到与该虚拟存储节点ID对应的虚拟存储节点中。事件处理器触发元数据管理器将待发送数据数据头中记录的信息写入元数据库中。
当待发送数据小于等于128M时,事件处理器根据目标存储设备ID和对应的虚拟存储节点ID,将该待发送数据发送到该虚拟存储节点ID对应的虚拟存储节点中。该待发送数据的数据头包括:全局ID、数据发送设备的标识、数据接收设备的标识、目标存储设备ID、所在的虚拟存储节点ID、数据流长度。
其中,事件是视联数据缓存池接收到待发送数据后开始到将该数据发送到数据接收设备后将该待发送数据从数据存储系统中删除为止的整个过程被称为一个事件。全局ID(键值)是接收到事件后事件分派器分配的全局ID,一个事件对应一个ID,该全局ID可用于跟踪、查找事件对应的待发送数据;数据流索引是一个虚拟存储节点上所有数据流记录的唯一ID,标识数据流在虚拟节点上的索引位置,一个事件可能由多条数据流组成,这些数据流共同组成一条待发送数据;数据发送设备的标识和数据接收设备的标识是视联网内应用的唯一标识符,用来确定传输待发送数据的源端和目的端的连接信息;目标存储设备ID用来定位缓存的主机入口;虚拟存储节点ID是用于查找、定位待发送数据在缓存中的位置;数据流长度用于保证和计算待发送数据传输过程中的计算和保证传输正确性。
在步骤303之后还包括数据持久化的过程,具体步骤如下:
步骤30311,监测所述目标存储设备的使用率是否超过第一阈值。
在本发明实施例中,通过心跳检测服务监测目标存储设备中内存的使用率是否超过预设的第一阈值。其中,预设的第一阈值是预设的目标存储设备中内存的使用界限值。
步骤30312,在所述目标存储设备的使用率超过第一阈值的情况下,将所述待发数据持久化到所述数据库中。
在本发明实施例中,心跳检测服务监测到目标存储设备的使用率超过预设的第一阈值时,目标存储设备不再存储新接收的待发送数据,而是将这些数据直接持久化到数据库中。元数据管理器将这些待发送数据在数据库中的存储位置信息更新到元数据库中。
步骤30313,在所述目标存储设备的使用率未超过所述第一阈值的情况下,将所述待发送数据恢复到所述目标虚拟存储设备中空闲的虚拟存储节点中。
在本发明实施例中,心跳检测服务监测到目标存储设备的使用率未超过预设的第一阈值时,目标存储设备将数据库中存储的待发送数据恢复到目标存储设备中空闲的虚拟存储节点中。
因此,本发明通过目标存储设备内存不够时将待发送数据存储到数据库中,在目标存储设备内存有空闲时,将待发送数据恢复到目标存储设备中,使得待发送数据优先从内存中查询,并可以发送到数据接收设备中,尽可能的避免了待发送数据由数据查询和发送所消耗的网络资源,同时,从内存中查询的速度和网络资源明显小于数据库,所以本发明调高了待发送数据的查询和发送速度。
在步骤303之后还包括资源回收的过程,具体步骤如下:
步骤30321,监测所述待发送数据在所述目标虚拟存储节点中的存储时间是否超过第二阈值。
在本发明实施例中,通过心跳检测服务监测目标存储设备中虚拟存储节点中的待发送数据存储时间是否超过预设的第二阈值。其中,预设的第二阈值是待发送数据在虚拟存储节点中存储的时间界限值。
步骤30322,在所述存储时间超过所述第二阈值的情况下,将所述待发数据持久化到所述数据库中,并将所述待发送数据从所述目标虚拟存储节点中删除。
在本发明实施例中,心跳检测服务监测到待发送数据在虚拟存储节点中存储的时间超过预设第二阈值时,表示这些待发送数据在短时间内不能发送到数据接收装备中,为了减少目标存储设备的内存占用率,因此,目标存储设备将这些待发送数据持久化到数据库中,并将这些待发送数据从目标存储设备的虚拟储存节点中删除。元数据管理器将这些待发送数据在数据库中的存储位置信息更新到元数据库中。
本发明通过资源回收的方式使目标存储设备的内存资源得到解放,最大化的实现了目标存储设备的内存使用率。
步骤304,将所述待发送数据同步到其他虚拟存储节点中。
在本发明实施例中,虚拟存储节点的数量是多个,不同的虚拟存储节点部署于相同或不同的存储设备中。
在待发送数据写入目标虚拟存储节点中之后,事件处理器触发同步服务器将该待发送数据同步到其它虚拟存储节点中。
具体的,目标存储设备和其它存储设备各自维护了一个同步日志。同步日志对每个虚拟存储节点有对应的标记点。同步服务器将其它存储设备的虚拟存储节点的标记点和目标存储设备对应虚拟存储节点的标记点进行比较,当其它存储设备的虚拟存储节点的标记点在目标存储设备的日志中匹配到相同的标点,则从该标记点之后的待发送数据同步到上述其它存储设备对应的虚拟节点中。并将其它存储设备日志中的标记点做更新处理,新的标记点在同步的待发送数据之后。元数据管理器将待发送数据同步的存储设备的存储设备ID、所在的虚拟节点ID、待发送数据的数据头内记录的其它信息同步、以及被同步的存储设备的标记点写入元数据库中。中途同步失败后,也会更新被同步存储设备日志中的标记点,元数据管理器将上述同步成功的信息写入元数据库中。
当同步失败后,同步服务器从元数据库中查询上次被同步的存储设备中虚拟节点同步的标记点位置,然后周期性查询上述标记点对应虚拟节点和目标存储设备中对应虚拟节点之间的状态。若状态为连通,则接着重新同步上次未完成的数据,在同步完成后,更新被同步存储设备的日志,以及更新元数据库中被同步虚拟节点对应标记点的位置。
步骤305,在检测到所述目标虚拟存储节点发生故障时,任选一个其它存储设备作为目标存储设备。
具体的,在检测到所述目标虚拟存储节点发生故障时,将所述目标虚拟存储节点对应的候选虚拟存储节点设置为新的目标虚拟存储节点。
在本发明实施例中,通过心跳检测服务实时检测每个存储设备的状态,如,服务是否可用、网络是否通畅、内存和硬盘的使用情况。若目标虚拟存储节点发生故障时,通过随机算法在其它已完成同步的存储设备中选择一个存储设备作为目标存储设备,并用被选择的存储设备执行被替代的目标存储设备的所有功能,调用元数据管理器将被选择的存储设备作为目标存储设备的角色值更新到元数据库中。其中,目标存储设备的虚拟存储节点以及节点中存储的待发送数据全部被选择的存储设备中的对应的虚拟存储节点和对应的待发送数据替代,即,被选择的虚拟存储设备和被替换的目标存储设备的设置完全相同,它们的虚拟存储节点和存储在虚拟存储节点中的数据也完全相同。
因此,本发明通过在检测到所述目标虚拟存储节点发生故障时,将所述目标虚拟存储节点对应的候选虚拟存储节点设置为新的目标虚拟存储节点,实现了存储设备的快速切换,保证了视联数据缓存池的持续工作,让待发送数据的发送不受影响。
步骤306,获得所述目标存储设备的负载状态。
在本发明实施例中,心跳检测服务监测目标存储设备的负载状态,该负载状态包括CPU的能耗状态,和/或I/O(Input/Output,即分为IO设备和IO接口两个部分)的实际数据读写效率。
步骤307,监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态。
在本发明实施例中,事件处理器定时监测目标存储设备和对应的数据接收设备之间的网络状态。
步骤308,在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
在本发明实施例中,事件处理器监测到上述网络状态为满足预设条件时,触发元数据管理器查询元数据库得到预发送给数据接收设备的待发数据的存储位置信息,控制目标存储设备根据该存储位置信息将待发送数据发送给数据接收设备。其中,存储位置信息表示该待发送数据在数据库或目标数据存储设备中的具体存储位置信息。
例如,当从元数据库中查找到该待发送数据存储在目标数据存储设备的目标虚拟存储节点中,则从该目标虚拟存储节点中读取该待发送数据后,将该待发送数据发送到数据接收设备中。在数据接收设备收到该数据后,会给事件处理器返回一个响应信息,事件处理器在接收到该响应信息后将对应的待发送数据从对应虚拟存储节点中删除。
当从元数据库中查找到该待发送数据存储在数据库中,则从数据库中查找到该待发送数据,并将该待发送数据发送到数据接收设备中。在数据接收设备收到该数据后,会给事件处理器返回一个响应信息,事件处理器在接收到该响应信息后将对应的待发送数据从数据库中删除。
步骤309,在所述目标存储设备的负载状态为负载值高于预设值的状态,且所述网络状态满足所述预设条件时,控制所述目标存储设备之外的任一存储设备与数据接收设备之间进行所述待发送数据的传输。
在本发明实施例中,事件处理器监测到目标存储设备的负载值高于预设的状态值,即目标存储设备为高负载状态时,且目标存储设备和数据接收设备之间的网络状态为满足预设条件时,通过预设随机算法任选一个已完成数据同步的其它存储设备,作为待发送数据的发送设备。事件处理器触发元数据管理器查询元数据库得到待发数据在被选择的存储设备中的存储位置信息,事件处理器控制被选择的存储设备根据存储位置信息查询到待发送数据对应存储的虚拟存储节点,并从该节点读取到待发送数据并发送到数据接收设备中。在数据接收设备收到该数据后,会给事件处理器返回一个响应信息,事件处理器在接收到该响应信息后将对应的待发送数据从对应虚拟存储节点中删除。
优选的实施例,在将所述待发送数据同步到其他虚拟存储节点中之后,所述方法还包括:用目标存储设备将待发送数据写到位于该目标存储设备的目标虚拟存储节点中;在将该待发送数据同步到其它存储设备后,用所述目标存储设备之外的任一存储设备从该选择的存储设备的对应虚拟存储节点中读取到上述待发送数据之后,将该待发送数据发送到数据接收设备中。
具体的,本发明可以使用读写分离的方式存储和发送待发送数据。事件处理器根据目标存储设备ID和对应的虚拟存储节点ID,将该待发送数据写入到该目标存储设备对应的虚拟存储节点中。
当目标存储设备和其它存储设备完成待发送数据的同步后,通过预设随机算法任选一个已完成数据同步的其它存储设备,作为待发送数据的发送设备。事件处理器控制被选择的存储设备将待发送数据发送到数据接收设备中。
在本发明实施例中,将较大的数据分成较小的数据流存储在目标虚拟存储节点中减少了数据存储系统一次性存储较大数据的压力;通过目标存储设备内存不够时将待发送数据存储到数据库中,在目标存储设备内存有空闲时,将待发送数据恢复到目标存储设备中,使得待发送数据优先从内存中查询,并可以发送到数据接收设备中,尽可能的避免了待发送数据由数据查询和发送所消耗的网络资源,同时,从内存中查询的速度和网络资源明显小于数据库,所以本发明调高了待发送数据的查询和发送速度;通过资源回收使目标存储设备的内存资源得到解放,最大化的实现了目标存储设备的内存使用率;通过数据同步,保证了数据的安全性,避免了数据的丢失;通过用其它存储设备代替出故障的目标虚拟存储设备,实现了存储设备的快速切换,保证了视联数据缓存池的持续工作,让待发送数据的发送不受影响;通过在目标存储设备高负载且和数据接收设备网络连通时用控制所述目标存储设备之外的任一存储设备与数据接收设备之间进行所述待发送数据的传输,不只实现了读写分离,即用目标存储设备存储待发送数据,用其它存储设备读取并发送待发送数据,还减少了目标存储设备的负载压力,并发性能更好。本发明中视联网在大数据量的情况下,实现了视联数据无阻塞、无延迟的数据存储、传输,达到项目要求,提升用户体验的效果。
参照图4,提供了本发明的一种软件架构图。图中应用1、应用2、应用3等,这些应用对应本发明的数据接收设备或数据发送设备;图中视联数据缓存池中的主机1、主机2、主机3等对应本发明的目标存储设备和至少一个其它存储设备;图中主机1、2、3等包含了多个节点,主机1、2、3等中配置的节点相同,且图中的节点为本发明的虚拟存储节点;视联数据库对应本发明的数据库。
例如,本发明中应用1为源应用、应用3为对应的目标应用,主机1为master主机,主机2为slave主机。当应用1在给应用2发送视联数据时,由于数据传输、存储中的阻塞问题,导致应用1的数据发送等待时间过长,超过预设值时,应用1将视联数据发送给协转服务器,由协转服务器将该数据转发给视联数据缓存池,视联数据缓存池在接收到该数据后将该数据存储到主机1的对应节点中,在存储成功后,将该数据同步到主机2中;若该数据在节点中的存储时间超过预设时间阈值时,主机1将该数据持久化到视联数据库中并将该数据从主机1中删除;当主机1的内存存储率超过预设存储阈值时,主机1将不再存储后续视联数据,直接将后续的视联数据存储发哦视联数据库中,在监测到主机1的内存存储率小于预设存储阈值时即主机1有空闲的节点时,按照优先级将视联数据库中存储的全部视联数据或部分视联数据存储到主机1的空闲节点中;用心跳服务机制监测主机1的状态,若主机1或主机1中的某节点出现故障,则进行主从切换,由主机2替代主机1的全部功能;通过心跳服务机制监测应用3和视联数据缓存池的网络状态,若为连通状态,则查询需给应用3发送的视联数据在视联数据缓存池中还是视联数据库中,将对应节点或视联数据库中的视联数据发送到应用3中,在应用3成功接收后将该数据从对应节点和视联数据库中删除。
本发明解决了视联网中大量数据的传输、存储问题,实现了视联数据的传输正常化,达到视联网应用之间进行正常数据传输、存储的需求,使视联数据无阻塞、无延迟传输和存储。
参照图5,示出了本发明的一种数据缓存装置的框架结构图,该装置用于数据存储系统,该装置包括如下模块:
数据接收模块501,用于接收来自于数据发送设备的待发送数据。
虚拟存储节点确定模块502,用于根据所述待发送数据的标识,确定对应的目标虚拟存储节点。
数据写入模块503,用于将所述待发送数据写入所述目标虚拟存储节点中。
网络状态监测模块504,用于监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态。
数据传输模块505,用于在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
优选的,该装置中虚拟存储节点的数量是多个,不同的虚拟存储节点部署于相同或不同的存储设备中;数据存储系统还包括:数据库;该装置装置还包括如下模块:
数据同步模块,用于将所述待发送数据同步到其他虚拟存储节点中。
虚拟存储节点切换模块,用于在检测到所述目标虚拟存储节点发生故障时,将所述目标虚拟存储节点对应的候选虚拟存储节点设置为新的目标虚拟存储节点,返回以下步骤:
监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
使用率监测模块,用于监测所述目标存储设备的使用率是否超过第一阈值。
第一数据持久化模块,用于在所述目标存储设备的使用率超过第一阈值的情况下,将所述待发数据持久化到所述数据库中。
数据恢复模块,用于在所述目标存储设备的使用率未超过所述第一阈值的情况下,将所述待发送数据恢复到所述目标虚拟存储设备中空闲的虚拟存储节点中。
时间监测模块,用于监测所述待发送数据在所述目标虚拟存储节点中的存储时间是否超过第二阈值。
第二数据持久化模块,用于在所述存储时间超过所述第二阈值的情况下,将所述待发数据持久化到所述数据库中,并将所述待发送数据从所述目标虚拟存储节点中删除。
负载状态获取模块,用于获得所述目标存储设备的负载状态。
所述数据传输模块,包括:
数据传输子模块,用于在所述目标存储设备的负载状态为负载值高于预设值的状态,且所述网络状态满足所述预设条件时,控制所述目标存储设备之外的任一存储设备与数据接收设备之间进行所述待发送数据的传输。
基于同一发明构思,本发明另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图6所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图7所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图8所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块208是由CPU模块204来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
如图9所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据缓存方法、装置、设备及介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种数据缓存方法,其特征在于,应用于数据存储系统,所述方法包括:
接收来自于数据发送设备的待发送数据,并确定所述待发送数据的标识;
根据所述待发送数据的标识,确定对应的目标虚拟存储节点;
将所述待发送数据写入所述目标虚拟存储节点中;
监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态,所述网络状态为目标存储设备和数据接收设备之间反馈数据的时间;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输;
虚拟存储节点的数量是多个,不同的虚拟存储节点部署于相同或不同的存储设备中;在将所述待发送数据写入对应的虚拟存储节点中之后,所述方法还包括:
将所述待发送数据同步到其他虚拟存储节点中,其中,目标存储设备和其它存储设备各自维护了一个同步日志,所述同步日志对每个虚拟存储节点有对应的标记点;
在将所述待发送数据同步到其他虚拟存储节点中之后,所述方法还包括:
获得所述目标存储设备的负载状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输,包括:
在所述目标存储设备的负载状态为负载值高于预设值的状态,且所述网络状态满足所述预设条件时,控制所述目标存储设备之外的任一存储设备与数据接收设备之间进行所述待发送数据的传输。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述目标虚拟存储节点发生故障时,将所述目标虚拟存储节点对应的候选虚拟存储节点设置为新的目标虚拟存储节点,返回以下步骤:
监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
3.根据权利要求1所述的方法,其特征在于,所述数据存储系统还包括:数据库;在将所述待发送数据写入所述目标虚拟存储节点中之后,所述方法还包括:
监测所述目标存储设备的使用率是否超过第一阈值;
在所述目标存储设备的使用率超过第一阈值的情况下,将所述待发数据持久化到所述数据库中;
在所述目标存储设备的使用率未超过所述第一阈值的情况下,将所述待发送数据恢复到所述目标虚拟存储设备中空闲的虚拟存储节点中。
4.根据权利要求3所述的方法,其特征在于,在将所述待发送数据写入所述目标虚拟存储节点中之后,所述方法还包括:
监测所述待发送数据在所述目标虚拟存储节点中的存储时间是否超过第二阈值;
在所述存储时间超过所述第二阈值的情况下,将所述待发数据持久化到所述数据库中,并将所述待发送数据从所述目标虚拟存储节点中删除。
5.一种数据缓存装置,其特征在于,用于数据存储系统,所述装置包括:
数据接收模块,用于接收来自于数据发送设备的待发送数据,并确定所述待发送数据的标识;
虚拟存储节点确定模块,用于根据所述待发送数据的标识,确定对应的目标虚拟存储节点;
数据写入模块,用于将所述待发送数据写入所述目标虚拟存储节点中;
网络状态监测模块,用于监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态,所述网络状态为目标存储设备和数据接收设备之间反馈数据的时间;
数据传输模块,用于在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输;
虚拟存储节点的数量是多个,不同的虚拟存储节点部署于相同或不同的存储设备中;所述装置还包括:
数据同步模块,用于将所述待发送数据同步到其他虚拟存储节点中,其中,目标存储设备和其它存储设备各自维护了一个同步日志,所述同步日志对每个虚拟存储节点有对应的标记点;
负载状态获取模块,用于获得所述目标存储设备的负载状态;
所述数据传输模块,包括:
数据传输子模块,用于在所述目标存储设备的负载状态为负载值高于预设值的状态,且所述网络状态满足所述预设条件时,控制所述目标存储设备之外的任一存储设备与数据接收设备之间进行所述待发送数据的传输。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
虚拟存储节点切换模块,用于在检测到所述目标虚拟存储节点发生故障时,将所述目标虚拟存储节点对应的候选虚拟存储节点设置为新的目标虚拟存储节点,返回以下步骤:
监测部署有所述目标虚拟存储节点的目标存储设备与所述待发送数据对应的数据接收设备之间的网络状态;
在所述网络状态满足预设条件时,控制所述目标存储设备与数据接收设备之间进行所述待发送数据的传输。
7.根据权利要求5所述的装置,其特征在于,所述数据存储系统还包括:数据库;所述装置还包括:
使用率监测模块,用于监测所述目标存储设备的使用率是否超过第一阈值;
第一数据持久化模块,用于在所述目标存储设备的使用率超过第一阈值的情况下,将所述待发数据持久化到所述数据库中;
数据恢复模块,用于在所述目标存储设备的使用率未超过所述第一阈值的情况下,将所述待发送数据恢复到所述目标虚拟存储设备中空闲的虚拟存储节点中。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4中任一项所述的一种数据缓存方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的一种数据缓存方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427493.2A CN111787349B (zh) | 2020-05-19 | 2020-05-19 | 一种数据缓存方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427493.2A CN111787349B (zh) | 2020-05-19 | 2020-05-19 | 一种数据缓存方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111787349A CN111787349A (zh) | 2020-10-16 |
CN111787349B true CN111787349B (zh) | 2023-12-12 |
Family
ID=72754300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010427493.2A Active CN111787349B (zh) | 2020-05-19 | 2020-05-19 | 一种数据缓存方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111787349B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532592B (zh) * | 2020-11-12 | 2023-04-07 | 湖南强智科技发展有限公司 | 一种数据传输方法、装置及计算机存储介质 |
CN113411296B (zh) * | 2021-05-07 | 2022-08-26 | 上海纽盾科技股份有限公司 | 态势感知虚拟链路防御方法、装置及系统 |
CN114513558B (zh) * | 2022-01-29 | 2023-06-16 | 建信金融科技有限责任公司 | 用户请求的处理方法和装置 |
CN115334000B (zh) * | 2022-07-20 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 基于多控存储系统的数据传输方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306717A (zh) * | 2018-01-30 | 2018-07-20 | 平安科技(深圳)有限公司 | 数据传输方法、服务器及存储介质 |
CN109587822A (zh) * | 2018-12-13 | 2019-04-05 | 网易(杭州)网络有限公司 | 信息发送控制方法、信息接收控制方法、装置、存储介质 |
CN109710376A (zh) * | 2018-12-12 | 2019-05-03 | 中国联合网络通信集团有限公司 | 容器集群管理系统的动态调度方法和装置 |
CN110209341A (zh) * | 2018-03-23 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据写入方法、装置和存储设备 |
CN110224988A (zh) * | 2019-05-10 | 2019-09-10 | 视联动力信息技术股份有限公司 | 一种图像数据的处理方法、系统及装置和存储介质 |
CN110569225A (zh) * | 2019-08-26 | 2019-12-13 | 网宿科技股份有限公司 | 一种数据存储方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11237750B2 (en) * | 2018-08-30 | 2022-02-01 | Portworx, Inc. | Dynamic volume replication factor adjustment |
-
2020
- 2020-05-19 CN CN202010427493.2A patent/CN111787349B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306717A (zh) * | 2018-01-30 | 2018-07-20 | 平安科技(深圳)有限公司 | 数据传输方法、服务器及存储介质 |
CN110209341A (zh) * | 2018-03-23 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据写入方法、装置和存储设备 |
CN109710376A (zh) * | 2018-12-12 | 2019-05-03 | 中国联合网络通信集团有限公司 | 容器集群管理系统的动态调度方法和装置 |
CN109587822A (zh) * | 2018-12-13 | 2019-04-05 | 网易(杭州)网络有限公司 | 信息发送控制方法、信息接收控制方法、装置、存储介质 |
CN110224988A (zh) * | 2019-05-10 | 2019-09-10 | 视联动力信息技术股份有限公司 | 一种图像数据的处理方法、系统及装置和存储介质 |
CN110569225A (zh) * | 2019-08-26 | 2019-12-13 | 网宿科技股份有限公司 | 一种数据存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111787349A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111787349B (zh) | 一种数据缓存方法、装置、设备及介质 | |
CN109525460B (zh) | 一种视联网号码资源监测的方法和装置 | |
CN110502259B (zh) | 服务器版本升级方法、视联网系统、电子设备及存储介质 | |
CN110489484B (zh) | 数据同步方法、装置、可读存储介质及电子设备 | |
CN109617956B (zh) | 一种数据处理方法和装置 | |
CN109474715B (zh) | 一种基于视联网的资源配置方法和装置 | |
CN109729388B (zh) | 视联网服务器切换方法和装置 | |
CN109660753B (zh) | 资源同步方法和装置 | |
CN111835555A (zh) | 数据恢复方法、装置及可读存储介质 | |
CN110650171A (zh) | 一种视联网业务调度系统及方法 | |
CN110138730B (zh) | 一种协议转换设备的订阅方法、装置及存储介质 | |
CN109151061B (zh) | 一种数据存储方法和装置 | |
CN111193767A (zh) | 请求数据发送方法、装置和集群化服务器系统 | |
CN110690989A (zh) | 业务数据传输方法、装置和计算机可读存储介质 | |
CN110557608B (zh) | 资源监控方法、装置和计算机可读存储介质 | |
CN109861929B (zh) | 一种数据缓存处理的方法和装置 | |
CN112073203B (zh) | 一种业务恢复方法、装置、电子设备及存储介质 | |
CN111669536B (zh) | 基于视联网的号码管理方法、装置、电子设备及存储介质 | |
CN111614714B (zh) | 一种业务系统的数据处理方法及装置 | |
CN110688532B (zh) | 一种事务管理方法和装置 | |
CN110557669B (zh) | 一种视频数据显示方法和装置 | |
CN110784683B (zh) | 一种监控资源的管理方法、装置及存储介质 | |
CN110225079B (zh) | 一种设备控制方法、装置及可读存储介质 | |
CN110120937B (zh) | 资源获取方法、系统、设备和计算机可读存储介质 | |
CN110012064B (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 |