影像数据的加载、提供方法及装置与流程

文档序号:21985355发布日期:2020-08-25 19:22阅读:144来源:国知局
影像数据的加载、提供方法及装置与流程
本申请涉及网络
技术领域
,尤其涉及影像数据的加载、提供方法及装置。
背景技术
:在多方影像协同会诊的场景下,每一方参会者客户端(为便于描述,下文称作c端)在加入网络虚拟会议室时,均需要从影像服务器(为便于描述,下文称作s端)请求会诊影像数据,由于协同操作(多方参会间的操作同步机制)对实时性要求比较高,采用懒加载的方式会给协同带来问题。因此需要将体积达到上百兆甚至数百兆的影像数据从单一s端缓存到c端。而c端通常会在近似的时间段进入网络虚拟会议室,这会带来两方面的问题:第一、s端因网络瞬时负载大而丢失请求,导致c端请求资源失败;第二、即使请求未丢失,也会带来加载速度过慢的问题,造成参会者时间的浪费。技术实现要素:本申请实施例提供了影像数据的加载、提供方法及装置,用以解决在多方影像协同会诊的场景下造成的资源请求失败、加载过慢的问题,提高影像数据的资源获取效率。在数据请求端,本申请实施例提供的一种影像数据的加载方法,包括:确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;确定本端当前未加载的影像数据片段;根据所述多个端当前对影像数据片段的加载状态,针对当前未加载的影像数据片段发送数据资源请求,并完成影像数据片段的加载。通过该方法,确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;确定本端当前未加载的影像数据片段;根据所述多个端当前对影像数据片段的加载状态,针对当前未加载的影像数据片段发送数据资源请求,并完成影像数据片段的加载,从而解决了在多方影像协同会诊的场景下造成的资源请求失败、加载过慢的问题,提高了影像数据的资源获取效率。可选地,所述确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,具体包括:确定资源请求状态二维数组,所述资源请求状态二维数组中包括参加网络虚拟会议的多个端当前对各个影像数据片段的加载状态。可选地,所述确定资源请求状态二维数组,具体包括:向参加所述网络虚拟会议的多个端广播资源状态数组请求信息;接收参加所述网络虚拟会议的任一端ct发送的该端ct维护的数据状态数组,所述数据状态数组中包括该端ct对各个所述影像数据片段是否已加载的状态信息;根据所述ct维护的数据状态数组,确定资源请求状态二维数组。可选地,所述确定本端当前未加载的影像数据片段,具体包括:根据本端维护的数据状态数组,确定当前未加载的影像数据片段,所述数据状态数组中包括本端对各个影像数据片段是否已加载的状态信息。可选地,每完成一影像数据片段的加载后,该方法还包括:更新本端维护的数据状态数组。可选地,针对当前未加载的影像数据片段发送数据资源请求,具体包括:从本端当前未加载的多个影像数据片段中随机选择一个未加载的影像数据片段slicej;确定已加载所述slicej的集合setc;从所述集合setc中随机选择一个端ck,向该端ck发送数据资源请求,用于获取所述slicej。相应地,在数据提供端,本申请实施例提供的一种影像数据的提供方法,包括:接收参加网络虚拟会议的对端发送的针对该对端当前未加载的影像数据片段发送的数据资源请求,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;根据所述数据资源请求,向所述对端提供所请求的影像数据片段。本申请另一实施例提供了一种计算设备,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。本申请另一实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的多源加载网络拓扑示意图;图2为本申请实施例提供的多源加载算法流程示意图;图3为本申请实施例提供的影像协同主业务流程示意图;图4为本申请实施例提供的一种影像数据的加载方法的流程示意图;图5为本申请实施例提供的一种影像数据的提供方法的流程示意图;图6为本申请实施例提供的一种计算设备的结构示意图;图7为本申请实施例提供的一种影像数据的加载装置的结构示意图;图8为本申请实施例提供的一种影像数据的提供装置的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例提供了影像数据的加载、提供方法及装置,用以解决在多方影像协同会诊的场景下造成的资源请求失败、加载过慢的问题,提高影像数据的资源获取效率。其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。下面结合说明书附图对本申请各个实施例进行详细描述。需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。本申请实施例提供的技术方案,通过多源加载结合影像数据分治的策略解决上述的问题。具体来说,所谓影像数据分治例如:首先将待请求的影像数据划分成10个等份(10个等份是根据到影像协同会诊场景的参会方数以及数据量大小而定,以下描述以10个等份为例,实际实现过程中可以根据实际需要而定);然后,10个等份的影像数据不再从单一s端请求,而是随机请求到其他参会方的客户端ci端,达到多源加载的目的。下面将具体阐述多源加载策略和影像数据分治策略的实现方式。一、多源加载策略:1、多源加载策略的定义:参见图1,所谓多源加载策略,区别于传统影像数据从单一s端加载的方式,多源加载策略允许参会方客户端从其他参会方的客户端ci端以及s端同时请求数据,这种并发请求的方式既可以解决单一服务器瞬时负载过大的问题,同时可以大大加快影像数据的加载速度。2、参见图2,多源加载策略的工作模式包括:通过影像数据分治策略得到10个等份的影像数据请求,定义请求数组以及资源状态数组,其中,请求数组为:requestdata=[slice0,slice1,...,slice9]其中,slicei表示待请求的影像数据的第i+1个等份,取值为0或者1,0表示当前客户端没有加载slicei数据;反之,1表示当前客户端已经加载完成slicei数据。所述资源状态数组为:datastate=[state0,state1,...,state9]其中,state_i表示本地客户端是否已经完成对第i+1个slice的加载,具体来说,1表示已加载,0表示未加载;区别于requestdata中的slice_i,requestdata中的slice_i表示其他客户端的第i+1个slice是否完成加载,详见下述的datastates二维矩阵。每个c端均保存当前与s端建立连接的所有c端的列表,定义为:p=[s,c1,...,cn],其中n为所有c端的个数。数组p可以根据c端上线下线情况实时更新。ci端加载影像数据的过程如下所述:第一步,ci端需要向p数组中的所有端广播资源状态数组请求信息,当p数组中ct端收到ci端的资源状态数组请求信息时,会马上将ct端中的datastate数组返回给ci端,最后ci端将生成下表所示的资源请求状态二维数组datastates:slice0slice1slice2slice3slice4slice5slice6slice7slice8slice9s1111111111c10010000100c20001000010c30000100001……………………………cn1100000001其中,二维数组的取值为0或1,0表示该端已加载slicei,反之,1表示该端未加载slicei。例如,根据上表可知,s端已加载所有的影像数据,c1已加载slice2、slice7。也就是说,ci端通过上述二维数组,可以获知当前各个端(包括s端以及c1~cn端)的对各个部分影像数据slice0~slice9的加载状态。第二步,ci端根据自己的datastate数组获知该ci端对影像数据的加载情况,若发现某一等份slicei尚未完成加载,则根据二维数组datastates获取到当前有哪些端包含slicei(即已加载slicei),然后向该端发出slicei的数据资源请求,完成影像资源的加载,同时更新自身的datastate数组。在上述过程中,假设slicei当前已经在s端、cj端、ck端、cm端中被加载,尚有n个端未加载到slicei,那么期望的场景是来自这n个端的n个slicei资源请求均匀被s端、cj端、ck端、cm端接收,从而避免单一某个端同时接收到这n个端的针对slicei的资源请求造成的资源阻塞。另外,还应该考虑到若某一个端ci的多个slice数据资源请求发送到同一个端依然会造成资源阻塞。那么,为保证数据资源请求能够实现均匀地分布,而不是均请求到s端,必须采取合理的采样方案。根据上述分析,采样需要满足两个方面的要求:第一个方面是选择当前要从10个影像数据等份中等概率选择一个slicei;第二个方面是选择的slicei要等概率的发送到某一目标端cj,即要等概率的选择一个请求源。采样过程例如:首先采取随机采样的方法,从datastate数组中未加载的slice中随机选择一个slicej;然后查询datastates中已经加载完成slicej的集合setc,集合setc中可以包括客户端,也可以包括服务器端;采取随机采样的方法从setc中随机选择一个端ck,ck可以是客户端,ck也可以是服务器端,这样就完成了采样的过程。第三步,ci端根据上一步采样得到的待请求影像数据slicej和请求目标ck加载影像数据,加载完成之后同步更新datastate数组,这样其他端在请求slicej影像数据时,ci端便可以承担服务器的部分职责,向其他客户端提供slicej影像数据。第四步,循环询问datastate数组,若仍存在未加载影像数据,重复上述第一步到第三步,直到影像数据全部加载完成,退出第四步循环。二、影像数据分治策略:数据分治策略是实现多源加载策略的辅助策略,核心是数据的切片处理,即将完整的影像数据资源请求进行平均切分,形成多个切片。例如,完整的影像数据资源请求包含300张影像,如果进行10等份切分,则每一个切片slice包含30张影像。每一个c端均维护一个datastate数组记录数据的状态,一旦某一个切片slice加载完成,则更新datastate数组,实现影像数据的分治。图3为本申请实施例提供的方法中一个上层应用的流程图,描述了本申请实施例提供的所述方法的一个应用场景。另外,上述多源加载策略的工作模式中采用了随机采样的方法产生待请求数据slicej及请求目标ck,所有的请求都平均分配给了客户端以及服务器。在实际应用场景中往往服务器比普通的客户端拥有更好的性能,可以承担更多的负载,因此,也可以采取加权采样的方式产生待请求的数据及请求目标,使服务器承担更多的负载,具体的权重可以结合服务器的性能以及客户端性能等进行确定,本申请实施例不进行限定。所谓加权采样,即给服务器一个较大的权重。例如:当前有10个客户端,一台服务器,那么可以给服务器0.5的权值,给其他客户端0.05的权值,要保证各客户端和服务器的权值总和为1。用几何思维描述就是在一个长度为1的区间,服务器占0.5的区间长度,其他客户端占0.05的区间长度,让一个点随机落在这个长度为1的区间上,则这个点落在服务器所在区间的概率为50%,落在某一客户端的概率为5%。通过这种方式,性能较优异的服务器能够得到更多的影像资源加载请求。综上所述,参见图4,在数据请求端,本申请实施例提供的一种影像数据的加载方法包括:s101、确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;所述影像数据片段,例如上述的slicei。s102、确定本端当前未加载的影像数据片段;s103、根据所述多个端当前对影像数据片段的加载状态,针对当前未加载的影像数据片段发送数据资源请求,并完成影像数据片段的加载。通过该方法,确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;确定本端当前未加载的影像数据片段;根据所述多个端当前对影像数据片段的加载状态,针对当前未加载的影像数据片段发送数据资源请求,并完成影像数据片段的加载,从而解决了在多方影像协同会诊的场景下造成的资源请求失败、加载过慢的问题,提高了影像数据的资源获取效率。可选地,所述确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,具体包括:确定资源请求状态二维数组,所述资源请求状态二维数组中包括参加网络虚拟会议的多个端当前对各个影像数据片段的加载状态。可选地,所述确定资源请求状态二维数组,具体包括:向参加所述网络虚拟会议的多个端广播资源状态数组请求信息;接收参加所述网络虚拟会议的任一端ct发送的该端ct维护的数据状态数组,所述数据状态数组中包括该端ct对各个所述影像数据片段是否已加载的状态信息;根据所述ct维护的数据状态数组,确定资源请求状态二维数组。可选地,所述确定本端当前未加载的影像数据片段,具体包括:根据本端维护的数据状态数组,确定当前未加载的影像数据片段,所述数据状态数组中包括本端对各个影像数据片段是否已加载的状态信息。可选地,每完成一影像数据片段的加载后,该方法还包括:更新本端维护的数据状态数组。可选地,针对当前未加载的影像数据片段发送数据资源请求,具体包括:从本端当前未加载的多个影像数据片段中随机选择一个未加载的影像数据片段slicej;确定已加载所述slicej的集合setc;从所述集合setc中随机选择一个端ck,向该端ck发送数据资源请求,用于获取所述slicej。本申请实施例所述的数据请求端,例如可以是参加网络虚拟会议的任何一个客户端。相应地,在数据提供端,参见图5,本申请实施例提供的一种影像数据的提供方法包括:s201、接收参加网络虚拟会议的对端发送的针对该对端当前未加载的影像数据片段发送的数据资源请求,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;s202、根据所述数据资源请求,向所述对端提供所请求的影像数据片段。本申请实施例所述的数据提供端,例如可以是参加网络虚拟会议的任何一个客户端,也可以是服务器。参见图6,本申请实施例提供的一种计算设备,其包括存储器11和处理器12,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。本申请所述的计算设备,可以是服务器,也可以是客户端,可以是任何的一种具有计算能力的用户设备或网络设备。例如可以是电脑、手机、电视机、平板电脑等等。具体地,若计算设备用作数据请求端,则处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行:确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;确定本端当前未加载的影像数据片段;根据所述多个端当前对影像数据片段的加载状态,针对当前未加载的影像数据片段发送数据资源请求,并完成影像数据片段的加载。可选地,所述确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,具体包括:确定资源请求状态二维数组,所述资源请求状态二维数组中包括参加网络虚拟会议的多个端当前对各个影像数据片段的加载状态。可选地,所述确定资源请求状态二维数组,具体包括:向参加所述网络虚拟会议的多个端广播资源状态数组请求信息;接收参加所述网络虚拟会议的任一端ct发送的该端ct维护的数据状态数组,所述数据状态数组中包括该端ct对各个所述影像数据片段是否已加载的状态信息;根据所述ct维护的数据状态数组,确定资源请求状态二维数组。可选地,所述确定本端当前未加载的影像数据片段,具体包括:根据本端维护的数据状态数组,确定当前未加载的影像数据片段,所述数据状态数组中包括本端对各个影像数据片段是否已加载的状态信息。可选地,每完成一影像数据片段的加载后,所述处理器还用于:更新本端维护的数据状态数组。可选地,针对当前未加载的影像数据片段发送数据资源请求,具体包括:从本端当前未加载的多个影像数据片段中随机选择一个未加载的影像数据片段slicej;确定已加载所述slicej的集合setc;从所述集合setc中随机选择一个端ck,向该端ck发送数据资源请求,用于获取所述slicej。若计算设备用作数据提供端,则处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行:接收参加网络虚拟会议的对端发送的针对该对端当前未加载的影像数据片段发送的数据资源请求,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;根据所述数据资源请求,向所述对端提供所请求的影像数据片段。参见图7,本申请实施例提供的另一种影像数据的加载装置包括:第一单元21,用于确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;第二单元22,用于确定本端当前未加载的影像数据片段;第三单元23,用于根据所述多个端当前对影像数据片段的加载状态,针对当前未加载的影像数据片段发送数据资源请求,并完成影像数据片段的加载。可选地,所述确定参加网络虚拟会议的多个端当前对影像数据片段的加载状态,具体包括:确定资源请求状态二维数组,所述资源请求状态二维数组中包括参加网络虚拟会议的多个端当前对各个影像数据片段的加载状态。可选地,所述确定资源请求状态二维数组,具体包括:向参加所述网络虚拟会议的多个端广播资源状态数组请求信息;接收参加所述网络虚拟会议的任一端ct发送的该端ct维护的数据状态数组,所述数据状态数组中包括该端ct对各个所述影像数据片段是否已加载的状态信息;根据所述ct维护的数据状态数组,确定资源请求状态二维数组。可选地,所述确定本端当前未加载的影像数据片段,具体包括:根据本端维护的数据状态数组,确定当前未加载的影像数据片段,所述数据状态数组中包括本端对各个影像数据片段是否已加载的状态信息。可选地,每完成一影像数据片段的加载后,第三单元23还用于:更新本端维护的数据状态数组。可选地,针对当前未加载的影像数据片段发送数据资源请求,具体包括:从本端当前未加载的多个影像数据片段中随机选择一个未加载的影像数据片段slicej;确定已加载所述slicej的集合setc;从所述集合setc中随机选择一个端ck,向该端ck发送数据资源请求,用于获取所述slicej。本申请所述的影像数据的加载装置,可以是服务器,也可以是客户端。参见图8,本申请实施例提供的另一种影像数据的提供装置包括:接收单元31,用于接收参加网络虚拟会议的对端发送的针对该对端当前未加载的影像数据片段发送的数据资源请求,所述影像数据片段是预先对所述网络虚拟会议需要讨论的整体影像数据进行划分得到的影像数据片段;提供单元32,用于根据所述数据资源请求,向所述对端提供所请求的影像数据片段。本申请所述的影像数据的提供装置,可以是服务器,也可以是客户端。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。本申请实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)等。该计算设备可以包括中央处理器(centerprocessingunit,cpu)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)等。存储器可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例提供的任一所述方法的程序。处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行本申请实施例提供的任一所述方法。本申请实施例提供了一种计算机存储介质,用于储存为上述本申请实施例提供的装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。上述方法处理流程可以用软件程序实现,该软件程序可以存储在存储介质中,当存储的软件程序被调用时,执行上述方法步骤。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1