本发明涉及区块链视频存证的技术领域,特别涉及用于区块链存证平台的矿工任务分配方法及系统。
背景技术:
目前,区块链技术已经被逐渐推广到不同领域中,而区块链技术一个主要的应用就是构建基于区块链的视频监控存证平台,其通过使用区块链存证技术保障监控视频的真实性、可用性和安全性。在实际操作中,通常使用随机方式选取一个应用计算机轮流作为矿工来进行监控视频的上传处理,这很容易发生随机选取的应用计算机当前不具备进行上传处理的运算余力而导致监控视频上传过慢甚至上传停顿的情况,从而大大降低区块链存证平台的工作效率。可见,现有技术的区块链存证平台并不能选取具有最优运算能力的应用计算机作用作视频上传,其严重制约区块链存证平台的系统稳定性。
技术实现要素:
针对现有技术存在的缺陷,本发明提供用于区块链存证平台的矿工任务分配方法及系统,该用于区块链存证平台的矿工任务分配方法及系统通过指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包该全景监控视频,从而获得若干监控视频数据包,根据该区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传该若干监控视频数据包,并对该指定的应用计算机进行标识,再根据该所有应用计算机的实时运算状态以及该标识的结果,更新指定另一应用计算机作为该矿工,并对该另一应用计算机进行标识;可见,该用于区块链存证平台的矿工任务分配方法及系统有别于现有技术采用随机选取应用计算机作为矿工的方式,其根据所有应用计算机各自的运算状态,指定具有最优运算性能的应用计算机作为矿工进行监控视频上传,并且还能够更新不同的应用计算机作为矿工和避免同一应用计算机连续作为矿工,从而最大限度地提高区块链存证平台的视频上传速度与效率以及平台系统的工作稳定性。
本发明提供用于区块链存证平台的矿工任务分配方法,其特征在于,所述用于区块链存证平台的矿工任务分配方法包括如下步骤:
步骤s1,指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包所述全景监控视频,从而获得若干监控视频数据包;
步骤s2,根据所述区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传所述若干监控视频数据包,并对所述指定的应用计算机进行标识;
步骤s3,根据所述所有应用计算机的实时运算状态以及所述标识的结果,更新指定另一应用计算机作为所述矿工,并对所述另一应用计算机进行标识;
进一步,在所述步骤s1中,指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包所述全景监控视频,从而获得若干监控视频数据包具体包括,
步骤s101,指示所述监控摄像头对所述预定监控场景进行周期性扫描拍摄,从而录制得到相应的360度全景监控视频;
步骤s102,根据所述周期性扫描拍摄的时间轴,对所述360度全景监控视频进行预定时间间隔的分割,从而得到若干全景监控子视频;
步骤s103,对每一个所述全景监控子视频进行保真压缩和加密,从而得到若干监控视频数据包;
进一步,在所述步骤s2中,根据所述区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传所述若干监控视频数据包,并对所述指定的应用计算机进行标识具体包括,
步骤s201,根据所述区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及各自的初始运算速度与初始运算任务荷载,构建一矿工分配算法;
步骤s202,根据所述矿工分配算法,指定某一个应用计算机作为所述矿工,以用于上传所述若干监控视频数据包;
步骤s203,将所述指定的应用计算机标识为虚拟上传服务器;
进一步,在所述步骤s201,根据所述区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及各自的初始运算速度与初始运算任务荷载,构建一矿工分配算法具体包括,
第一、根据所述区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及所述初始运算速度,并结合下面公式(1),计算得到通信可靠评估值:
在上述公式(1)中,表示区块链存证平台中第w个应用计算机的通信可靠性评估值、且w=1、2、3...m、m表示区块链存证平台中所述应用计算机的总数量,n表示区块链存证平台中与第w应用计算机关联的应用计算机的总数量,aj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的部件的总可靠度,bj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的通信可靠度,cj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的初始运算速度,c0表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的理论平均运算速度,
第二、根据下面公式(2),计算确定通信优先级评估值:
在上述公式(2),ε1表示第一预设权重,ε2表示第二预设权重,pw表示区块链存证平台中第w个应用计算机的通信优先级评估值,tj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的部件的预设成本参数,αj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的部件的成本参数的误差系数,ln表示自然对数,e表示自然常数,ηj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的成本,qj1表示对所述第j个应用计算机的需求任务载荷,qj表示所述第j个应用计算机的可承载的任务载荷,qj0表示所述第j个应用计算机的初始任务载荷;
以及,
在所述步骤s202中,指定某一个应用计算机作为所述矿工包括对区块链存证平台中所有应用计算机中
进一步,在所述步骤s3中,根据所述所有应用计算机的实时运算状态以及所述标识的结果,更新指定另一应用计算机作为所述矿工,并对所述另一应用计算机进行标识具体包括,
步骤s301,根据所述所有应用计算机的实时运算速度与实时运算任务荷载,对所述矿工分配算法进行优化更新;
步骤s302,根据优化更新后的矿工分配算法,另一应用计算机作为备选矿工,并确定所述另一应用计算机与当前标识为虚拟上传服务器的应用计算机两者是否相同,若所述两者不同,则将所述备选矿工指定为用于上传所述若干监控视频数据包以及将其替换标识为所述虚拟上传服务器,若所述两者相同,则继续优化更新所述矿工分配算法,直到所述两者不同为止。
本发明还提供用于区块链存证平台的矿工任务分配系统,其特征在于:
所述用于区块链存证平台的矿工任务分配系统包括监控视频录制与打包执行模块、矿工初始化指定模块、矿工更新指定模块和应用计算机标识模块;其中,
所述监控视频录制与打包执行模块用于指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包所述全景监控视频,从而获得若干监控视频数据包;
所述矿工初始化指定模块用于根据所述区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传所述若干监控视频数据包;
所述应用计算机标识模块用于对所述矿工初始化指定模块指定的应用计算机进行标识;
所述矿工更新指定模块用于根据所述所有应用计算机的实时运算状态以及所述标识的结果,更新指定另一应用计算机作为所述矿工;
所述应用计算机标识模块还用于对所述矿工更新指定模块指定的应用计算机进行标识;
进一步,所述监控视频录制与打包执行模块包括监控视频录制执行子模块和监控视频打包子模块;其中,
所述监控视频录制执行子模块用于指示所述监控摄像头对所述预定监控场景进行周期性扫描拍摄,从而录制得到相应的360度全景监控视频;
所述监控视频打包子模块用于根据所述周期性扫描拍摄的时间轴,对所述360度全景监控视频进行预定时间间隔的分割,从而得到若干全景监控子视频,以及对每一个所述全景监控子视频进行保真压缩和加密,从而得到若干监控视频数据包;
进一步,所述矿工初始化指定模块的具体工作过程包括,根据所述区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及各自的初始运算速度与初始运算任务荷载,构建一矿工分配算法,以及根据所述矿工分配算法,指定某一个应用计算机作为所述矿工,以用于上传所述若干监控视频数据包;
所述应用计算机标识模块对所述矿工初始化指定模块指定的应用计算机进行标识具体包括将所述指定的应用计算机标识为虚拟上传服务器;
进一步,所述矿工更新指定模块的具体工作过程包括,根据所述所有应用计算机的实时运算速度与实时运算任务荷载,对所述矿工分配算法进行优化更新,以及根据优化更新后的矿工分配算法,另一应用计算机作为备选矿工,并确定所述另一应用计算机与当前标识为虚拟上传服务器的应用计算机两者是否相同,若所述两者不同,则将所述备选矿工指定为用于上传所述若干监控视频数据包,若所述两者相同,则继续优化更新所述矿工分配算法,直到所述两者不同为止;
所述应用计算机标识模块对所述矿工更新指定模块指定的应用计算机进行标识具体包括将所述备选矿工替换标识为所述虚拟上传服务器。
相比于现有技术,该用于区块链存证平台的矿工任务分配方法及系统通过指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包该全景监控视频,从而获得若干监控视频数据包,根据该区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传该若干监控视频数据包,并对该指定的应用计算机进行标识,再根据该所有应用计算机的实时运算状态以及该标识的结果,更新指定另一应用计算机作为该矿工,并对该另一应用计算机进行标识;可见,该用于区块链存证平台的矿工任务分配方法及系统有别于现有技术采用随机选取应用计算机作为矿工的方式,其根据所有应用计算机各自的运算状态,指定具有最优运算性能的应用计算机作为矿工进行监控视频上传,并且还能够更新不同的应用计算机作为矿工和避免同一应用计算机连续作为矿工,从而最大限度地提高区块链存证平台的视频上传速度与效率以及平台系统的工作稳定性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的用于区块链存证平台的矿工任务分配方法的流程示意图。
图2为本发明提供的用于区块链存证平台的矿工任务分配系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,为本发明实施例提供的用于区块链存证平台的矿工任务分配方法的流程示意图。该用于区块链存证平台的矿工任务分配方法包括如下步骤:
步骤s1,指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包该全景监控视频,从而获得若干监控视频数据包;
步骤s2,根据该区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传该若干监控视频数据包,并对该指定的应用计算机进行标识;
步骤s3,根据该所有应用计算机的实时运算状态以及该标识的结果,更新指定另一应用计算机作为该矿工,并对该另一应用计算机进行标识。
该用于区块链存证平台的矿工任务分配方法以应用计算机自身的运算能力为标准,将当前具有最优运算能力的作为矿工,以此用于上传相应的监控视频数据包,并在下一次矿工任务重新分配时将矿工更换为其他应用计算机,从而保证该矿工始终由具有较优运算能力的应用计算机承担,其能够避免随机选定应用计算机作为矿工而导致的上传速度和稳定性不确定情况的发生,从而整体上提高区块链存证平台的工作效率。
优选地,在该步骤s1中,指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包该全景监控视频,从而获得若干监控视频数据包具体包括,
步骤s101,指示该监控摄像头对该预定监控场景进行周期性扫描拍摄,从而录制得到相应的360度全景监控视频;
步骤s102,根据该周期性扫描拍摄的时间轴,对该360度全景监控视频进行预定时间间隔的分割,从而得到若干全景监控子视频;
步骤s103,对每一个该全景监控子视频进行保真压缩和加密,从而得到若干监控视频数据包。
通过对该预定监控场景进行周期性扫描拍摄能够全面地和完整地录制该预定监控场景的监控信息,并且对该360度全景监控视频进行分割、保真压缩和加密,能够提高该监控视频数据包上传的可控性和安全性以及降低上传过程中发生数据失真和丢失的概率。
优选地,在该步骤s2中,根据该区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传该若干监控视频数据包,并对该指定的应用计算机进行标识具体包括,
步骤s201,根据该区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及各自的初始运算速度与初始运算任务荷载,构建一矿工分配算法;
步骤s202,根据该矿工分配算法,指定某一个应用计算机作为该矿工,以用于上传该若干监控视频数据包;
步骤s203,将该指定的应用计算机标识为虚拟上传服务器。
通过该矿工分配算法能够快速地和准确地根据所有应用计算机自身的运算性能,进行矿工任务的分配,从而保证该区块链存证平台能够由具有较优运算性能的应用计算器上传监控视频数据包,以及确保该矿工任务分配的可控性和可预测性。
优选地,在该步骤s201,根据该区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及各自的初始运算速度与初始运算任务荷载,构建一矿工分配算法具体包括,
第一、根据该区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及该初始运算速度,并结合下面公式(1),计算得到通信可靠评估值:
在上述公式(1)中,表示区块链存证平台中第w个应用计算机的通信可靠性评估值、且w=1、2、3...m、m表示区块链存证平台中该应用计算机的总数量,n表示区块链存证平台中与第w应用计算机关联的应用计算机的总数量,aj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的部件的总可靠度,bj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的通信可靠度,cj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的初始运算速度,c0表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的理论平均运算速度,
第二、根据下面公式(2),计算确定通信优先级评估值:
在上述公式(2),ε1表示第一预设权重,ε2表示第二预设权重,pw表示区块链存证平台中第w个应用计算机的通信优先级评估值,tj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的部件的预设成本参数,αj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的部件的成本参数的误差系数,ln表示自然对数,e表示自然常数,ηj表示区块链存证平台中与第w个应用计算机关联的第j个应用计算机的成本,qj1表示对该第j个应用计算机的需求任务载荷,qj表示该第j个应用计算机的可承载的任务载荷,qj0表示该第j个应用计算机的初始任务载荷;
以及,
在该步骤s202中,指定某一个应用计算机作为该矿工包括对区块链存证平台中所有应用计算机中
首先,通过根据所述区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及所述初始运算速度,计算通信可靠性评估值,且计算通信可靠性评估值的公式中:基于所述拓扑通信关系,考虑存证平台中与第w个应用计算机关联的第j个应用计算机的参数,包括可靠性参数(存证平台中与第w个应用计算机关联的应用计算机的总数量、存证平台中与第w个应用计算机关联的第j个应用计算机的部件的总可靠度、存证平台中与第w个应用计算机关联的第j个应用计算机的通信可靠度)以及运算参数(存证平台中与第w个应用计算机关联的第j个应用计算机的初始运算速度,存证平台中与第w个应用计算机关联的第j个应用计算机的理论平均运算速度);上述技术方案与单一的仅仅考虑第w个应用计算机的自身可靠度相比,综合考虑与考虑存证平台中与第w个应用计算机关联的第j个应用计算机的部件的总可靠度、通信可靠度、以及第j个应用计算机的当前运算能力(当前初始运算速度与理论平均运算速度的比值相关)使得计算结果更加可靠
其次,通过基于通信可靠性评估值、所述初始运算任务荷载,计算通信优级评估值,通信优级评估值的计算公式中综合考虑应用计算机的成本参数、当前承载任务载荷的能力
优选地,在该步骤s3中,根据该所有应用计算机的实时运算状态以及该标识的结果,更新指定另一应用计算机作为该矿工,并对该另一应用计算机进行标识具体包括,
步骤s301,根据该所有应用计算机的实时运算速度与实时运算任务荷载,对该矿工分配算法进行优化更新;
步骤s302,根据优化更新后的矿工分配算法,另一应用计算机作为备选矿工,并确定该另一应用计算机与当前标识为虚拟上传服务器的应用计算机两者是否相同,若该两者不同,则将该备选矿工指定为用于上传该若干监控视频数据包以及将其替换标识为该虚拟上传服务器,若该两者相同,则继续优化更新该矿工分配算法,直到该两者不同为止。
通过对该矿工分配算法进行实时的优化更新,能够及时地根据所有应用计算机自身运算性能的实际变化情况来调整矿工任务的分配进度,并且还能够避免矿工任务重复多次分配给同一应用计算机,从而最大限度地提高区块链存证平台的视频上传速度与效率以及平台系统的工作稳定性。
参阅图2,为本发明实施例提供的用于区块链存证平台的矿工任务分配系统的结构示意图。该用于区块链存证平台的矿工任务分配系统包括监控视频录制与打包执行模块、矿工初始化指定模块、矿工更新指定模块和应用计算机标识模块;其中,
该监控视频录制与打包执行模块用于指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包该全景监控视频,从而获得若干监控视频数据包;
该矿工初始化指定模块用于根据该区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传该若干监控视频数据包;
该应用计算机标识模块用于对该矿工初始化指定模块指定的应用计算机进行标识;
该矿工更新指定模块用于根据该所有应用计算机的实时运算状态以及该标识的结果,更新指定另一应用计算机作为该矿工;
该应用计算机标识模块还用于对该矿工更新指定模块指定的应用计算机进行标识。
该用于区块链存证平台的矿工任务分配系统以应用计算机自身的运算能力为标准,将当前具有最优运算能力的作为矿工,以此用于上传相应的监控视频数据包,并在下一次矿工任务重新分配时将矿工更换为其他应用计算机,从而保证该矿工始终由具有较优运算能力的应用计算机承担,其能够避免随机选定应用计算机作为矿工而导致的上传速度和稳定性不确定情况的发生,从而整体上提高区块链存证平台的工作效率。
优选地,该监控视频录制与打包执行模块包括监控视频录制执行子模块和监控视频打包子模块;其中,
该监控视频录制执行子模块用于指示该监控摄像头对该预定监控场景进行周期性扫描拍摄,从而录制得到相应的360度全景监控视频;
该监控视频打包子模块用于根据该周期性扫描拍摄的时间轴,对该360度全景监控视频进行预定时间间隔的分割,从而得到若干全景监控子视频,以及对每一个该全景监控子视频进行保真压缩和加密,从而得到若干监控视频数据包。
通过对该预定监控场景进行周期性扫描拍摄能够全面地和完整地录制该预定监控场景的监控信息,并且对该360度全景监控视频进行分割、保真压缩和加密,能够提高该监控视频数据包上传的可控性和安全性以及降低上传过程中发生数据失真和丢失的概率。
优选地,该矿工初始化指定模块的具体工作过程包括,根据该区块链存证平台中所有应用计算机相互之间的拓扑通信关系以及各自的初始运算速度与初始运算任务荷载,构建一矿工分配算法,以及根据该矿工分配算法,指定某一个应用计算机作为该矿工,以用于上传该若干监控视频数据包;
该应用计算机标识模块对该矿工初始化指定模块指定的应用计算机进行标识具体包括将该指定的应用计算机标识为虚拟上传服务器。
通过该矿工分配算法能够快速地和准确地根据所有应用计算机自身的运算性能,进行矿工任务的分配,从而保证该区块链存证平台能够由具有较优运算性能的应用计算器上传监控视频数据包,以及确保该矿工任务分配的可控性和可预测性。
优选地,该矿工更新指定模块的具体工作过程包括,根据该所有应用计算机的实时运算速度与实时运算任务荷载,对该矿工分配算法进行优化更新,以及根据优化更新后的矿工分配算法,另一应用计算机作为备选矿工,并确定该另一应用计算机与当前标识为虚拟上传服务器的应用计算机两者是否相同,若该两者不同,则将该备选矿工指定为用于上传该若干监控视频数据包,若该两者相同,则继续优化更新该矿工分配算法,直到该两者不同为止;
该应用计算机标识模块对该矿工更新指定模块指定的应用计算机进行标识具体包括将该备选矿工替换标识为该虚拟上传服务器。
通过对该矿工分配算法进行实时的优化更新,能够及时地根据所有应用计算机自身运算性能的实际变化情况来调整矿工任务的分配进度,并且还能够避免矿工任务重复多次分配给同一应用计算机,从而最大限度地提高区块链存证平台的视频上传速度与效率以及平台系统的工作稳定性。
从上述实施例的内容可知,该用于区块链存证平台的矿工任务分配方法及系统通过指示监控摄像头对预定监控场景进行拍摄,以此获得相应的全景监控视频,并打包该全景监控视频,从而获得若干监控视频数据包,根据该区块链存证平台中所有应用计算机各自的初始运算状态,指定某一个应用计算机作为矿工以用于上传该若干监控视频数据包,并对该指定的应用计算机进行标识,再根据该所有应用计算机的实时运算状态以及该标识的结果,更新指定另一应用计算机作为该矿工,并对该另一应用计算机进行标识;可见,该用于区块链存证平台的矿工任务分配方法及系统有别于现有技术采用随机选取应用计算机作为矿工的方式,其根据所有应用计算机各自的运算状态,指定具有最优运算性能的应用计算机作为矿工进行监控视频上传,并且还能够更新不同的应用计算机作为矿工和避免同一应用计算机连续作为矿工,从而最大限度地提高区块链存证平台的视频上传速度与效率以及平台系统的工作稳定性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。