CN111614966B - 基于同步树的同步方法、系统、装置、设备及存储介质 - Google Patents
基于同步树的同步方法、系统、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111614966B CN111614966B CN202010474761.6A CN202010474761A CN111614966B CN 111614966 B CN111614966 B CN 111614966B CN 202010474761 A CN202010474761 A CN 202010474761A CN 111614966 B CN111614966 B CN 111614966B
- Authority
- CN
- China
- Prior art keywords
- video service
- synchronization
- node
- video
- height
- 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 86
- 230000002068 genetic effect Effects 0.000 claims abstract description 36
- 238000005457 optimization Methods 0.000 claims abstract description 27
- 108091026890 Coding region Proteins 0.000 claims description 147
- 238000010276 construction Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 30
- 230000001360 synchronised effect Effects 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 38
- 108090000623 proteins and genes Proteins 0.000 description 11
- 210000000349 chromosome Anatomy 0.000 description 9
- 230000006866 deterioration Effects 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 101150028074 2 gene Proteins 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/562—Brokering proxy services
-
- 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/23116—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- 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/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Biology (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Genetics & Genomics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种基于同步树的同步方法、系统、装置、设备及存储介质,应用于计算机技术领域,其中,方法包括:获取多个视频服务节点的网络状况信息;将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及各个视频服务节点之间的从属关系;通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树;针对各个视频服务节点,将视频同步树中的节点信息发送至视频服务节点,以使视频服务节点基于视频同步树进行同步。如此,在利用同步树进行视频同步的场景下,能够提高视频的同步效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于同步树的同步方法、系统、装置、设备及存储介质。
背景技术
视频内容分发网络(Content Delivery Network,CDN)指的是一套能够提供视频流服务的CDN系统,一般包括存储、同步、回源、调度、视频文件解析等系统。
客户端观看视频的过程中,采用如下方式下载视频流文件:客户端发起请求后,首先从视频文件解析服务器得到视频文件的解析列表,然后根据该解析列表依次对视频文件进行下载。下载每个视频文件时,都需要向调度器进行一次下载请求,并根据调度器返回的结果去指定的CDN边缘节点下载视频文件。如果视频文件的下载请求到达CDN边缘节点,且该CDN边缘节点存储有该视频文件,则直接向客户端吐出数据;如果该CDN边缘节点未存储该视频文件,则需要向该CDN边缘节点的上游节点发送视频文件的下载请求,当接收到上游节点返回的数据后再向客户端吐出数据,同时把视频文件存储在本地,使得如果下次有相同的下载请求则无需向上游节点请求文件;而如果上游节点也没有该视频文件,则需要向此上游节点的上游节点发送下载请求,依次类推。
如上所述的视频流文件下载方式称为回源,上述方式中当回源链路较长时,用户等待时间会变长。为了缓解这种问题,使用预同步机制。每当有新视频上线,将这些视频所对应的视频文件先发布到全网,然后再将视频露出以允许用户访问,从而保证大部分的访问不需要经过回源即可在CDN边缘节点找到视频文件。其中,将视频文件发布到全网,也可以理解为将视频文件同步至多个视频服务节点。
具体地,将视频文件同步至多个视频服务节点可以通过以下方式实现:构建一个同步树,多个视频服务节点作为同步树的节点。将视频文件从同步树的根节点开始下发,根节点下载完视频文件后,向该根节点对应的子节点下发,子节点下载完成后,向该子节点对应的子节点下发,直至同步树中所有节点均下载得到视频文件,如此即完成视频文件的同步。
可以看出,上述视频文件的同步过程中存在制约因素。一方面,如果同步树的高度过高,则下发视频文件的层次就会较多,会使得同步时间较长而影响同步效率;另一方面,如果同步树的高度过低,则同步树中每个节点之下需要同步的子节点就会较多,针对每个节点,该节点之下的多个子节点并行下发会引起带宽和磁盘的读写问题,即会造成节点的读写压力较大。
现有方式中,通常由开发者根据经验构建同步树,并设定同步树的高度以及同步树中节点的子节点的个数等等,因此,当业务场景不同时,容易导致视频同步树的同步效率较低的问题。
发明内容
本发明实施例的目的在于提供一种基于同步树的同步方法、系统、装置、设备及存储介质,在利用同步树进行视频同步的场景下,提高视频的同步效率。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种基于同步树的同步方法,包括:
获取多个视频服务节点的网络状况信息,所述网络状况信息包括所述视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;
通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树;
针对各个视频服务节点,将所述视频同步树中的节点信息发送至所述视频服务节点,以使所述视频服务节点基于所述视频同步树进行同步。
可选的,在所述通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树之后,所述方法还包括:
当需要对所述视频同步树进行调整时,获取节点状态变化信息,所述节点状态变化信息包括以下信息中的至少一种:节点增加信息、节点减少信息、视频服务节点的变化后的网络状况信息;
将所述节点状态变化信息作为限制条件,并将待构建同步树的高度作为优化目标,通过所述遗传算法,确定待构建同步树的高度以及变化后的多个视频服务节点中视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;
通过所述从属关系以及所述待构建同步树的高度,构建所述变化后的多个视频服务节点对应的变化后视频同步树;
针对所述变化后的多个视频服务节点中的视频服务节点,将所述变化后视频同步树中的父节点信息发送至所述视频服务节点,以使所述视频服务节点基于所述视频同步树进行同步。
可选的,所述将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系,包括:
基于各个视频服务节点的网络状况信息之间的关系和预设构建规则,确定各个视频服务节点的初始从属关系;所述预设构建规则包括父节点的磁盘容量大于等于子节点的磁盘容量,父节点的实际空闲出带宽大于等于子节点的实际入带宽;所述实际空闲出带宽是所述物理出带宽与所述实际出带宽的差值;
将待构建同步树的高度作为优化目标,对所述初始从属关系进行迭代运算,直至满足预设迭代结束条件时,确定待构建同步树的高度和各个视频服务节点之间的从属关系。
可选的,所述基于各个视频服务节点的网络状况信息之间的关系和预设构建规则,确定各个视频服务节点的初始从属关系,包括:
产生预设数量个编码序列,所述编码序列中的一个位置标识一个视频服务节点;
针对所述预设数量个编码序列中的每个编码序列,遍历所述编码序列中的各个位置分别标识的视频服务节点,将所述视频服务节点作为当前父节点,从其他视频服务节点中查找满足预设构建规则的所述当前父节点对应的子节点;其中,所述其他视频服务节点包括除所述当前父节点之外的其他视频服务节点;所述预设构建规则包括所述当前父节点的磁盘容量大于等于所述子节点的磁盘容量,所述当前父节点的实际空闲出带宽大于等于所述子节点的实际入带宽;所述实际空闲出带宽是所述物理出带宽与所述实际出带宽的差值;
所述将待构建同步树的高度作为优化目标,对所述初始从属关系进行迭代运算,直至满足预设迭代结束条件时,确定待构建同步树的高度和各个视频服务节点之间的从属关系,包括:
当满足预设构建完成条件时,将从根节点到最底层节点经过的链路层数作为所述编码序列对应的同步树的高度;其中,所述预设构建完成条件包括:所述编码序列中各个位置分别标识的视频服务节点中,除所述根节点之外的视频服务节点均查找到对应的父节点;当不满足所述预设构建完成条件时,将固定值作为所述编码序列对应的同步树的高度;
基于各个所述编码序列对应的同步树的高度,对各个所述编码序列进行迭代运算,直至满足预设迭代结束条件时,确定目标编码序列以及所述目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系;
所述通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树,包括:
通过所述目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系,构建所述视频同步树。
可选的,所述基于各个所述编码序列对应的同步树的高度,对各个所述编码序列进行迭代运算,直至满足预设迭代结束条件时,确定目标编码序列以及所述目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系,包括:
分别针对各个编码序列,根据所述编码序列对应的同步树的高度,确定所述编码序列对应的目标函数值,所述目标函数值用于表示所述编码序列被选择的概率;
根据各个所述编码序列分别对应的所述目标函数值,通过轮盘赌选择策略,从各个所述编码序列中选择父编码序列;
按照预设交叉策略,针对多个所述父编码序列进行交叉运算,得到交叉编码序列;
按照预设移位策略,针对多个所述交叉编码序列进行移位运算,得到移位运算序列;
从当前迭代运算对应的迭代结果中的编码序列和历史最优编码序列中,选择同步树的高度最小的编码序列作为优化编码序列,并保存所述优化编码序列对应的同步树的高度和各个视频服务节点之间的关系;其中,所述当前迭代运算对应的迭代结果包括多个所述移位运算序列;所述历史最优编码序列是前次迭代运算后保存的;
当满足所述预设迭代结束条件时,将所述优化编码序列作为所述目标编码序列;当不满足所述预设迭代结束条件时,将所述历史最优编码序列替代所述当前迭代运算对应的迭代结果中同步树高度最大所对应的编码序列,并返回所述分别针对各个编码序列,根据所述编码序列对应的同步树的高度,确定所述编码序列对应的目标函数值,所述目标函数值用于表示所述编码序列被选择的概率的步骤,直至满足所述预设迭代结束条件。
可选的,所述按照预设交叉策略,针对多个所述父编码序列进行交叉运算,得到交叉编码序列,包括:
按照所述预设交叉策略,基于预设交叉概率,针对多个所述父编码序列进行交叉运算,得到所述交叉编码序列;
所述按照预设移位策略,针对多个所述交叉编码序列进行移位运算,得到移位运算序列,包括:
按照所述预设移位策略,基于预设移位概率,针对多个所述交叉编码序列进行移位运算,得到所述移位运算序列。
在本发明实施的第二方面,还提供了一种基于同步树的同步系统,包括:
服务器和多个视频服务节点;
各个所述视频服务节点,分别监测所述视频服务节点的网络状况信息,并向所述服务器上报所述网络状况信息,所述网络状况信息包括所述视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
所述服务器,接收各个视频服务节点分别上报的所述网络状况信息;将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树;所述服务器,接收各个视频服务节点分别上报的所述网络状况信息;将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树;针对各个视频服务节点,将所述视频同步树中的节点信息发送至所述视频服务节点;
各个所述视频服务节点,接收所述视频同步树中的节点信息,基于所述视频同步树进行同步。
可选的,所述视频服务节点包括代理端和同步模块;
所述代理端,用于接收所述视频服务节点的所述节点信息,对所述同步模块中所述视频服务节点的节点信息进行更新;
所述同步模块,用于从更新后的节点信息所指示的视频服务节点中下载视频文件。
在本发明实施的第三方面,还提供了一种基于同步树的同步装置,包括:
获取模块,用于获取多个视频服务节点的网络状况信息,针对所述多个视频服务节点中各个视频服务节点,所述网络状况信息包括所述视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
确定模块,用于将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;
构建模块,用于通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树;
同步模块,用于针对各个视频服务节点,将所述视频同步树中所述视频服务节点对应的父节点信息下发至所述视频服务节点,以使所述视频服务节点基于所述视频同步树进行同步。
在本发明实施的第四方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本发明实施例提供的基于同步树的同步方法、系统、装置、设备及存储介质中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,基于优化后的同步树的高度以及各个视频服务节点之间的从属关系构建同步树,使得在利用同步树进行视频同步的场景下,能够提高视频的同步效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中基于同步树的同步系统的结构示意图;
图2为本发明实施例中基于同步树的同步方法的一种流程图;
图3为本发明实施例中基于同步树的同步方法的另一种流程图;
图4为本发明实施例中基于同步树的同步方法的另一种流程图;
图5为本发明实施例中基于同步树的同步方法的又一种流程图;
图6为本发明实施例中构建的视频同步树的示意图;
图7为本发明实施例中基于同步树的同步方法的再一种流程图;
图8为本发明实施例中基于同步树的同步装置的一种结构示意图;
图9为本发明实施例中基于同步树的同步装置的另一种结构示意图;
图10为本发明实施例提供电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了更清楚地理解本发明的方案,首先说明本发明实施例提供的基于同步树的同步系统,如图1所示,可以包括:
服务器和多个视频服务节点。
服务器和视频服务节点之间可以通过消息中间件进行通信。消息中间件可以理解为独立于服务器和视频服务节点的通信模块,该通信模块可以通过集成通信程序来实现通信功能。
一种可实现方式中,服务器可以是一台设备,或者服务器也可以部署于两台甚至多台设备,以实现服务器的高可用,如一台设备出现故障,另外的设备可以继续实现服务器的功能。
各个视频服务节点,分别监测视频服务节点的网络状况信息,并向服务器上报网络状况信息,网络状况信息包括视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽。
各个视频服务节点可以实时监测自身的网络状况信息,并将该网络状况信息上报给服务器。具体地,视频服务节点可以每隔预设时间周期主动向服务器上报该时间周期内的网络状况信息。或者,服务器每隔预设时间周期从视频服务节点获取网络状况信息,如服务器向视频服务节点发送获取请求,视频服务节点在接收到该获取请求后,向服务器发送网络状况信息。其中,预设时间周期可以根据实际需求确定,如30秒、1分钟、5分钟等等。
服务器,接收各个视频服务节点分别上报的网络状况信息;将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,从属关系包括父节点与子节点的所属关系;通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树;服务器,接收各个视频服务节点分别上报的网络状况信息;将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,从属关系包括父节点与子节点的所属关系;通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树;针对各个视频服务节点,将视频同步树中的节点信息发送至视频服务节点。
各个视频服务节点,接收视频同步树中的节点信息,基于视频同步树进行同步。
本发明实施例中,服务器结合多个视频服务节点上报的网络状况信息,确定用于构建视频同步树的待构建同步树的高度以及各个视频服务节点之间的从属关系,并构建用于视频文件同步的视频同步树,如此,视频服务节点可以基于该视频同步树完成对视频文件的同步。
一种可选的实施例中,视频服务节点可以包括代理端和同步模块。
代理端,用于接收视频服务节点的节点信息,对同步模块中视频服务节点的节点信息进行更新;
同步模块,用于从更新后的节点信息所指示的视频服务节点中下载视频文件。
本发明实施例中,代理端监测自身的网络状况信息,并通过消息中间件与服务器通信,如将该网络状况信息上报给服务器,接收服务器下发的节点信息;同步模块,用于实现对视频文件的同步。如代理端对同步模块的该视频服务节点对应的节点进行更新,同步模块从父节点中下载视频文件。
本发明实施例中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,基于优化后的同步树的高度以及各个视频服务节点之间的从属关系构建同步树,使得在利用同步树进行视频同步的场景下,能够提高视频的同步效率。
另外,现有方式中,一般根据经验构建同步树,也可以理解为开发者根据自身的经验估计同步树的高度以及同步树中节点的子节点的个数等等,并根据估计的同步树的高度以及同步树中节点的子节点的个数等构建同步树。而根据估计的同步树的高度以及同步树中节点的子节点的个数等构建同步树的过程有可能存在如下问题:估计的同步树的高度过高,导致基于该同步树进行同步时的同步效率较低;估计的同步树的高度过低,每个节点的子节点的个数过多,而导致读写压力较大。即难以保证,在同步树的高度满足同步效率的同时,节点的子节点的个数也能解决同步过程中的读写压力较大的问题。
本发明实施例中,构建的视频同步树同时结合了视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,以及同步树的高度,而视频服务节点的磁盘容量和带宽信息影响同步过程中的读写压力问题,同步树的高度影响同步过程中的同步效率,如此使得基于该视频同步树进行视频文件的同步可以同时兼顾同步效率和读写压力不恶化,在保证读写压力不恶化的同时提高同步效率。
视频服务节点可以基于该视频同步树完成对视频文件的同步,如此,客户端等可以从视频服务节点中获取视频文件,以减少客户端访问视频文件过程中的回源链路,减少用户等待的时间,提高用户体验。
一种可选的实施例中,网络状态有可能发生变化,如增加视频服务节点、删除视频服务节点、原有视频服务节点的网络状况信息发生变化,如磁盘容量、带宽等发生变化,此时,服务器对视频同步树进行调整,也可以理解为基于变化后的视频服务节点,视频服务节点的网络状况信息重新构建视频同步树,以实现对视频同步树的更新。
如此,可以动态地监测视频服务节点的变化情况,能够基于在网络状态等,如视频服务节点的个数,视频服务节点的网络的状况信息等发生变化后,及时地调整视频同步树,以保证调整的实时性,且相比较于传统技术中根据经验对同步树进行调整的方式,本发明实施例中,根据基于变化后的视频服务节点,视频服务节点的网络状况信息重新构建视频同步树,可以提高构建的视频同步树的准确性,使得基于该视频同步树进行同步时能够兼顾同步效率和读写压力不恶化,进而可以提高多个视频服务节点构成的CDN等的质量,以保证用户的服务体验。
本发明实施例提供了一种基于同步树的同步方法,如图2所示,包括:
S201,获取多个视频服务节点的网络状况信息,网络状况信息包括视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
S202,将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,从属关系包括父节点与子节点的所属关系;
S203,通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树;
S204,针对各个视频服务节点,将视频同步树中的节点信息发送至视频服务节点,以使视频服务节点基于视频同步树进行同步。
本发明实施例中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,构建的视频同步树同时结合了视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,以及同步树的高度,而视频服务节点的磁盘容量和带宽信息影响同步过程中的读写压力问题,同步树的高度影响同步过程中的同步效率,如此使得基于该视频同步树进行视频文件的同步可以同时兼顾同步效率和读写压力不恶化,在保证读写压力不恶化的同时提高同步效率。
本发明实施例提供的基于同步树的同步方法可以应用于上述基于同步的同步系统中的服务器。参照图2,对本发明实施例提供的基于同步树的同步方法进行详细说明。
S201,获取多个视频服务节点的网络状况信息。
针对多个视频服务节点中各个视频服务节点,网络状况信息包括视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽。
各个视频服务节点可以实时监测自身的网络状况信息,并将该网络状况信息上报给服务器。具体地,视频服务节点可以每隔预设时间周期主动向服务器上报该时间周期内的网络状况信息。或者,服务器每隔预设时间周期从视频服务节点获取网络状况信息,如服务器向视频服务节点发送获取请求,视频服务节点在接收到该获取请求后,向服务器发送网络状况信息。其中,预设时间周期可以根据实际需求确定,如30秒、1分钟、5分钟等等。
例如,CDN中包括n个视频服务节点,每个节点的磁盘容量Di,实际入带宽为BIi,物理出带宽为BPi,实际出带宽为BOi,且可以计算实际空闲出带宽为BFi=BPi-BOi。
S202,将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及各个视频服务节点之间的从属关系。
其中,从属关系包括父节点与子节点的所属关系。如针对各个视频服务节点,可以包括视频服务节点的父节点信息以及子节点信息。根据该从属关系可以确定每个视频服务节点的父节点、子节点,子节点的个数等。
遗传算法的基本思想为,将问题的可行解以编码形式表示,将其称为染色体,首先产生一定数量如预设数量如popMax个的染色体,然后对这些染色体按选择、交叉、变异的顺序进行操作,以上的操作要迭代预设次数generation次数,然后输出群体中的最优解。
本发明实施例中,问题的可行解可以是视频服务节点的先后顺序,如可以将视频服务节点进行编号,对编号进行排序,一种排序结果对应一个编码序列,多种不同排序结果对应不同的编码序列,多个编码序列即可以理解为遗传算法过程中待迭代的染色体,将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,如此,对多个编码进行迭代运算,可以得到一个编码序列对应的同步树的高度,以及各个视频服务节点的从属关系。
S203,通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树。
具体地,构建视频同步树可以是建立有从属关系的视频服务节点之间的联系,确定各个视频服务节点的节点信息等。针对各个视频服务节点,节点信息可以包括该视频服务节点对应的父节点信息如父节点的互联网协议(Internet Protocol,IP)地址、子节点信息如如子节点的IP地址。
S204,针对各个视频服务节点,将视频同步树中的节点信息发送至视频服务节点,以使视频服务节点基于视频同步树进行同步。
针对各个视频服务节点,可以将视频同步树中视频服务节点对应的父节点信息发送至视频服务节点,该视频服务节点可以从父节点信息所指示的父节点中下载该视频文件。
一种可选的实施例中,各个视频服务节点得到视频文件的节点信息后,存储视频文件的上层节点将视频文件从视频同步树的根节点开始下发,根节点下载完视频文件后,向该根节点对应的子节点下发,子节点下载完成后,向该子节点对应的子节点下发,直至视频同步树中所有节点均下载得到视频文件,如此完成视频文件的同步。
本发明实施例中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,基于优化后的同步树的高度以及各个视频服务节点之间的从属关系构建同步树,使得在利用同步树进行视频同步的场景下,能够提高视频的同步效率。且构建的视频同步树同时结合了视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,以及同步树的高度,而视频服务节点的磁盘容量和带宽信息影响同步过程中的读写压力问题,同步树的高度影响同步过程中的同步效率,如此使得基于该视频同步树进行视频文件的同步可以同时兼顾同步效率和读写压力不恶化,在保证读写压力不恶化的同时提高同步效率。
视频服务节点可以基于该视频同步树完成对视频文件的同步,如此,客户端等可以从视频服务节点中获取视频文件,以减少客户端访问视频文件过程中的回源链路,减少用户等待的时间,提高用户体验。且同步效率提高,可以保证客户端等可以尽快从视频服务节点中获取视频文件,进一步提高用户体验。
本发明一种可选的实施例中,如图3所示,步骤S202:将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及各个视频服务节点之间的从属关系,可以包括:
S2021,基于各个视频服务节点的网络状况信息之间的关系和预设构建规则,确定各个视频服务节点的初始从属关系。
预设构建规则包括父节点的磁盘容量大于等于子节点的磁盘容量,父节点的实际空闲出带宽大于等于子节点的实际入带宽;实际空闲出带宽是物理出带宽与实际出带宽的差值。
各个视频服务节点的网络状况信息之间的关系可以包括各个视频服务节点之间磁盘容量的关系、物理出带宽的关系和实际出带宽的关系,等等。
一种实施例中,可以比较各个视频服务节点的磁盘容量,同时,比较各个视频服务节点的实际空闲出带宽,当一视频服务节点的磁盘容量小于另一视频服务节点的磁盘容量,且该一视频服务节点的实际空闲出带宽小于该另一视频服务节点的实际空闲出带宽,则将该一视频服务节点作为该另一视频服务节点的子节点;如此类推,遍历各个视频服务节点,直至除了根节点之外,其他视频服务节点均查找到对应的父节点。
S2022,将待构建同步树的高度作为优化目标,对初始从属关系进行迭代运算,直至满足预设迭代结束条件时,确定待构建同步树的高度和各个视频服务节点之间的从属关系。
预设迭代结束条件可以包括迭代次数到达预设次数,或,同步树的高度到达预设高度,多次迭代后同步树的高度收敛,等等。
一种实施例中,对确定的各个视频服务节点的初始从属关系进行迭代运算,也即对初始从属关系进行优化。具体地,可以将初始从属关系中视频服务节点的位置进行交换,其中,交换位置后得到的各个视频服务节点之间的从属关系需满足上述预设构建规则,也即父节点的磁盘容量大于等于子节点的磁盘容量,父节点的实际空闲出带宽大于等于子节点的实际入带宽。可以进行多次迭代,一次迭代过程中可以只进行一次位置交换,或者也可以进行多次位置交换。直至满足预设迭代结束条件,则结束迭代,并确定迭代得到的各个视频服务节点之间的从属关系,当从属关系确定后,即可以确定同步树的高度。
一种可选的实施例中,可以通过遗传算法,对初始从属关系按照选择、交叉、变异的顺序进行迭代运算,当满足预设迭代结束条件时,确定同步树的高度和各个视频服务节点之间的从属关系。
本发明一种可选的实施例中,如图4所示,S2021可以包括:
S401,产生预设数量个编码序列。
编码序列中的一个位置标识一个视频服务节点。
如可以产生序列长度为多个视频服务节点的个数的随机序列。
一种可实现方式中,可以使用整数序列描述同步树,可以理解为通过整数序列对多个视频服务节点进行编码,编码序列,例如,通过1到n的随机整数序列组成一个编码序列,表示一个编码序列对应的同步树,如可以通过1表示第一个服务器,2表示第2个服务器,n表示第n个服务器,等等。
S402,针对预设数量个编码序列中的每个编码序列,遍历编码序列中的各个位置分别标识的视频服务节点,将视频服务节点作为当前父节点,从其他视频服务节点中查找满足预设构建规则的当前父节点对应的子节点。
其中,其他视频服务节点包括除当前父节点之外的其他视频服务节点。
预设构建规则包括当前父节点的磁盘容量大于等于子节点的磁盘容量,当前父节点的实际空闲出带宽大于等于子节点的实际入带宽;实际空闲出带宽是物理出带宽与实际出带宽的差值。
S2022可以包括:
S403,当满足预设构建完成条件时,将从根节点到最底层节点经过的链路层数作为编码序列对应的同步树的高度,当不满足预设构建完成条件时,将固定值作为编码序列对应的同步树的高度。
其中,预设构建完成条件包括:编码序列中各个位置分别标识的视频服务节点中,除根节点之外的视频服务节点均查找到对应的父节点。
固定值可以为一个比较大的值,例如,如果同步树的高度大于7则会导致基于该同步树进行同步时同步效率较低,则固定值则可以为大于7的值,如100等。
S404,基于各个编码序列对应的同步树的高度,对各个编码序列进行迭代运算,直至满足预设迭代结束条件时,确定目标编码序列以及目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系。
预设迭代结束条件可以包括迭代次数到达预设次数,或,同步树的高度到达预设高度,多次迭代后同步树的高度收敛,等等。
S203:通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树,可以包括:
通过目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系,构建视频同步树。
一种可选的实施例中,如图5所示,S404可以包括:
S501,分别针对各个编码序列,根据编码序列对应的同步树的高度,确定编码序列对应的目标函数值。
目标函数值用于表示编码序列被选择的概率。
目标函数值也可以理解为遗传算法过程中的适应度,适应度越低,则迭代过程中被淘汰,也即被替换的概率越大。
即目标函数与对应编码序列被选择的概率成正比,如目标函数值越大则对应的编码序列被选择的概率越大,
S502,根据各个编码序列分别对应的目标函数值,通过轮盘赌选择策略,从各个编码序列中选择父编码序列。
可以计算各个编码序列对应的目标函数值在所有可能的目标函数值中的概率,得到各个目标函数值所对应的概率。如此,可以通过轮盘赌选择策略,从各个编码序列中选择父编码序列。
一种可实现方式中,可以初始化产生的编码序列的数量,例如对S2021中产生的编码序列的数量,即预设数量进行初始化,该预设数量为偶数。
例如,各个编码序列的数量为10个,则执行10次轮盘赌选择策略,选择出10个父编码序列。
具体地,轮盘赌选择策略可以基于传统技术中的方式,这里不再赘述。
S503,按照预设交叉策略,针对多个父编码序列进行交叉运算,得到交叉编码序列。
一种可实现方式中,可以依次随机从多个父编码序列中选择两个父编码序列进行交叉运算,得到的交叉编码序列的数量与父编码序列的数量相同。如上述S20242得到10个父编码序列,可以将10个父编码序列两两配对,分别进行交叉运算,如此,可以得到10个交叉编码序列。
具体地,交叉运算过程中,首先选择“基因位置”,即编码序列中的位置,基于该基因位置对两个编码序列进行交叉。如随机选择2个基因位置i和j,i和j之间的基因位置包括i和j称为“中间基因”。两个待进行交叉运算的编码序列的“中间基因”按照另一个编码序列中的顺序重新排列,其他基因位置保持不变。
一种可实现方式中,可以按照预设交叉策略,基于预设交叉概率,对针对多个父编码序列进行交叉运算,得到交叉编码序列。
预设交叉概率用于指示是否进行交叉运算。预设交叉概率可以根据实际需求选择。例如,可以产生一个随机值,若随机值不小于该预设交叉概率,则进行交叉运算;若随机值小于该预设交叉概率,则不进行交叉运算。
S504,按照预设移位策略,针对多个交叉编码序列进行移位运算,得到移位运算序列。
移位运算可以包括循环左移、循环右移等。
一种可实现方式中,可以针对数量与各个编码序列的数量相同的多个交叉编码序列,分别进行移位运算,得到多个移位运算序列,多个移位运算序列的数量与编码序列的数量相同,如各个编码序列的数量为10个,则得到10个移位运算序列。
一种可实现方式中,可以按照预设移位策略,基于预设移位概率,针对多个交叉编码序列进行移位运算,得到移位运算序列。
预设移位概率用于指示是否进行移位运算。预设移位概率可以根据实际需求选择。例如,可以产生一个随机值,若随机值不小于该预设移位概率,则进行移位运算;若随机值小于该预设移位概率,则不进行移位运算。
S505,从当前迭代运算对应的迭代结果中的编码序列和历史最优编码序列中,选择同步树的高度最小的编码序列作为优化编码序列,并保存优化编码序列对应的同步树的高度和各个视频服务节点之间的关系。
其中,当前迭代运算对应的迭代结果包括多个移位运算序列;历史最优编码序列是前次迭代运算后保存的。
S506,判断是否满足预设迭代结束条件。
当满足预设迭代结束条件时,执行S507;当不满足预设迭代结束条件时,将历史最优编码序列替代当前迭代运算对应的迭代结果中同步树高度最大所对应的编码序列,并返回S501,直至满足预设迭代结束条件。
S507,将优化编码序列作为目标编码序列。
即每次迭代运算结束后,保存当前迭代运算对应的迭代结果中最优的编码序列,即对应的同步树的高度最小的编码序列,作为历史最优编码序列。如此,当当前迭代运算完成后,利用该历史最优编码序列替代当前迭代运算对应的迭代结果中同步树高度最大所对应的编码序列,直至满足预设迭代结束条件,结束迭代,选择出迭代过程中的最优编码序列作为目标编码序列。
为了更清楚地理解本发明实施例中视频同步树的构建过程,本发明实施例提供了一个具体的例子,如下:
组成预设数量个编码序列s1s2…sn,每个位置表示一个视频服务节点,针对预设数量个编码序列进行如下步骤:
A11、令i=1,p=1,pe=1,sp为当前父节点,spe是最后一个可作为父节点的节点。
A12、从节点si+1到sn查找第一个满足规则的节点sk,规则如且令sk作为sp的子节点,同时将实际空闲出带宽更新:并将sk和si+1位置互换,更新最后可用的父节点pe=i+1,开始下一个节点的梳理i=i+1,转A12。
A13、如果遍历了所有节点都没有找到满足规则的子节点,则p=p+1,尝试将节点挂载到下一个父节点。如果p>pe,则表示同步树构建失败,此同步树的高度定义为一个固定值HF,构建结束;否则,转A12。
A14、如果所有节点遍历完毕,并且每个节点都找到了其父节点(除了根节点),则同步树构建完毕,将同步树的高度定义为H(从根节点到最底层节点经过的链路层数)。
开始运行遗传算法,需要迭代运行多次才能找到最优解。
A15,选择操作:即根据各个编码序列分别对应的目标函数值,通过轮盘赌选择策略,从各个编码序列中选择两个父编码序列。
轮盘赌选择策略,按照目标函数计算的目标函数值选择。目的是减小同步树的高度,因此,目标函数(o)定义为:如果同步树的高度不是HF,令o=n-H,如果同步树的高度是HF,令o=0.1(高度越小目标函数值越大,被选择的概率越大)。
A16,交叉操作:即按照预设交叉策略,对两个父编码序列进行交叉运算,得到交叉编码序列。
边基因保留策略,对于某2个父代染色体,如两个父编码序列,随机选择2个基因位置i和j,i和j之间的基因包括i和j称为“中间基因”。“中间基因”按照它们在对方中的顺序重新排列,其他基因保持不变。
交叉操作可以是两两染色体随机搭配按照预设交叉概率概率Pc进行。
A17,变异操作,也可以称之为移位操作。即按照预设移位策略,对交叉编码序列进行移位运算,得到移位运算序列。
将经过交叉操作的染色体,即编码序列的“中间基因”循环右移。
变异操作可以是每个个体按照预设移位概率Pm进行。
保存最优:把曾经出现过的最好的染色体保存起来,替换每代中最差的染色体,保存最优的操作,在每次计算目标函数值后与选择操作前进行。
即每次迭代运算结束后,保存当前迭代运算对应的迭代结果中最优的编码序列,即对应的同步树的高度最小的编码序列,作为历史最优编码序列。如此,当当前迭代运算完成后,利用该历史最优编码序列替代当前迭代运算对应的迭代结果中同步树高度最大所对应的编码序列,直至满足预设迭代结束条件,结束迭代,选择出迭代过程中的最优编码序列作为目标编码序列。
遗传算法是一种启发式算法,本发明实施例中通过遗传算法在视频同步树构建过程中对视频同步树进行优化,使得基于构建的该视频同步树进行同步时,可以降低同步时间,若有n个视频服务节点,则基于该n个视频服务节点构建的视频同步树进行同步时,可以将同步时间从传统算法的n!缩短至o(n*popMax*generation)。
一个具体的例子中,目标编码序列如87654321。且每个视频服务节点的磁盘容量依次降低。
父节点的实际空闲出带宽和子节点的实际入带宽的情况如下:
BF8=2BI7=2BI6;
BF7=BF6=2BI5=2BI4=2BI3=2BI2;
BF5=BF4=BF3=BF2=2BI1
则可以构建如图6所示的同步树。
网络状态有可能发生变化,如增加视频服务节点、删除视频服务节点、原有视频服务节点的网络状况信息发生变化,如磁盘容量、带宽等发生变化,此时,服务器对视频同步树进行调整,也可以理解为基于变化后的视频服务节点,视频服务节点的网络状况信息重新构建视频同步树,以实现对视频同步树的更新。
一种可选的实施例中,在S203:通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树之后,如图7所示,还可以包括:
S701,当需要对视频同步树进行调整时,获取节点状态变化信息。
节点状态变化信息包括以下信息中的至少一种:节点增加信息、节点减少信息、视频服务节点的变化后的网络状况信息。
需要对视频同步树进行调整可以包括增加视频服务节点、删除视频服务节点、原有视频服务节点的网络状况信息发生变化等情况发生时。
可以实时监测节点变化情况,如是否有增加的节点,删除的节点,是否有节点出现故障需要删除等,监测已有视频服务节点的网络状况信息是否发生变化等。一种可实现方式中,视频服务节点进行监测,当监测到有变化时,则将变化后的相关信息发送至服务器,如将节点状态变化信息发送至服务器。
服务器可以基于节点状态变化信息重新构建视频同步树,以实现对视频同步树的更新,也可以理解为基于节点变化情况对视频同步树进行调整。具体地,构建同步树的过程在上述实施例中已经进行了详细说明,重新构建视频同步树参照上述实施例即可,这里不再赘述。
S702,将节点状态变化信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及变化后的多个视频服务节点中视频服务节点之间的从属关系。
其中,从属关系包括父节点与子节点的所属关系。
S703,通过从属关系以及待构建同步树的高度,构建变化后的多个视频服务节点对应的变化后视频同步树。
S704,针对变化后的多个视频服务节点中的视频服务节点,将变化后视频同步树中的父节点信息发送至视频服务节点,以使视频服务节点基于视频同步树进行同步。
如此,可以动态地监测视频服务节点的变化情况,能够基于在网络状态等,如视频服务节点的个数,视频服务节点的网络的状况信息等发生变化后,及时地调整视频同步树,以保证调整的实时性,且相比较于传统技术中根据经验对同步树进行调整的方式,本发明实施例中,根据基于变化后的视频服务节点,视频服务节点的网络状况信息重新构建视频同步树,可以提高构建的视频同步树的准确性,使得基于该视频同步树进行同步时能够兼顾同步效率和读写压力不恶化,进而可以提高多个视频服务节点构成的CDN等的质量,以保证用户的服务体验。
对应于上述实施例提供的基于同步树的同步方法,本发明实施例还提供了一种基于同步树的同步装置,如图8所示,包括:
获取模块801,用于获取多个视频服务节点的网络状况信息,网络状况信息包括视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
确定模块802,用于将网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,从属关系包括父节点与子节点的所属关系;
构建模块803,用于通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树;
同步模块804,用于针对各个视频服务节点,将视频同步树中的节点信息发送至视频服务节点,以使视频服务节点基于视频同步树进行同步。
本发明实施例中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,基于优化后的同步树的高度以及各个视频服务节点之间的从属关系构建同步树,使得在利用同步树进行视频同步的场景下,能够提高视频的同步效率。且构建的视频同步树同时结合了视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,以及同步树的高度,而视频服务节点的磁盘容量和带宽信息影响同步过程中的读写压力问题,同步树的高度影响同步过程中的同步效率,如此使得基于该视频同步树进行视频文件的同步可以同时兼顾同步效率和读写压力不恶化,在保证读写压力不恶化的同时提高同步效率。
可选的,如图9所示,装置还包括:
调整模块805,用于在通过从属关系以及待构建同步树的高度,构建多个视频服务节点对应的视频同步树之后,当需要对视频同步树进行调整时,获取节点状态变化信息,节点状态变化信息包括以下信息中的至少一种:节点增加信息、节点减少信息、视频服务节点的变化后的网络状况信息;将节点状态变化信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定待构建同步树的高度以及变化后的多个视频服务节点中视频服务节点之间的从属关系;其中,从属关系包括父节点与子节点的所属关系;通过从属关系以及待构建同步树的高度,构建变化后的多个视频服务节点对应的变化后视频同步树;
同步模块804,具体用于针对变化后的多个视频服务节点中的视频服务节点,将变化后视频同步树中的父节点信息发送至视频服务节点,以使视频服务节点基于视频同步树进行同步。
可选的,确定模块802,具体用于基于各个视频服务节点的网络状况信息之间的关系和预设构建规则,确定各个视频服务节点的初始从属关系;预设构建规则包括父节点的磁盘容量大于等于子节点的磁盘容量,父节点的实际空闲出带宽大于等于子节点的实际入带宽;实际空闲出带宽是物理出带宽与实际出带宽的差值;将待构建同步树的高度作为优化目标,对初始从属关系进行迭代运算,直至满足预设迭代结束条件时,确定待构建同步树的高度和各个视频服务节点之间的从属关系。
可选的,确定模块802,具体用于产生预设数量个编码序列,编码序列中的一个位置标识一个视频服务节点;针对预设数量个编码序列中的每个编码序列,遍历编码序列中的各个位置分别标识的视频服务节点,将视频服务节点作为当前父节点,从其他视频服务节点中查找满足预设构建规则的当前父节点对应的子节点;其中,其他视频服务节点包括除当前父节点之外的其他视频服务节点;预设构建规则包括当前父节点的磁盘容量大于等于子节点的磁盘容量,当前父节点的实际空闲出带宽大于等于子节点的实际入带宽;实际空闲出带宽是物理出带宽与实际出带宽的差值;当满足预设构建完成条件时,将从根节点到最底层节点经过的链路层数作为编码序列对应的同步树的高度;其中,预设构建完成条件包括:编码序列中各个位置分别标识的视频服务节点中,除根节点之外的视频服务节点均查找到对应的父节点;当不满足预设构建完成条件时,将固定值作为编码序列对应的同步树的高度;基于各个编码序列对应的同步树的高度,对各个编码序列进行迭代运算,直至满足预设迭代结束条件时,确定目标编码序列以及目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系;
构建模块803,具体用于通过目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系,构建视频同步树。
可选的,确定模块802,具体用于分别针对各个编码序列,根据编码序列对应的同步树的高度,确定编码序列对应的目标函数值,目标函数值用于表示编码序列被选择的概率;根据各个编码序列分别对应的目标函数值,通过轮盘赌选择策略,从各个编码序列中选择父编码序列;按照预设交叉策略,针对多个父编码序列进行交叉运算,得到交叉编码序列;按照预设移位策略,针对多个交叉编码序列进行移位运算,得到移位运算序列;从当前迭代运算对应的迭代结果中的编码序列和历史最优编码序列中,选择同步树的高度最小的编码序列作为优化编码序列,并保存优化编码序列对应的同步树的高度和各个视频服务节点之间的关系;其中,当前迭代运算对应的迭代结果包括多个移位运算序列;历史最优编码序列是前次迭代运算后保存的;当满足预设迭代结束条件时,将优化编码序列作为目标编码序列;当不满足预设迭代结束条件时,将历史最优编码序列替代当前迭代运算对应的迭代结果中同步树高度最大所对应的编码序列,并返回分别针对各个编码序列,根据编码序列对应的同步树的高度,确定编码序列对应的目标函数值,目标函数值用于表示编码序列被选择的概率的步骤,直至满足预设迭代结束条件。
可选的,确定模块802,具体用于按照预设交叉策略,基于预设交叉概率,针对多个父编码序列进行交叉运算,得到交叉编码序列;按照预设移位策略,基于预设移位概率,针对多个交叉编码序列进行移位运算,得到移位运算序列。
本发明实施例提供的基于同步树的同步装置是应用上述基于同步树的同步方法的装置,则上述基于同步树的同步方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述实施例提供的基于同步树的同步方法的方法步骤。
本发明实施例中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,基于优化后的同步树的高度以及各个视频服务节点之间的从属关系构建同步树,使得在利用同步树进行视频同步的场景下,能够提高视频的同步效率。且构建的视频同步树同时结合了视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,以及同步树的高度,而视频服务节点的磁盘容量和带宽信息影响同步过程中的读写压力问题,同步树的高度影响同步过程中的同步效率,如此使得基于该视频同步树进行视频文件的同步可以同时兼顾同步效率和读写压力不恶化,在保证读写压力不恶化的同时提高同步效率。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的基于同步树的同步方法的方法步骤。
本发明实施例中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,基于优化后的同步树的高度以及各个视频服务节点之间的从属关系构建同步树,使得在利用同步树进行视频同步的场景下,能够提高视频的同步效率。且构建的视频同步树同时结合了视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,以及同步树的高度,而视频服务节点的磁盘容量和带宽信息影响同步过程中的读写压力问题,同步树的高度影响同步过程中的同步效率,如此使得基于该视频同步树进行视频文件的同步可以同时兼顾同步效率和读写压力不恶化,在保证读写压力不恶化的同时提高同步效率。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的基于同步树的同步方法的方法步骤。
本发明实施例中,在构建用于同步视频文件的视频同步树的过程中,结合视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,通过遗传算法对待构建同步树的高度以及各个视频服务节点之间的从属关系进行优化,基于优化后的同步树的高度以及各个视频服务节点之间的从属关系构建同步树,使得在利用同步树进行视频同步的场景下,能够提高视频的同步效率。且构建的视频同步树同时结合了视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽,以及同步树的高度,而视频服务节点的磁盘容量和带宽信息影响同步过程中的读写压力问题,同步树的高度影响同步过程中的同步效率,如此使得基于该视频同步树进行视频文件的同步可以同时兼顾同步效率和读写压力不恶化,在保证读写压力不恶化的同时提高同步效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统、装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种基于同步树的同步方法,其特征在于,包括:
获取多个视频服务节点的网络状况信息,所述网络状况信息包括所述视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;
通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树;
针对各个视频服务节点,将所述视频同步树中的节点信息发送至所述视频服务节点,以使所述视频服务节点基于所述视频同步树进行同步。
2.根据权利要求1所述的方法,其特征在于,在所述通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树之后,所述方法还包括:
当需要对所述视频同步树进行调整时,获取节点状态变化信息,所述节点状态变化信息包括以下信息中的至少一种:节点增加信息、节点减少信息、视频服务节点的变化后的网络状况信息;
将所述节点状态变化信息作为限制条件,并将待构建同步树的高度作为优化目标,通过所述遗传算法,确定待构建同步树的高度以及变化后的多个视频服务节点中视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;
通过所述从属关系以及所述待构建同步树的高度,构建所述变化后的多个视频服务节点对应的变化后视频同步树;
针对所述变化后的多个视频服务节点中的视频服务节点,将所述变化后视频同步树中的父节点信息发送至所述视频服务节点,以使所述视频服务节点基于所述视频同步树进行同步。
3.根据权利要求1所述的方法,其特征在于,所述将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系,包括:
基于各个视频服务节点的网络状况信息之间的关系和预设构建规则,确定各个视频服务节点的初始从属关系;所述预设构建规则包括父节点的磁盘容量大于等于子节点的磁盘容量,父节点的实际空闲出带宽大于等于子节点的实际入带宽;所述实际空闲出带宽是所述物理出带宽与所述实际出带宽的差值;
将待构建同步树的高度作为优化目标,对所述初始从属关系进行迭代运算,直至满足预设迭代结束条件时,确定待构建同步树的高度和各个视频服务节点之间的从属关系。
4.根据权利要求3所述的方法,其特征在于,所述基于各个视频服务节点的网络状况信息之间的关系和预设构建规则,确定各个视频服务节点的初始从属关系,包括:
产生预设数量个编码序列,所述编码序列中的一个位置标识一个视频服务节点;
针对所述预设数量个编码序列中的每个编码序列,遍历所述编码序列中的各个位置分别标识的视频服务节点,将所述视频服务节点作为当前父节点,从其他视频服务节点中查找满足所述预设构建规则的所述当前父节点对应的子节点;其中,所述其他视频服务节点包括除所述当前父节点之外的其他视频服务节点;所述预设构建规则包括所述当前父节点的磁盘容量大于等于所述子节点的磁盘容量,所述当前父节点的实际空闲出带宽大于等于所述子节点的实际入带宽;
所述将待构建同步树的高度作为优化目标,对所述初始从属关系进行迭代运算,直至满足预设迭代结束条件时,确定待构建同步树的高度和各个视频服务节点之间的从属关系,包括:
当满足预设构建完成条件时,将从根节点到最底层节点经过的链路层数作为所述编码序列对应的同步树的高度;其中,所述预设构建完成条件包括:所述编码序列中各个位置分别标识的视频服务节点中,除所述根节点之外的视频服务节点均查找到对应的父节点;当不满足所述预设构建完成条件时,将固定值作为所述编码序列对应的同步树的高度;
基于各个所述编码序列对应的同步树的高度,对各个所述编码序列进行迭代运算,直至满足所述预设迭代结束条件时,确定目标编码序列以及所述目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系;
所述通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树,包括:
通过所述目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系,构建所述视频同步树。
5.根据权利要求4所述的方法,其特征在于,所述基于各个所述编码序列对应的同步树的高度,对各个所述编码序列进行迭代运算,直至满足预设迭代结束条件时,确定目标编码序列以及所述目标编码序列对应的同步树的高度和各个视频服务节点之间的从属关系,包括:
分别针对各个编码序列,根据所述编码序列对应的同步树的高度,确定所述编码序列对应的目标函数值,所述目标函数值用于表示所述编码序列被选择的概率;
根据各个所述编码序列分别对应的所述目标函数值,通过轮盘赌选择策略,从各个所述编码序列中选择父编码序列;
按照预设交叉策略,针对多个所述父编码序列进行交叉运算,得到交叉编码序列;
按照预设移位策略,针对多个所述交叉编码序列进行移位运算,得到移位运算序列;
从当前迭代运算对应的迭代结果中的编码序列和历史最优编码序列中,选择同步树的高度最小的编码序列作为优化编码序列,并保存所述优化编码序列对应的同步树的高度和各个视频服务节点之间的关系;其中,所述当前迭代运算对应的迭代结果包括多个所述移位运算序列;所述历史最优编码序列是前次迭代运算后保存的;
当满足所述预设迭代结束条件时,将所述优化编码序列作为所述目标编码序列;当不满足所述预设迭代结束条件时,将所述历史最优编码序列替代所述当前迭代运算对应的迭代结果中同步树高度最大所对应的编码序列,并返回所述分别针对各个编码序列,根据所述编码序列对应的同步树的高度,确定所述编码序列对应的目标函数值,所述目标函数值用于表示所述编码序列被选择的概率的步骤,直至满足所述预设迭代结束条件。
6.根据权利要求 5所述的方法,其特征在于,所述按照预设交叉策略,针对多个所述父编码序列进行交叉运算,得到交叉编码序列,包括:
按照所述预设交叉策略,基于预设交叉概率,针对多个所述父编码序列进行交叉运算,得到所述交叉编码序列;
所述按照预设移位策略,针对多个所述交叉编码序列进行移位运算,得到移位运算序列,包括:
按照所述预设移位策略,基于预设移位概率,针对多个所述交叉编码序列进行移位运算,得到所述移位运算序列。
7.一种基于同步树的同步系统,其特征在于,包括:
服务器和多个视频服务节点;
各个所述视频服务节点,分别监测所述视频服务节点的网络状况信息,并向所述服务器上报所述网络状况信息,所述网络状况信息包括所述视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
所述服务器,接收各个视频服务节点分别上报的所述网络状况信息;将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树;针对各个视频服务节点,将所述视频同步树中的节点信息发送至所述视频服务节点;
各个所述视频服务节点,接收所述视频同步树中的节点信息,基于所述视频同步树进行同步。
8.根据权利要求7所述的系统,其特征在于,所述视频服务节点包括代理端和同步模块;
所述代理端,用于接收所述视频服务节点的所述节点信息,对所述同步模块中所述视频服务节点的节点信息进行更新;
所述同步模块,用于从更新后的节点信息所指示的视频服务节点中下载视频文件。
9.一种基于同步树的同步装置,其特征在于,包括:
获取模块,用于获取多个视频服务节点的网络状况信息,针对所述多个视频服务节点中各个视频服务节点,所述网络状况信息包括所述视频服务节点的磁盘容量、实际入带宽、物理出带宽和实际出带宽;
确定模块,用于将所述网络状况信息作为限制条件,并将待构建同步树的高度作为优化目标,通过遗传算法,确定所述待构建同步树的高度以及各个视频服务节点之间的从属关系;其中,所述从属关系包括父节点与子节点的所属关系;
构建模块,用于通过所述从属关系以及所述待构建同步树的高度,构建所述多个视频服务节点对应的视频同步树;
同步模块,用于针对各个视频服务节点,将所述视频同步树中的节点信息发送至所述视频服务节点,以使所述视频服务节点基于所述视频同步树进行同步。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010474761.6A CN111614966B (zh) | 2020-05-29 | 2020-05-29 | 基于同步树的同步方法、系统、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010474761.6A CN111614966B (zh) | 2020-05-29 | 2020-05-29 | 基于同步树的同步方法、系统、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111614966A CN111614966A (zh) | 2020-09-01 |
CN111614966B true CN111614966B (zh) | 2022-01-21 |
Family
ID=72201850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010474761.6A Active CN111614966B (zh) | 2020-05-29 | 2020-05-29 | 基于同步树的同步方法、系统、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111614966B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115471627A (zh) * | 2021-06-11 | 2022-12-13 | 维沃移动通信有限公司 | 点云的几何信息编码处理方法、解码处理方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193294A (zh) * | 2006-11-29 | 2008-06-04 | 中兴通讯股份有限公司 | 一种视频内容服务系统和服务方法 |
CN105447571A (zh) * | 2015-11-20 | 2016-03-30 | 中国电子科技集团公司第二十八研究所 | 一种基于遗传算法的体系结构自动优化方法 |
CN108234173A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 节点副本更新方法和装置 |
CN110166800A (zh) * | 2019-05-22 | 2019-08-23 | 北京奇艺世纪科技有限公司 | 视频回源方法、系统、装置及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8345707B2 (en) * | 2009-06-03 | 2013-01-01 | Voxer Ip Llc | Method for synchronizing data maintained at a plurality of nodes |
EP2825976B1 (en) * | 2012-03-16 | 2017-05-03 | BlackBerry Limited | System and method for managing data using tree structures |
-
2020
- 2020-05-29 CN CN202010474761.6A patent/CN111614966B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193294A (zh) * | 2006-11-29 | 2008-06-04 | 中兴通讯股份有限公司 | 一种视频内容服务系统和服务方法 |
CN105447571A (zh) * | 2015-11-20 | 2016-03-30 | 中国电子科技集团公司第二十八研究所 | 一种基于遗传算法的体系结构自动优化方法 |
CN108234173A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 节点副本更新方法和装置 |
CN110166800A (zh) * | 2019-05-22 | 2019-08-23 | 北京奇艺世纪科技有限公司 | 视频回源方法、系统、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111614966A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10747780B2 (en) | Blockchain-based data processing method and device | |
CN102170455B (zh) | 用于在本地装置和远程装置间更新对象的方法和系统 | |
US9575809B2 (en) | Distributed stochastic clustering for automated formation of connected networks of agents | |
US8180853B2 (en) | Method and apparatus for transmitting data in a peer-to-peer network | |
US20200082398A1 (en) | Proof-of-Devotion Blockchain Consensus Algorithm | |
US7454408B2 (en) | System and method for optimized distributed file transfer | |
CN104052803A (zh) | 一种去中心化的分布式渲染方法及渲染系统 | |
WO2007136464A1 (en) | Content management in peer-to-peer content distribution clouds | |
WO2010075868A1 (en) | Method and system for data management in peer-to- peer network | |
CN108156257B (zh) | 一种信息推送方法及装置 | |
CN109962947A (zh) | 一种对等网络中的任务分配方法及装置 | |
CN111614966B (zh) | 基于同步树的同步方法、系统、装置、设备及存储介质 | |
CN110992052A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20230370359A1 (en) | Satisfying demands in data communications networks | |
da Silva et al. | Exploiting heterogeneity in P2P video streaming | |
KR20180073128A (ko) | 데이터 블록 비교에 의한 데이터 업데이트 방법 | |
CN110855492B (zh) | 一种数据处理方法、装置及存储介质 | |
CN109474696B (zh) | 一种网络服务方法、装置、电子设备及可读存储介质 | |
US20170206132A1 (en) | Hybrid storage system using p2p and data transmission method using same | |
WO2015033410A1 (ja) | 情報処理システム、サーバ装置、情報処理方法及びプログラム | |
CN111464600B (zh) | 点对点存储网络建立方法、装置、介质及电子设备 | |
CN117499017B (zh) | 区块链网络传输方法、系统及存储介质和终端设备 | |
Gaidamaka et al. | Simulation of buffering mechanism for peer-to-peer live streaming network with collisions and playback lags | |
JP5012712B2 (ja) | コンテンツ分散保存システム、総評価値管理装置、管理処理プログラム、ノード装置、及び総評価値管理方法 | |
CN110597540A (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 |