CN116760791B - 图像传输方法、装置、设备和存储介质 - Google Patents
图像传输方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116760791B CN116760791B CN202311051552.0A CN202311051552A CN116760791B CN 116760791 B CN116760791 B CN 116760791B CN 202311051552 A CN202311051552 A CN 202311051552A CN 116760791 B CN116760791 B CN 116760791B
- Authority
- CN
- China
- Prior art keywords
- image
- session
- original image
- server
- original
- 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 100
- 230000005540 biological transmission Effects 0.000 title claims abstract description 67
- 238000004590 computer program Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 abstract description 20
- 230000002829 reductive effect Effects 0.000 abstract description 15
- 238000010438 heat treatment Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005577 local transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种图像传输方法、装置、设备和存储介质。该图像传输方法包括:接收发送端通过即时会话上传的原始图像;向发送端反馈原始图像对应的图像标识;对原始图像进行图像编码,得到图像标识对应的编码图像;接收发送端发送的图像消息,图像消息携带图像标识;将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。采用本方法仅上传原始图像至服务器,服务器进行图像编码,发送端就不会存在因执行编码算法而导致的发热、耗电以及编码耗时长的问题。接收端到服务器中下载相应的编码图像,可以降低带宽成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种图像传输方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术与互联网技术的迅速发展,为了与交互对方进行更好的互动,即时会话得到了广泛的应用,例如,在工作交流、客户联系等场景下,可以通过即时会话中的群组会话一对多地发送图片消息。通常,发送方可以通过群组会话将原始图像发送到服务器,群组会话的成员则通过服务器下载原始图像,然而,多人在短时间内同时下载原始图像的巨量下行流量,给为即时会话提供支持的服务器带来了非常高的带宽成本。
相关技术中,通过在终端侧执行图像编码算法,选用具有更优压缩比的图像格式,例如WebP、AVIF、HEIF等,将原始图像进行压缩编码后上传至服务器,以克服上述问题。然而,该方式通过终端设备执行图像编码算法,会导致终端设备发热、耗电,而且编码耗时较长,需要用户较长时间的等待图像上传,影响用户体验。
发明内容
基于此,有必要针对上述技术问题,提供一种能够兼顾降低带宽成本与编码耗时的图像传输方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种图像传输方法。所述方法包括:
接收发送端通过即时会话上传的原始图像;
向所述发送端反馈所述原始图像对应的图像标识;
对所述原始图像进行图像编码,得到所述图像标识对应的编码图像;
接收所述发送端发送的图像消息,所述图像消息携带所述图像标识与即时会话的会话标识;
将所述图像消息投递到所述会话标识对应的即时会话,以使所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到所述原始图像。
第二方面,本申请还提供了一种图像传输装置。所述装置包括:
图像获取模块,用于接收发送端通过即时会话会话标识对应的的原始图像;
标识反馈模块,用于向所述发送端反馈所述原始图像对应的图像标识;
编码模块,用于对所述原始图像进行图像编码,得到所述图像标识对应的编码图像;
消息接收模块,用于接收所述发送端发送的图像消息,所述图像消息携带所述图像标识与即时会话的会话标识;
消息投递模块,用于将所述图像消息投递到所述会话标识对应的即时会话,以使所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到所述原始图像。
在其中一个实施例中,所述装置还包括:哈希查找模块,用于接收发送端通过即时会话发送的图像哈希,所述图像哈希根据原始图像计算得到;若已存在与所述图像哈希对应的图像数据,则跳过所述接收发送端通过即时会话上传的原始图像的步骤,直接执行生成与所述图像数据对应的图像标识,向所述发送端反馈所述图像数据对应的图像标识的步骤;若尚不存在与所述图像哈希对应的图像数据,则执行所述接收发送端通过即时会话上传的原始图像,向所述发送端反馈所述原始图像对应的图像标识的步骤。
在其中一个实施例中,所述图像获取模块,还用于接收发送端通过即时会话上传的原始图像与所述即时会话的成员数量区间,所述成员数量区间根据所述即时会话的会话成员的数量确定;
所述编码模块,还用于按所述成员数量区间确定所述原始图像对应的编码优先级;按所述编码优先级将原始图像的图像标识依次添加至编码任务队列中;依次取出所述编码任务队列中的图像标识,并对相应的原始图像进行图像编码,得到所述图像标识对应的编码图像;其中,成员数量区间的级别越高,相应的编码优先级越高,相应的图像标识越优先被添加至所述编码任务队列中。
在其中一个实施例中,所述图像获取模块,还用于将所述图像标识与所述原始图像对应存储;将所述图像标识与所述编码图像对应存储;为所述原始图像设置有效期,并在所述有效期到期后,删除所述原始图像。
在其中一个实施例中,所述消息投递模块,还用于将所述图像消息投递到所述会话标识对应的即时会话;接收所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识所发送的下载请求;其中,在所述接收端未请求下载过所述图像标识所标识的图像的情况下,所述下载请求携带压缩图像格式信息;在所述接收端下载过所述图像标识所标识的图像的情况下,所述下载请求携带请求下载过图像的格式信息;若所述下载请求携带压缩图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的编码图像,并将查找到的所述编码图像反馈至所述接收端,以使得所述接收端对所述编码图像进行图像解码得到所述原始图像;若所述下载请求携带请求下载过图像的格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的、且属于所述请求下载过图像的格式信息的图像反馈至所述接收端。
在其中一个实施例中,所述消息投递模块,还用于若未查找到与所述图像消息中的图像标识对应的编码图像,则将所述图像消息中的图像标识对应的原始图像反馈至所述接收端。
在其中一个实施例中,所述消息投递模块,还用于响应于所述下载请求,查找与所述图像消息中的图像标识对应的、且属于所述请求下载过图像的格式信息的编码图像反馈至所述接收端。
在其中一个实施例中,所述消息投递模块,还用于响应于所述下载请求,查找与所述图像消息中的图像标识对应的、且属于所述请求下载过图像的格式信息的原始图像反馈至所述接收端。
在其中一个实施例中,所述消息投递模块,还用于若未查找到与所述图像消息中的图像标识对应的原始图像,则对所述图像消息中的图像标识对应的编码图像进行图像解码,得到所述图像标识对应的原始图像,并将解码得到的所述原始图像反馈至所述接收端。
在其中一个实施例中,所述图像获取模块,还用于将所述图像标识与解码得到的所述原始图像对应存储;为解码得到的所述原始图像设置有效期,并在所述有效期到期后,删除解码得到的所述原始图像。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述图像传输方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像传输方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述图像传输方法的步骤。
上述图像传输方法、装置、计算机设备、存储介质和计算机程序产品,接收发送端通过即时会话上传的原始图像后,向发送端反馈原始图像对应的图像标识,对原始图像进行图像编码,得到图像标识对应的编码图像;继而,在接收到发送端发送的携带图像标识的图像消息之后,将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。上述过程中,发送端仅上传原始图像至服务器,无需上传编码图像,由服务器进行图像编码,这样,发送端不会存在因执行编码算法而导致的发热、耗电的问题,也避免了因编码耗时较长需要用户较长时间的等待图像上传而影响用户体验的问题,此外,服务器的带宽成本主要由短时间内同时下载原始图像的巨量下行流量而导致的,发送端上传一张原始图像对带宽成本的影响可忽略不计。即时会话的会话成员所对应的大量接收端根据图像消息中的图像标识到服务器中下载相应的编码图像,可避免短时间内大量接收端直接从服务器下载原始图像,从而降低服务器短时间内的带宽成本,接收端对下载的编码图像进行解码处理,可以得到原始图像。总体上,能够降低在即时会话中投递图像到接收端的带宽成本、提升发送端在即时会话中投递图像的用户体验。
第六方面,本申请还提供了一种图像传输方法,所述方法包括:
通过即时会话将原始图像上传至服务器;
接收所述服务器为所述原始图像生成并反馈的图像标识;
根据所述图像标识、所述即时会话的会话标识向所述服务器发送图像消息;所述图像消息用于指示所述服务器根据所述会话标识将所述图像消息投递到所述即时会话,以使所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到所述原始图像。
第七方面,本申请还提供了一种图像传输装置,所述装置包括:
图像发送模块,用于通过即时会话将原始图像上传至服务器;
标识接收模块,用于接收所述服务器为所述原始图像生成并反馈的图像标识;
消息发送模块,用于根据所述图像标识、所述即时会话的会话标识向所述服务器发送图像消息;所述图像消息用于指示所述服务器根据所述会话标识将所述图像消息投递到所述即时会话,以使所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到所述原始图像。
在其中一个实施例中,所述装置还包括:哈希计算模块,用于根据所述原始图像计算得到图像哈希,并通过即时会话将所述图像哈希上传至服务器;所述图像哈希用于指示所述服务器在存储的图像数据中查找与所述图像哈希对应的图像数据,若已存在与所述图像哈希对应的图像数据,则执行所述接收服务器为原始图像生成并反馈的图像标识的步骤;若尚不存在与所述图像哈希对应的图像数据,则执行所述通过即时会话将原始图像发送至服务器的步骤。
第八方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述图像传输方法的步骤。
第九方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像传输方法的步骤。
第十方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述图像传输方法的步骤。
上述图像传输方法、装置、计算机设备、存储介质和计算机程序产品,通过即时会话将原始图像发送至服务器后,接收服务器为原始图像生成并反馈的图像标识,根据图像标识、即时会话的会话标识向服务器发送图像消息,可指示服务器将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。上述过程中,仅上传原始图像至服务器,无需上传编码图像,由服务器进行图像编码,这样,发送端不会存在因执行编码算法而导致的发热、耗电的问题,也避免了因编码耗时较长需要用户较长时间的等待图像上传而影响用户体验的问题,此外,服务器的带宽成本主要由短时间内同时下载原始图像的巨量下行流量而导致的,发送端上传一张原始图像对带宽成本的影响可忽略不计。即时会话的会话成员所对应的大量接收端根据图像消息中的图像标识到服务器中下载相应的编码图像,可避免短时间内大量接收端直接从服务器下载原始图像,从而降低服务器短时间内的带宽成本,接收端对下载的编码图像进行解码处理,可以得到原始图像。总体上,能够降低在即时会话中投递图像到接收端的带宽成本、提升发送端在即时会话中投递图像的用户体验。
附图说明
图1为一个实施例中图像传输方法的应用环境图;
图2为一个实施例中图像传输方法的流程示意图;
图3为一个实施例中图像传输方法的数据交互示意图;
图4为一个实施例中发送端获取图像标识的流程示意图;
图5为一个实施例中接收端与服务器之间数据交互的示意图;
图6为另一个实施例中图像传输方法的流程示意图;
图7为一个实施例中图像传输装置的结构框图;
图8为另一个实施例中图像传输装置的结构框图;
图9为一个实施例中计算机设备的内部结构图;
图10为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的图像传输方法,可以应用于如图1所示的应用环境中。其中,发送端102和接收端106通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。发送端102通过即时会话发送原始图像指服务器104;服务器104接收发送端102通过即时会话发送的原始图像;服务器104为原始图像分配对应的图像标识,并向发送端102反馈原始图像对应的图像标识;服务器104对原始图像进行图像编码,得到图像标识对应的编码图像;发送端102接收到服务器104反馈原始图像对应的图像标识后,通过即时会话发送图像消息至服务器104;服务器104接收发送端102发送的图像消息,图像消息携带图像标识;服务器104将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端106根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到所述原始图像。
其中,发送端102和接收端106可以是终端,其中,终端可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一些实施例中,服务器104可以是多种各不同类型服务器组成的服务器集群,具体包括分布式内容网络(CDN)、编解码服务器和消息服务器。其中,分布式内容网络在用户请求资源时,会访问离用户最近的服务器,从而提高整体网络性能和用户体验;分布式内容网络中每一台服务器对应一个CDN节点,同一个资源的内容会被复制到多个部署在各地的节点上,减少单个节点的压力,并提高用户访问速度和体验。编解码服务器提供各种格式编码和解码能力的计算密集型服务器,其配置针对各类编解码算法特点定制优化,同样部署了多个节点。消息服务器提供图像消息的分发能力。
在一个实施例中,如图2所示,提供了一种图像传输方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,接收发送端通过即时会话上传的原始图像。
其中,即时会话,指通过社交应用软件建立的用于多人即时交互的容器。社交应用软件指在工作交流、客户联系等场景提供一对多实时交互的软件。即时会话,可以是群组会话,包括多个会话成员,每个会话成员均可发送即时消息以及接收其他会话成员发送的即时消息。即时消息可包括文本、语音、图像、文件、网页链接等消息内容。使用发送端的发送方可在加入了某个即时会话的情况下,通过该即时会话发送原始图像至服务器,服务器接收该原始图像。
会话成员,指登录社交应用的并加入了上述某个即时会话的社交应用账号;社交应用账号为社交应用软件为每一位用户提供的账号信息,用于验证用户的身份信息;在用户身份信息验证通过后,即可登录社交应用账号。
本申请实施例中,发送端和接收端均是某个即时会话中的会话成员,并且发送端和接收端是动态变化的。例如,在当前时刻其中一个会话成员在发送即时消息时,该会话成员所对应的计算机设备为发送端,剩余会话成员所对应的计算机设备均为接收端;在下一时刻另一个会话成员在发送即时消息时,该会话成员所对应的计算机设备为发送端,剩余会话成员所对应的计算机设备均为接收端。
原始图像,指的是未经过编码处理后的图像。例如,JPEG格式的图像。
具体地,图3为一个实施例中图像传输方法的数据交互示意图,如图3所示,发送端获取原始图像后,执行步骤1,将原始图像发送至服务器(例如,分布式内容网络中距离发送端最近的服务器),服务器接收发送端通过即时会话上传的原始图像;步骤2,服务器对原始图像进行存储(例如,将原始图像存储至分布式内容网络中每个服务器)。
在一些实施例中,分布式内容网络中包含一个中心服务器,中心服务器与分布式内容网络中各服务器连接,用于调度分布式内容网络中各服务器之间的信息。发送端向中心服务器请求CDN节点列表,CDN节点列表包括距离发送端预设范围内、数据传输速度大于阈值、与发送端所属相同网络运行商的服务器;中心服务器响应于发送端的请求,根据发送端的公网IP地址、所属网络运行商等信息,反馈满足要求的CDN节点至发送端;发送端同时与CDN节点列表中各服务器建立连接,将最先连接上的服务器作为距离发送端最近的服务器,发送端将原始图像发送至距离发送端最近的服务器。
其中,若发送端的网络环境未发生变化,则在发送端在发送原始图像之前,无需每次查找距离发送端最近的服务器;若发送端的网络环境发生变化(例如连接了不同的WiFi,或者切换到了蜂窝网络)、或者已经选择的节点连接不上时,发送端需要重新查找距离发送端最近的服务器。
在一些实施例中,服务器可以通过点对点传输、局部传输、中心服务器传输等方法将原始图像存储至分布式内容网络中每个服务器。例如,距离发送端最近的服务器将原始图像通过点对点传输的方式,将原始图像传递至分布式内容网络中每个服务器。例如,距离发送端最近的服务器将原始图像传递至距离距离发送端最近的服务器最近的服务器,该服务器再将原始图像传递至另一台服务器,进而将原始图像传递至分布式内容网络中每个服务器。例如,距离发送端最近的服务器将原始图像传递至分布式内容网络的中心服务器,中心服务器将原始图像传递至分布式内容网络中每个服务器。
步骤204,向发送端反馈原始图像对应的图像标识。
其中,图像标识用于标记发送端上传的原始图像,使得该原始图像区别与其他原始图像。图像标识是由服务器生成,并与原始图像对应存储在服务器中。可选地,即时消息具备到期删除的特征,原始图像和图像标识对应存储,当原始图像的有效期到期后,可被服务器删除,对应的图像标识也一并删除。
具体地,如图3所示,步骤3,服务器(例如,分布式内容网络中距离发送端最近的服务器)接收到发送端上传的原始图像后,为原始图像分配图像标识,并向发送端反馈原始图像对应的图像标识。
步骤206,对原始图像进行图像编码,得到图像标识对应的编码图像。
在一发多收的场景下,多个接收端到服务器中下载图像所需的下载流量较大,给服务器带来了非常高的带宽成本。目前,相关解决方案是发送端对原始图像进行编码,将编码图像上传至服务器,接收端到服务器下载编码图像,并进行解码,即可得到原始图像。由于图像上传和图像下载的过程均使用的是编码图像,因此,可以很大程度节省带宽成本。然而,这种方式存在以时间换空间的问题,即节省了空间,但是需要较长的时间,特别是在发送端执行图像编码算法,容易导致发送端出现发热、耗电量大以及较长等待时间的情况,影响用户体验。
根据已有的统计数据分析可知:对于一发多收的场景,服务器的下载流量带宽成本远大于上传流量带宽。因此,即使发送端发送原始图像,对于总体的流量带宽影响可以忽略不计。基于上述分析,本申请实施例中发送端不对原始图像进行编码处理,直接将原始图像发送至服务器。
根据已有的统计数据分析可知:1%的下载动作发生在图像上传后的1秒内,不到10%的下载动作发生在图像上传后的10秒内。其中,图像消息投递至接收端后,接收端往往不会立即进行下载,不仅限于以下原因:登录接收端的社交应用账号不在线;图像消息投递不够及时;图像消息投递到收取消息之间存在时间差;接收端仅预下载缩略图;登录接收端的社交应用账号未进入即时会话,图像预下载优先级低。因此,在接收端发起下载动作之前,服务器绝大部分情况下可以将原始图像转换编码图像。基于上述分析,本申请实施例,由服务器对原始图像进行编码处理。
编码图像,指按照编码算法对原始图像进行编码处理后的图像,其中,图像编码算法包括各类图像编码算法。例如WebP图像格式编码算法、AVIF图像格式编码算法、HEIF图像格式编码算法。编码图像的图像格式统称为压缩图像格式。例如,WebP图像格式、AVIF图像格式、HEIF图像格式等。以原始图像为JPEG图像格式,编码图像为AVIF图像格式为例,AVIF图像格式的文件体积平均约是同质量JPEG图像格式的45%,相应地,接收端下载AVIF图像格式的方式,可以节省约55%的流量带宽成本,相较节省的流量带宽成本而言,服务器新增的AVIF编解码服务算力开销、以及额外AVIF存储带来的成本可忽略不计。
在一些实施例中,可通过编解码服务器对原始图像进行图像编码,得到图像标识对应的编码图像。
具体地,如图3所示,步骤4,分布式内容网络中距离发送端最近的服务器将获取的原始图像传递至编解码服务器,并请求编解码服务器对原始图像进行编码;步骤5,编解码服务器按照图像编码算法对原始图像进行编码处理,得到图像标识对应的编码图像,并将编码图像反馈至分布式内容网络中距离发送端最近的服务器;步骤6,距离发送端最近的服务器对编解码服务器反馈的编码图像进行存储,在原始图像的有效期到期后,删除原始图像。
步骤208,接收发送端发送的图像消息,图像消息携带图像标识与即时会话的会话标识。
其中,图像消息包含图像标识和即时会话的会话标识,用于指示服务器将图像消息发送至会话标识对应的即时会话的会话成员对应的接收端。图像消息还可携带尺寸信息,尺寸信息包括原始图像的长度、宽度和原始图像对应的文件大小等信息。
在一个实施例中,发送端创建一条图像消息对应的数据结构,将即时会话的会话标识、图像标识和尺寸信息填入该数据结构中,生成一条携带有原始图像的图像标识的图像消息,发送端将图像消息发送至服务器(例如,分布式内容网络中距离发送端最近的服务器),服务器接收发送端发送的图像消息。
例如,发送方创建一条图像消息的数据结构为:
{type:“image”,to:168882213,width:200,height:150,size:65535,fileid:“ww161538263548”}
其中,type表示消息类型;image表示图像;168882213表示即时会话的会话标识;width表示原始图像的长度;height表示原始图像的宽度;size表示原始图像的文件大小;fileid表示原始图像对应的文件标识。
步骤210,将图像消息投递到会话标识对应的即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。
根据已有的统计数据分析可知:图像编码过程对计算力的要求较高,而图像解码过程对计算力的要求较低,可以软解,图像解码过程可以在各类便携式设备上运行。因此,本申请实施例将图像编码过程设置在服务器中进行,将图像解码过程设置在接收端中进行。如此,可在接收端下载图像的过程使用编码图像,图像解码过程设置在接收端,进而节省带宽成本。
即时会话的会话成员所对应的接收端,指的是会话成员所登录的、用于接收其他会话成员发送的会话消息的计算机设备。
具体地,服务器根据图像消息中即时会话的会话标识,将图像消息投递到即时会话中每一位会话成员所对应的接收端,接收端根据图像消息中的图像标识到服务器中下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。
在一些实施例中,可通过消息服务器接收发送端创建的图像消息,并将图像消息投递到即时会话中每一位会话成员所对应的接收端。
具体地,如图3所示,步骤7,发送端将图像消息发送至消息服务器;步骤8,消息服务器根据图像消息中即时会话的会话标识,将图像消息投递到即时会话中每一位会话成员所对应的接收端;步骤9,接收端到分布式内容网络中距离接收端最近的服务器中下载与图像消息中的图像标识对应的编码图像;步骤10,距离接收端最近的服务器反馈与图像标识对应的编码图像;步骤11,接收端对下载的编码图像进行图像解码得到原始图像。
上述图像传输方法中,通过即时会话将原始图像发送至服务器后,接收服务器为原始图像生成并反馈的图像标识,根据图像标识、即时会话的会话标识向服务器发送图像消息,可指示服务器将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。上述过程中,仅上传原始图像至服务器,无需上传编码图像,由服务器进行图像编码,这样,发送端不会存在因执行编码算法而导致的发热、耗电的问题,也避免了因编码耗时较长需要用户较长时间的等待图像上传而影响用户体验的问题,此外,服务器的带宽成本主要由短时间内同时下载原始图像的巨量下行流量而导致的,发送端上传一张原始图像对带宽成本的影响可忽略不计。即时会话的会话成员所对应的大量接收端根据图像消息中的图像标识到服务器中下载相应的编码图像,可避免短时间内大量接收端直接从服务器下载原始图像,从而降低服务器短时间内的带宽成本,接收端对下载的编码图像进行解码处理,可以得到原始图像。总体上,能够降低在即时会话中投递图像到接收端的带宽成本、提升发送端在即时会话中投递图像的用户体验。
在一个实施例中,由于即时会话中的发送端发送的原始图像都存储在服务器中,针对发送端发送的相同的原始图像,若服务器每次都进行存储,就会出现相同的原始图像存储多次的情况,浪费了服务器的存储资源。因此,为解决上述问题,本实施例的图像传输方法还包括以下步骤:
接收发送端通过即时会话发送的图像哈希,图像哈希根据原始图像计算得到;若已存在与图像哈希对应的图像数据,则跳过接收发送端通过即时会话上传的原始图像的步骤,直接执行生成与图像数据对应的图像标识,向发送端反馈图像数据对应的图像标识的步骤;若尚不存在与图像哈希对应的图像数据,则执行接收发送端通过即时会话上传的原始图像,向发送端反馈原始图像对应的图像标识的步骤。
其中,图像哈希,是检测一张图片的内容然后根据检测的内容为图片建立一个唯一值的过程,用于进行相似图像检测。若服务器中存在与图像哈希对应的图像数据,表示该图像数据与发送端上传的原始图像相同,服务器无需再次存储该原始图像。本实施例中,图像哈希的计算过程中是在发送端进行的,计算图像哈希的算法可以使用各类计算方法,例如,MD5、SHA256等多个哈希算法,也可多个哈希算法同时使用增强可靠性。
服务器中与图像哈希对应的图像数据,指的是服务器中与计算得到的图像哈希相似的未到有效期的原始图像,或者已被删除的原始图像对应的编码图像。其中,服务器存储了图像标识对应的原始图像以及编码图像,原始图像具备有效期,而编码图像不具备有效期,即原始图像到期删除,而保存原始图像对应的编码图像。
本实施例中,服务器存储了不同即时会话的会话成员上传的历史消息。例如,同一即时会话的不同会话成员上传的历史原始图像,或者不同即时会话的不同会话成员上传的历史原始图像。因此,服务器在进行图像哈希比较时,是将发送端上传的图像哈希与不同即时会话的会话成员上传的历史图像数据进行比较。
即时消息具备到期删除的特征,原始图像和图像标识对应存储,因此,对于服务器存储的历史原始图像对应的图像标识也具备有效期,有效期到期后自动删除历史原始图像对应的图像标识,因此,在服务器中存在与图像哈希对应的图像数据的情况下,服务器还需要重新为历史图像分配新的图像标识。
具体地,图4为一个实施例中发送端获取图像标识的流程示意图;如图4所示,发送端在上传原始图像至服务器(例如,通过分布式内容网络中距离发送端最近的服务器)之前,步骤1,发送端首先计算待上传的原始图像的图像哈希,并通过即时会话将图像哈希上传至服务器;步骤2,服务器接收发送端发送的图像哈希,并在存储的图像数据中查找与图像哈希对应的图像数据;步骤3,若服务器中已存在与图像哈希对应的图像数据,则发送端无需上传原始图像,生成与图像数据对应的图像标识,向发送端反馈图像数据对应的图像标识;步骤4,若服务器中尚不存在与图像哈希对应的图像数据,则发送端将原始图像发送至服务器,服务器接收发送端通过即时会话上传的原始图像;步骤5,服务器对原始图像进行存储(例如,将原始图像存储至分布式内容网络中每个服务器);步骤6,服务器为原始图像分配图像标识,并向发送端反馈原始图像对应的图像标识。
本实施例中,在发送端通过即时会话发送原始图像至服务器之前,服务器接收发送端计算的原始图像对应的图像哈希,并在存储的图像数据中查找与图像哈希对应的图像数据,若服务器中存在与图像哈希对应的图像数据,则表示服务器中存储有相同的原始图像,此时,发送端无需上传原始图像,服务器只需向发送端反馈存储的图像数据对应的图像标识,可以避免相同的原始图像重复存储,浪费服务器的存储空间的情况。
在一个实施例中,由于服务器存储了不同即时会话中的会话成员发送的原始图像,因此,存在同一时刻需要对多个即时会话中的会话成员发送的原始图像进行编码的情况,由于不同即时会话中会话成员的数量不同,所需的下载流量带宽成本也不同,为了合理地安排服务器的图像编码资源,本实施例中服务器接收发送端通过即时会话上传的原始图像,还包括以下步骤:
接收发送端通过即时会话上传的原始图像与即时会话的成员数量区间,成员数量区间根据即时会话的会话成员的数量确定。
其中,即时会话的成员数量区间是预设区间。例如,预设区间包括0-100、101-200、200-500等区间,当前即时会话的成员数量为150,则该即时会话的成员数量区间为101-200。
具体地,服务器接收发送端通过即时会话上传的原始图像与即时会话的成员数量区间,并将原始图像和即时会话的成员数量区间对应存储。
在一些实施例中,对原始图像进行图像编码,得到图像标识对应的编码图像,包括:
按成员数量区间确定原始图像对应的编码优先级;按编码优先级将原始图像的图像标识依次添加至编码任务队列中;依次取出编码任务队列中的图像标识,并对相应的原始图像进行图像编码,得到图像标识对应的编码图像;其中,成员数量区间的级别越高,相应的编码优先级越高,相应的图像标识越优先被添加至编码任务队列中。
其中,编码任务队列中按照编码优先级依次排列,编码优先级越高,在编码任务队列中的排序越靠前。
针对服务器中已存在与发送端计算的图像哈希对应的图像数据,由于服务器中存储有与发送端计算的图像哈希对应的图像数据对应的编码图像,因此,服务器无需对与发送端计算的图像哈希对应的图像数据进行图像编码处理。
具体地,服务器(例如,分布式内容网络中距离发送端最近的服务器)接收的原始图像对应的成员数量区间与编码任务队列中图像数据所对应的即时会话的成员数量区间进行比较,确定原始图像对应的编码优先级;服务器按编码优先级将原始图像的图像标识依次添加至编码任务队列中;服务器依次取出编码任务队列中的图像标识,并对相应的原始图像进行图像编码,得到图像标识对应的编码图像。
在一些实施例中,若服务器接收的原始图像对应的成员数量区间与编码任务队列中图像数据所对应的即时会话的成员数量区间相同,则按照服务器接收原始图像的时刻确定原始图像对应的编码优先级。
本实施例中,服务器接收发送端通过即时会话上传的原始图像与即时会话的成员数量区间,并按成员数量区间确定原始图像对应的编码优先级,按编码优先级将原始图像的图像标识依次添加至编码任务队列中;服务器按照编码任务队列中的排序顺序依次进行图像编码处理。上述方法中,在发送端发送原始图像至服务器的同时,还将即时会话的成员数量区间一并发送至服务器,将成员数量区间作为服务器编码的优先级判定条件,可以使得会话成员数量多的即时会话发送的原始图像优先编码,减少会话成员数量多的即时会话中会话成员的等待时间,合理地安排服务器的图像编码资源。
在一个实施例中,在向发送端反馈原始图像对应的图像标识之后,所述方法还包括:
将图像标识与原始图像对应存储。
在一些实施例中,在对原始图像进行图像编码,得到图像标识对应的编码图像之后,所述方法还包括:
将图像标识与编码图像对应存储;为原始图像设置有效期,并在有效期到期后,删除原始图像。
其中,原始图像属于即时消息的一种类型,大多数图像消息都有时效性。根据统计数据分析可知:原始图像上传一周以后的下载量非常低,因此,本实施例中将原始图像的有效期设置为一周。
具体地,服务器(例如,分布式内容网络中距离发送端最近的服务器)将获取的原始图像、原始图像对应的图像标识以及原始图像对应的编码图像对应存储,并设置原始图像的有效期,在原始图像的有效期到期后,删除原始图像。
本实施例中,设置原始图像的有效期,并在原始图像的有效期到期后,删除原始图像,一方面可以释放服务器的存储资源,另一方面,保留了原始图像对应的编码图像,为后续发送端发送的相同的原始图像提供比较对象,并且针对发送端发送的相同的原始图像,无需再次进行图像编码,降低了服务器的编码计算量。
在一个实施例中,将图像消息投递到会话标识对应的即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像,包括:
一、将图像消息投递到会话标识对应的即时会话。
具体地,发送端将图像消息发送至服务器(例如,消息服务器),服务器对发送端的身份和权限进行验证,例如,检查发送端的身份凭据、发送端是否在属于即时会话的会话成员所对应的计算机设备、发送端是否具备发消息权限(例如管理员可以禁言、发送端有发送消息的频率限制等)。在发送端验证通过后,服务器根据图像消息中即时会话的会话标识查找到对应的即时会话,并将图像消息投递到即时会话中每一位会话成员对应的接收端。
二、接收即时会话的会话成员所对应的接收端根据图像消息中的图像标识所发送的下载请求;其中,在接收端未请求下载过图像标识所标识的图像的情况下,下载请求携带压缩图像格式信息;在接收端下载过图像标识所标识的图像的情况下,下载请求携带请求下载过图像的格式信息。
其中,在接收端已完全下载图像标识所标识的图像的情况下,接收端无需向服务器发起下载请求,无需下载图像标识所标识的图像。接收端仅在未请求下载或者下载部分图像标识所标识的图像的情况下,接收端需要向服务器发起下载请求。
接收端在发起下载请求前,检测自身是否支持图像解码,若接收端不支持图像解码,则接收端为旧版接收端,对于不支持图像解码的接收端,下载请求携带原始图像格式信息,用于指示服务器反馈与图像消息中的图像标识对应的、原始图像格式的原始图像至接收端。
若接收端支持图像解码,则接收端为新版接收端,对于支持图像解码的接收端,若接收端未请求下载过图像标识所标识的图像,则下载请求携带压缩图像格式信息,用于指示服务器反馈与图像消息中的图像标识对应的、压缩图像格式的编码图像至接收端;若接收端请求下载过图像标识所标识的图像,则下载请求携带请求下载过图像的格式信息,表征接收端曾下载过,但是未完全下载图像,用于指示服务器反馈与图像消息中的图像标识对应的、请求下载过图像的格式信息的图像至接收端。
压缩图像格式信息,指的是图像编码格式信息。例如,编码图像的图像格式是AVIF格式,因此,压缩图像格式信息指的是AVIF格式信息。
原始图像格式信息,指的是发送端上传服务器时原始图像对应的格式信息。例如,原始图像的格式是JPEG格式,因此,原始图像格式信息指的是JPEG格式信息。
图像标识所标识的图像,包括图像标识所标记的原始图像和编码图像。接收端请求下载过图像标识所标识的图像的情况,指的是接收端在下载的过程中,因网络中断等原因导致图像下载中断,在网络恢复后重新下载图像的场景(即断点续传场景)。在断点续传的场景中,仅下载了部分图像,因此,在重新下载图像时,为保证下载图像的完整性,再次下载时,选用请求下载过图像的格式的图像。例如,在断点续传的场景中,若请求下载过图像的格式为编码格式,则再次下载时,请求编码图像;若请求下载过图像的格式为原图格式,则再次下载时,请求原始图像。
具体地,接收端检查是否下载过图像消息中图像标识所标记的图像;若接收端未请求下载过图像标识所标识的图像,则接收端根据图像消息中的图像标识向服务器(例如,分布式内容网络中距离接收端最近的服务器)发起下载请求,用于指示服务器反馈与图像消息中的图像标识对应的、压缩图像格式的编码图像至接收端。若接收端下载过,但是未完全下载图像标识所标识的图像,则接收端根据图像消息中的图像标识向服务器发起下载请求,用于指示服务器反馈与图像消息中的图像标识对应的、请求下载过图像的格式信息的图像至接收端。若接收端完全下载过,则无需向服务器发起下载请求,无需下载图像标识所标识的图像。
在一些实施例中,接收端向分布式内容网络的中心服务器请求CDN节点列表;CDN节点列表包括距离接收端预设范围内、数据传输速度大于阈值、与接收端所属相同网络运行商的服务器;中心服务器响应于接收端的请求,根据接收端的公网IP地址、所属网络运行商等信息,反馈满足要求的CDN节点至接收端;接收端同时与CDN节点列表中各服务器建立连接,将最先连接上的服务器作为距离接收端最近的服务器。
其中,若接收端的网络环境未发生变化,则在接收端在发送下载请求之前,无需每次查找距离接收端最近的服务器;若接收端的网络环境发生变化(例如连接了不同的WiFi,或者切换到了蜂窝网络)、或者已经选择的节点连接不上时,接收端需要重新查找距离接收端最近的服务器。
三、若下载请求携带压缩图像格式信息,则响应于下载请求,查找与图像消息中的图像标识对应的编码图像,并将查找到的编码图像反馈至接收端,以使得接收端对编码图像进行图像解码得到原始图像;若下载请求携带请求下载过图像的格式信息,则响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的图像反馈至接收端。
具体地,接收端向服务器(例如,分布式内容网络中距离接收端最近的服务器)发送下载请求;若下载请求携带压缩图像格式信息,则服务器查找与图像消息中的图像标识对应的编码图像,并将查找到的编码图像反馈至接收端,以使得接收端对编码图像进行图像解码得到原始图像;若下载请求携带请求下载过图像的格式信息,则服务器查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的图像反馈至接收端。
本实施例中,服务器在接收端未请求下载过图像标识所标识的图像的情况下,优先查找与图像标识对应的编码图像反馈至接收端,可以降低服务器的下载流量带宽成本;服务器在接收端未完全下载图像标识所标识的图像的情况下,查找与图像标识对应的、且属于请求下载过图像的格式信息的图像反馈至接收端,可以保证断点续传前后下载的图像格式一致,并且在图像已下载的部分继续下载剩余图像数据,而不是重新下载图像,可以降低服务器的下载流量带宽成本。
在一个实施例中,由于相关技术是由发送端对原始图像进行编码,并将编码得到的编码图像发送至服务器,而接收端只能在服务器中下载编码图像,由于新旧版软件的兼容差异性,新版的接收端支持图像解码,旧版接收端不支持图像解码,因此,对于不支持图像解码的旧版的接收端无法解码查看发送端发出的图像,同时还会引入外部开发者需要去解决API兼容性的问题,影响用户体验。因此,本实施例针对新版接收端和旧版接收端设置不同的接收策略,具体如下:
在一些实施例中,在下载请求携带压缩图像格式信息的情况下,说明当前的接收端支持图像解码且未请求下载过与图像标识所标识的图像。针对该情况,上述方法还包括:
服务器响应于下载请求,查找与图像消息中的图像标识对应的编码图像,并将查找到的编码图像反馈至接收端。
具体地,图5为一个实施例中接收端与服务器之间数据交互的示意图,如图5所示,步骤1,接收端检查自身是否支持图像解码、是否下载过图像消息中图像标识所标记的图像;步骤2,若接收端支持图像解码且未请求下载过图像标识所标识的图像,则接收端向服务器(例如,分布式内容网络中距离接收端最近的服务器)发送下载请求,用于请求与图像消息中的图像标识对应的编码图像;步骤3,服务器响应于下载请求,查找与图像消息中的图像标识对应的编码图像。
本实施例中,由于服务器存储有原始图像对应的编码图像,对于新版接收端,服务器反馈编码图像至接收端,从而兼容新版接收端。
在一些实施例中,由于服务器采用异步编码的方式对原始图像进行图像编码,因此,在即时会话中各会话成员对应的接收端下载图像时,可能存在服务器还未准备好编码图像的情况。因此,上述方法还可以包括:
若未查找到与图像消息中的图像标识对应的编码图像,则将图像消息中的图像标识对应的原始图像反馈至接收端。
具体地,如图5所示,步骤4,若服务器查找到与图像消息中的图像标识对应的编码图像,则将查找到的编码图像反馈至接收端;步骤5,接收端对编码图像进行解码,得到原始图像;步骤6,若服务器未查找到与图像消息中的图像标识对应的编码图像,则将图像消息中的图像标识对应的原始图像反馈至接收端。
本实施例中,在服务器未准备好编码图像或者其他原因造成服务器未查找到与图像消息中的图像标识对应的编码图像的情况下,能够使接收端降级下载原始图像,实现图像格式的平滑迁移。
在一些实施例中,在下载请求携带请求下载过图像的格式信息,且请求下载过图像的格式信息为压缩图像格式信息的情况下,说明当前接收端支持图像解码,为新版接收端,并未完全下载图像。针对该情况,响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的图像反馈至接收端,包括:
响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像反馈至接收端。
具体地,若接收端请求下载过图像标识所标识的图像,则接收端向服务器(例如,分布式内容网络中距离接收端最近的服务器)发送下载请求,用于请求与图像消息中的图像标识对应的编码图像;服务器响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像反馈至接收端。
本实施例中,服务器在接收端请求下载过图像的格式信息为压缩图像格式信息的情况下,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像反馈至接收端,可以保证断点续传前后下载的图像格式一致,进而得到完整的编码图像。
在一些实施例中,由于服务器采用异步编码的方式对原始图像进行图像编码,因此,在接收端重新对编码图像进行下载时,可能存在服务器还未准备好编码图像的情况。因此,在请求下载过图像的格式信息为压缩图像格式信息的情况下,所述方法还包括:
若未查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像,则将与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像反馈至接收端。
具体地,如图5所示,步骤2,若接收端支持图像解码、且已下载过压缩图像格式信息的图像,则接收端向服务器(例如,分布式内容网络中距离接收端最近的服务器)发送下载请求,用于请求与图像消息中的图像标识对应的编码图像;步骤3,服务器响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像;步骤4,若服务器查找到与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像,则将查找到的编码图像反馈至接收端;步骤5,接收端对编码图像进行解码,得到原始图像;步骤6,若服务器未查找到与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像,则将图像消息中的图像标识对应的原始图像反馈至接收端。
本实施例中,在服务器未准备好编码图像或者其他原因造成服务器未查找到与图像消息中的图像标识对应的编码图像的情况下,能够使接收端降级下载原始图像,实现图像格式的平滑迁移。
在一个实施例中,在下载请求携带请求下载过图像的格式信息,且请求下载过图像的格式信息为原始图像格式信息的情况下,表征接收端不支持图像解码,为旧版接收端,并未完全下载图像。针对该情况,响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的图像反馈至接收端,包括:
响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像反馈至接收端。
具体地,如图5所示,步骤7,若接收端不支持图像解码或者已下载过原始图像格式信息的图像,则接收端向服务器(例如,分布式内容网络中距离接收端最近的服务器)发送下载请求,用于请求与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像;步骤8,服务器响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像反馈;步骤9,若服务器查找到与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像,则将查找到的原始图像反馈至接收端。
本实施例中,在接收端为旧版接收端的情况下,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像反馈至接收端,进而兼容旧版接收端。
在一些实施例中,由于原始图像具备有效期,在接收端下载原始图像时,可能存在原始图像的有效期到期后,删除原始图像的情况,因此,针对该情况,所述方法还包括:
若未查找到与图像消息中的图像标识对应的原始图像,则对图像消息中的图像标识对应的编码图像进行图像解码,得到图像标识对应的原始图像,并将解码得到的原始图像反馈至接收端。
具体地,服务器未查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像,则服务器将与图像消息中的图像标识对应的编码图像进行解码,得到与图像消息中的图像标识对应的原始图像,并将原始图像反馈至接收端。
例如,如图5所示,步骤10,若分布式内容网络中距离接收端最近的服务器未查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像的,则距离接收端最近的服务器将与图像消息中的图像标识对应的编码图像发送至编解码服务器;步骤11,编解码服务器对编码图像进行解码,得到原始图像,并将原始图像反馈至距离接收端最近的服务器;步骤12,距离接收端最近的服务器对解码后的原始图像反馈至接收端。
本实施例中,针对旧版接收端到服务器下载原始图像,然而原始图像已被删除的情况,服务器对存储的编码图像进行解码,进而得到原始图像,保证了旧版接收端可以原始图像有效期到期后仍能获取原始图像。
上述图像传输方法中,服务器可根据不同版本的接收端反馈适配的图像,从而解决了版本不兼容导致接收端无法查看原始图像的问题。例如,若接收端为旧版接收端,即不支持图像解码的接收端,则服务器将原始图像反馈至接收端;若接收端为新版接收端,即支持图像解码的接收端,则服务器将编码图像反馈至接收端,接收端对编码图像进行解码,得到原始图像。
在一个实施例中,在服务器将与图像消息中的图像标识对应的编码图像进行解码,得到与图像消息中的图像标识对应的原始图像后,还包括:
将图像标识与解码得到的原始图像对应存储;为解码得到的原始图像设置有效期,并在有效期到期后,删除解码得到的原始图像。
其中,服务器存储有与图像标识对应的原始图像和编码图像时,可以缩短原始图像的有效期,进而更快地释放服务器的存储资源。
具体地,如图5所示,步骤13,服务器(例如,分布式内容网络中距离接收端最近的服务器)将图像标识与解码得到的原始图像对应存储;步骤14,为解码得到的原始图像设置有效期,并在有效期到期后,删除解码得到的原始图像。
本实施例中,服务器计算得到图像标识对应的编码图像后,进一步缩短原始图像的有效期,进而更快地释放服务器的存储资源。
在一个实施例中,提供的图像传输方法还可以应用于如图1所示的发送端102中。如图6所示,具体包括以下步骤:
步骤602,通过即时会话将原始图像上传至服务器。
具体地,图3为一个实施例中图像传输方法的数据交互示意图,如图3所示,发送端获取原始图像后,执行步骤1,将原始图像发送至服务器(例如,分布式内容网络中距离发送端最近的服务器),服务器接收发送端通过即时会话上传的原始图像;步骤2,服务器对原始图像进行存储(例如,将原始图像存储至分布式内容网络中每个服务器)。
步骤604,接收服务器为原始图像生成并反馈的图像标识。
具体地,如图3所示,步骤3,服务器(例如,分布式内容网络中距离发送端最近的服务器)接收到发送端上传的原始图像后,为原始图像分配图像标识,并向发送端反馈原始图像对应的图像标识。
步骤606,根据图像标识、即时会话的会话标识向服务器发送图像消息;图像消息用于指示服务器根据会话标识将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。
具体地,如图3所示,步骤4,服务器(例如,分布式内容网络中距离发送端最近的服务器)将获取的原始图像传递至编解码服务器,并请求编解码服务器对原始图像进行编码;步骤5,编解码服务器按照图像编码算法对原始图像进行编码处理,得到图像标识对应的编码图像,并将编码图像反馈至分布式内容网络中服务器;步骤6,服务器对编解码服务器反馈的编码图像进行存储,并在原始图像的有效期到期后删除原始图像;步骤7,发送端将图像消息发送至消息服务器;步骤8,消息服务器根据图像消息中即时会话的会话标识,将图像消息投递到即时会话中每一位会话成员所对应的接收端;步骤9,接收端到服务器(例如,分布式内容网络中距离接收端最近的服务器)中下载与图像消息中的图像标识对应的编码图像;步骤10,服务器(例如,分布式内容网络中距离接收端最近的服务器)反馈与图像标识对应的编码图像;步骤11,接收端对下载的编码图像进行图像解码得到原始图像。
本实施例中,通过即时会话将原始图像发送至服务器后,接收服务器为原始图像生成并反馈的图像标识,根据图像标识、即时会话的会话标识向服务器发送图像消息,可指示服务器将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。上述过程中,仅上传原始图像至服务器,无需上传编码图像,由服务器进行图像编码,这样,发送端不会存在因执行编码算法而导致的发热、耗电的问题,也避免了因编码耗时较长需要用户较长时间的等待图像上传而影响用户体验的问题,此外,服务器的带宽成本主要由短时间内同时下载原始图像的巨量下行流量而导致的,发送端上传一张原始图像对带宽成本的影响可忽略不计。即时会话的会话成员所对应的大量接收端根据图像消息中的图像标识到服务器中下载相应的编码图像,可避免短时间内大量接收端直接从服务器下载原始图像,从而降低服务器短时间内的带宽成本,接收端对下载的编码图像进行解码处理,可以得到原始图像。总体上,能够降低在即时会话中投递图像到接收端的带宽成本、提升发送端在即时会话中投递图像的用户体验。
在一个实施例中,由于即时会话中的发送端发送的原始图像都存储在服务器中,针对发送端发送的相同的原始图像,若服务器每次都进行存储,就会出现相同的原始图像存储多次的情况,浪费了服务器的存储资源。因此,为解决上述问题,本实施例的图像传输方法还包括以下步骤:
根据原始图像计算得到图像哈希,并通过即时会话将图像哈希上传至服务器;图像哈希用于指示服务器在存储的图像数据中查找与图像哈希对应的图像数据,若已存在与图像哈希对应的图像数据,则执行接收服务器为原始图像生成并反馈的图像标识的步骤;若尚不存在与图像哈希对应的图像数据,则执行通过即时会话将原始图像发送至服务器的步骤。
具体地,图4为一个实施例中发送端获取图像标识的流程示意图;如图4所示,发送端在上传原始图像至服务器(例如,通过分布式内容网络中距离发送端最近的服务器)之前,步骤1,发送端首先计算待上传的原始图像的图像哈希,并通过即时会话将图像哈希上传至服务器;步骤2,服务器接收发送端发送的图像哈希,并在存储的图像数据中查找与图像哈希对应的图像数据;步骤3,若服务器中已存在与图像哈希对应的图像数据,则发送端无需上传原始图像,服务器生成与图像数据对应的图像标识,向发送端反馈图像数据对应的图像标识;步骤4,若服务器中尚不存在与图像哈希对应的图像数据,则发送端将原始图像发送至服务器,服务器接收发送端通过即时会话上传的原始图像;步骤5,服务器对原始图像进行存储(例如,将原始图像存储至分布式内容网络中每个服务器);步骤6,服务器为原始图像分配图像标识,并向发送端反馈原始图像对应的图像标识。
本实施例中,在发送端通过即时会话发送原始图像至服务器之前,发送端根据原始图像计算图像哈希,并通过即时会话将图像哈希上传至服务器;服务器在存储的图像数据中查找与图像哈希对应的图像数据,若服务器中存在与图像哈希对应的图像数据,则表示服务器中存储有相同的原始图像,此时,发送端无需上传原始图像,服务器只需向发送端反馈存储的图像数据对应的图像标识,可以避免发送端反复发送想通的原始图像、以及相同的原始图像重复存储,浪费服务器的存储空间的情况。
在一个详细的实施例中,本实施例提供一种图像传输方法,具体包括以下步骤:
一、接收发送端通过即时会话发送的图像哈希,图像哈希根据原始图像计算得到。
二、查找与图像哈希对应的图像数据;若已存在与图像哈希对应的图像数据,则执行步骤三;若尚不存在与图像哈希对应的图像数据,则执行步骤四。
三、生成与图像数据对应的图像标识,向发送端反馈图像数据对应的图像标识;执行步骤五。
四、接收发送端通过即时会话上传的原始图像与即时会话的成员数量区间,向发送端反馈原始图像对应的图像标识;成员数量区间根据即时会话的会话成员的数量确定;执行步骤五。
五、将图像标识与原始图像对应存储。
六、接收发送端通过即时会话发送的即时会话的成员数量区间,成员数量区间根据即时会话的会话成员的数量确定。
七、按成员数量区间确定原始图像对应的编码优先级。
八、按编码优先级将原始图像的图像标识依次添加至编码任务队列中。
九、依次取出编码任务队列中的图像标识,并对相应的原始图像进行图像编码,得到图像标识对应的编码图像;其中,成员数量区间的级别越高,相应的编码优先级越高,相应的图像标识越优先被添加至编码任务队列中。
十、将图像标识与编码图像对应存储;为原始图像设置有效期,并在有效期到期后,删除原始图像。
十一、接收发送端发送的图像消息,图像消息携带图像标识与即时会话的会话标识。
十二、将图像消息投递到会话标识对应的即时会话。
十三、接收即时会话的会话成员所对应的接收端根据图像消息中的图像标识所发送的下载请求;其中,在接收端未请求下载过图像标识所标识的图像的情况下,下载请求携带压缩图像格式信息;在接收端下载过图像标识所标识的图像的情况下,下载请求携带请求下载过图像的格式信息;
若下载请求携带压缩图像格式信息,则执行步骤十四至步骤十五;若下载请求携带请求下载过图像的格式信息,且请求下载过图像的格式信息为压缩图像格式信息,则执行步骤十六至步骤十七;若下载请求携带请求下载过图像的格式信息,且请求下载过图像的格式信息为原始图像格式信息,则执行步骤十八至步骤二十。
十四、响应于下载请求,查找与图像消息中的图像标识对应的编码图像,并将查找到的编码图像反馈至接收端,以使得接收端对编码图像进行图像解码得到原始图像。
十五、若未查找到与图像消息中的图像标识对应的编码图像,则将图像消息中的图像标识对应的原始图像反馈至接收端。
十六、响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像反馈至接收端。
十七、若未查找到与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像,则将图像消息中的图像标识对应的原始图像反馈至接收端。
十八、响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像反馈至接收端。
十九、若未查找到与图像消息中的图像标识对应的原始图像,则对图像消息中的图像标识对应的编码图像进行图像解码,得到图像标识对应的原始图像,并将解码得到的原始图像反馈至接收端。
二十、将图像标识与解码得到的原始图像对应存储;为解码得到的原始图像设置有效期,并在有效期到期后,删除解码得到的原始图像。
本实施例中,发送端仅上传原始图像,由服务端进行编码,得到编码图像,服务器将图像标识、原始图像和编码图像对应存储;对于旧版接收端(即不支持图像解码)到服务器中下载与图像标识对应内的原始图像;对于新版接收端(即支持图像解码)到服务器中下载与图像标识对应内的编码图像,接收端下载后进行解码,得到原始图像。通过上述方法,将编码过程设置在服务器中进行,将解码过程设置在接收端进行,可以在保证服务器下载流量带宽成本的情况下,避免图像编码过程发生在发送端,导致发送端发热、耗电和较长的等待时间等问题,提高用户体验。上述方法还根据不同版本的接收端反馈对应的图像,从而完全兼容旧版本客户端,第三方开发者无感知,几乎不影响用户体验,也达到了大幅降低运营成本的目的。
在一个具体的实施例中,提供一种图像传输方法,具体包括以下步骤:
一、发送端首先计算待上传的原始图像的图像哈希,并通过即时会话将图像哈希上传至服务器(例如,分布式内容网络中距离发送端最近的服务器)。
二、服务器接收发送端发送的图像哈希,并在存储的图像数据中查找与图像哈希对应的图像数据。
三、若服务器中已存在与图像哈希对应的图像数据,则发送端无需上传原始图像,服务器生成与图像数据对应的图像标识,向发送端反馈图像数据对应的图像标识。
四、若服务器中尚不存在与图像哈希对应的图像数据,则发送端将原始图像发送至服务器,服务器接收发送端通过即时会话上传的原始图像;服务器对原始图像进行存储(例如,将原始图像存储至分布式内容网络中每个服务器);服务器为原始图像分配图像标识,并向发送端反馈原始图像对应的图像标识。
五、服务器将获取的原始图像传递至编解码服务器,并请求编解码服务器对原始图像进行编码。
六、编解码服务器按照图像编码算法对原始图像进行编码处理,得到图像标识对应的编码图像,并将编码图像反馈至服务器。
七、服务器对编解码服务器反馈的编码图像进行存储,并在原始图像的有效期到期后删除原始图像。
八、发送端将图像消息发送至消息服务器;消息服务器根据图像消息中即时会话的会话标识,将图像消息投递到即时会话中每一位会话成员所对应的接收端。
九、接收端检查自身是否支持图像解码、是否下载过图像消息中图像标识所标记的图像。
十、对于支持图像解码的接收端,若接收端未请求下载过图像标识所标识的图像,或者已下载过压缩图像格式信息的图像,则接收端向服务器(例如,分布式内容网络中距离接收端最近的服务器)发送下载请求,用于请求与图像消息中的图像标识对应的编码图像;服务器响应于下载请求,查找与图像消息中的图像标识对应的编码图像。若服务器查找到与图像消息中的图像标识对应的编码图像,则将查找到的编码图像反馈至接收端。若服务器未查找到与图像消息中的图像标识对应的编码图像,则将图像消息中的图像标识对应的原始图像反馈至接收端。
十一、对于不支持图像解码的接收端,若接收端已下载过原始图像格式信息的图像,则接收端向服务器(例如,分布式内容网络中距离接收端最近的服务器)发送下载请求,用于请求与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像;服务器响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像反馈;若服务器查找到与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像,则将查找到的原始图像反馈至接收端;若服务器未查找到与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像,则服务器将与图像消息中的图像标识对应的编码图像发送至编解码服务器;编解码服务器对编码图像进行解码,得到原始图像,并将原始图像反馈至服务器;服务器对解码后的原始图像反馈至接收端;服务器将图像标识与解码得到的原始图像对应存储;服务器为解码得到的原始图像设置有效期,并在有效期到期后,删除解码得到的原始图像。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的、应用在服务器的图像传输方法的图像传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像传输装置实施例中的具体限定可以参见上文中对于图像传输方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种图像传输装置。所述装置包括:
图像获取模块701,用于接收发送端通过即时会话上传的原始图像;
标识反馈模块702,用于向发送端反馈原始图像对应的图像标识;
编码模块703,用于对原始图像进行图像编码,得到图像标识对应的编码图像;
消息接收模块704,用于接收发送端发送的图像消息,图像消息携带图像标识与即时会话的会话标识;
消息投递模块705,用于将图像消息投递到会话标识对应的即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。
在其中一个实施例中,所述装置还包括:哈希查找模块,用于接收发送端通过即时会话发送的图像哈希,图像哈希根据原始图像计算得到;若已存在与图像哈希对应的图像数据,则跳过接收发送端通过即时会话上传的原始图像的步骤,直接执行生成与图像数据对应的图像标识,向发送端反馈图像数据对应的图像标识的步骤;若尚不存在与图像哈希对应的图像数据,则执行接收发送端通过即时会话上传的原始图像,向发送端反馈原始图像对应的图像标识的步骤。
在其中一个实施例中,图像获取模块701,还用于接收发送端通过即时会话上传的原始图像与即时会话的成员数量区间,成员数量区间根据即时会话的会话成员的数量确定;
编码模块703,还用于按成员数量区间确定原始图像对应的编码优先级;按编码优先级将原始图像的图像标识依次添加至编码任务队列中;依次取出编码任务队列中的图像标识,并对相应的原始图像进行图像编码,得到图像标识对应的编码图像;其中,成员数量区间的级别越高,相应的编码优先级越高,相应的图像标识越优先被添加至编码任务队列中。
在其中一个实施例中,图像获取模块701,还用于将图像标识与原始图像对应存储;将图像标识与编码图像对应存储;为原始图像设置有效期,并在有效期到期后,删除原始图像。
在其中一个实施例中,消息投递模块705,还用于将图像消息投递到会话标识对应的即时会话;接收即时会话的会话成员所对应的接收端根据图像消息中的图像标识所发送的下载请求;其中,在接收端未请求下载过图像标识所标识的图像的情况下,下载请求携带压缩图像格式信息;在接收端下载过图像标识所标识的图像的情况下,下载请求携带请求下载过图像的格式信息;若下载请求携带压缩图像格式信息,则响应于下载请求,查找与图像消息中的图像标识对应的编码图像,并将查找到的编码图像反馈至接收端,以使得接收端对编码图像进行图像解码得到原始图像;若下载请求携带请求下载过图像的格式信息,则响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的图像反馈至接收端。
在其中一个实施例中,消息投递模块705,还用于若未查找到与图像消息中的图像标识对应的编码图像,则将图像消息中的图像标识对应的原始图像反馈至接收端。
在其中一个实施例中,消息投递模块705,还用于响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的编码图像反馈至接收端。
在其中一个实施例中,消息投递模块705,还用于响应于下载请求,查找与图像消息中的图像标识对应的、且属于请求下载过图像的格式信息的原始图像反馈至接收端。
在其中一个实施例中,消息投递模块705,还用于若未查找到与图像消息中的图像标识对应的原始图像,则对图像消息中的图像标识对应的编码图像进行图像解码,得到图像标识对应的原始图像,并将解码得到的原始图像反馈至接收端。
在其中一个实施例中,图像获取模块701,还用于将图像标识与解码得到的原始图像对应存储;为解码得到的原始图像设置有效期,并在有效期到期后,删除解码得到的原始图像。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的、应用在发送端的图像传输方法的图像传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像传输装置实施例中的具体限定可以参见上文中对于图像传输方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种图像传输装置,所述装置包括:
图像发送模块801,用于通过即时会话将原始图像上传至服务器;
标识接收模块802,用于接收服务器为原始图像生成并反馈的图像标识;
消息发送模块803,用于根据图像标识、即时会话的会话标识向服务器发送图像消息;图像消息用于指示服务器根据会话标识将图像消息投递到即时会话,以使即时会话的会话成员所对应的接收端根据图像消息中的图像标识下载对应的编码图像,并对下载的编码图像进行图像解码得到原始图像。
在其中一个实施例中,所述装置还包括:哈希计算模块,用于根据原始图像计算得到图像哈希,并通过即时会话将图像哈希上传至服务器;图像哈希用于指示服务器在存储的图像数据中查找与图像哈希对应的图像数据,若已存在与图像哈希对应的图像数据,则执行接收服务器为原始图像生成并反馈的图像标识的步骤;若尚不存在与图像哈希对应的图像数据,则执行通过即时会话将原始图像发送至服务器的步骤。
上述图像传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1所示的服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始图像和编码图像数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像传输方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1所示的发送端或接收端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像传输方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种图像传输方法,其特征在于,所述方法包括:
接收发送端通过即时会话上传的原始图像与所述即时会话的成员数量区间;所述即时会话为包括多个会话成员的群组会话,所述发送端是所述即时会话中任一个会话成员所对应的终端,所述成员数量区间根据所述即时会话的会话成员的数量确定;
向所述发送端反馈所述原始图像对应的图像标识;
按所述成员数量区间确定所述原始图像对应的编码优先级,按所述编码优先级依次对接收的原始图像进行图像编码,得到所述图像标识对应的编码图像;其中,成员数量区间的级别越高,相应的编码优先级越高;
接收所述发送端发送的图像消息,所述图像消息携带所述图像标识与所述即时会话的会话标识,将所述图像消息投递到所述会话标识对应的即时会话;
接收所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识所发送的下载请求;
若所述下载请求携带压缩图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的编码图像并反馈至所述接收端,以使得所述接收端对所述编码图像进行图像解码得到所述原始图像;
若所述下载请求携带原始图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的、且属于所述原始图像格式信息的原始图像并反馈至所述接收端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收发送端通过即时会话发送的图像哈希,所述图像哈希根据原始图像计算得到;
若已存在与所述图像哈希对应的图像数据,则跳过所述接收发送端通过即时会话上传的原始图像与所述即时会话的成员数量区间的步骤,直接执行生成与所述图像数据对应的图像标识,向所述发送端反馈所述图像数据对应的图像标识的步骤;
若尚不存在与所述图像哈希对应的图像数据,则执行所述接收发送端通过即时会话上传的原始图像与所述即时会话的成员数量区间,向所述发送端反馈所述原始图像对应的图像标识的步骤。
3.根据权利要求1所述的方法,其特征在于,所述按所述成员数量区间确定所述原始图像对应的编码优先级,按所述编码优先级依次对接收的原始图像进行图像编码,得到所述图像标识对应的编码图像,包括:
按所述成员数量区间确定所述原始图像对应的编码优先级;
按所述编码优先级将原始图像的图像标识依次添加至编码任务队列中;
依次取出所述编码任务队列中的图像标识,并对相应的原始图像进行图像编码,得到所述图像标识对应的编码图像;其中,成员数量区间的级别越高,相应的编码优先级越高,相应的图像标识越优先被添加至所述编码任务队列中。
4.根据权利要求1所述的方法,其特征在于,在所述接收发送端通过即时会话上传的原始图像与所述即时会话的成员数量区间之后,所述方法还包括:
将所述图像标识与所述原始图像对应存储;
在所述按所述成员数量区间确定所述原始图像对应的编码优先级,按所述编码优先级依次对接收的原始图像进行图像编码,得到所述图像标识对应的编码图像之后,所述方法还包括:
将所述图像标识与所述编码图像对应存储;
为所述原始图像设置有效期,并在所述有效期到期后,删除所述原始图像。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未查找到与所述图像消息中的图像标识对应的编码图像,则将所述图像消息中的图像标识对应的原始图像反馈至所述接收端。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未查找到与所述图像消息中的图像标识对应的原始图像,则对所述图像消息中的图像标识对应的编码图像进行图像解码,得到所述图像标识对应的原始图像,并将解码得到的所述原始图像反馈至所述接收端。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述图像标识与解码得到的所述原始图像对应存储;
为解码得到的所述原始图像设置有效期,并在所述有效期到期后,删除解码得到的所述原始图像。
8.一种图像传输方法,其特征在于,所述方法包括:
通过即时会话将原始图像与所述即时会话的成员数量区间上传至服务器;所述即时会话为包括多个会话成员的群组会话,所述成员数量区间根据所述即时会话的会话成员的数量确定;
接收所述服务器为所述原始图像生成并反馈的图像标识;
根据所述图像标识、所述即时会话的会话标识向所述服务器发送图像消息;所述图像消息用于指示所述服务器将所述图像消息投递到所述会话标识对应的即时会话,并接收所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识所发送的下载请求;若所述下载请求携带压缩图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的编码图像并反馈至所述接收端,以使得所述接收端对所述编码图像进行图像解码得到所述原始图像;若所述下载请求携带原始图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的、且属于所述原始图像格式信息的原始图像并反馈至所述接收端。
9.一种图像传输装置,其特征在于,所述装置包括:
图像获取模块,用于接收发送端通过即时会话上传的原始图像与所述即时会话的成员数量区间;所述即时会话为包括多个会话成员的群组会话,所述发送端是所述即时会话中任一个会话成员所对应的终端,所述成员数量区间根据所述即时会话的会话成员的数量确定;
标识反馈模块,用于向所述发送端反馈所述原始图像对应的图像标识;
编码模块,用于按所述成员数量区间确定所述原始图像对应的编码优先级,按所述编码优先级依次对接收的原始图像进行图像编码,得到所述图像标识对应的编码图像;其中,成员数量区间的级别越高,相应的编码优先级越高;
消息接收模块,用于接收所述发送端发送的图像消息,所述图像消息携带所述图像标识与所述即时会话的会话标识,将所述图像消息投递到所述会话标识对应的即时会话;
消息投递模块,用于接收所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识所发送的下载请求;若所述下载请求携带压缩图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的编码图像并反馈至所述接收端,以使得所述接收端对所述编码图像进行图像解码得到所述原始图像;若所述下载请求携带原始图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的、且属于所述原始图像格式信息的原始图像并反馈至所述接收端。
10.根据权利要求9所述的装置,其特征在于,所述消息投递模块,还用于若未查找到与所述图像消息中的图像标识对应的编码图像,则将所述图像消息中的图像标识对应的原始图像反馈至所述接收端。
11.根据权利要求9所述的装置,其特征在于,所述消息投递模块,还用于若未查找到与所述图像消息中的图像标识对应的原始图像,则对所述图像消息中的图像标识对应的编码图像进行图像解码,得到所述图像标识对应的原始图像,并将解码得到的所述原始图像反馈至所述接收端。
12.根据权利要求11所述的装置,其特征在于,所述图像获取模块,还用于将所述图像标识与解码得到的所述原始图像对应存储;为解码得到的所述原始图像设置有效期,并在所述有效期到期后,删除解码得到的所述原始图像。
13.一种图像传输装置,其特征在于,所述装置包括:
图像发送模块,用于通过即时会话将原始图像与所述即时会话的成员数量区间上传至服务器;所述即时会话为包括多个会话成员的群组会话,所述成员数量区间根据所述即时会话的会话成员的数量确定;
标识接收模块,用于接收所述服务器为所述原始图像生成并反馈的图像标识;
消息发送模块,用于根据所述图像标识、所述即时会话的会话标识向所述服务器发送图像消息;所述图像消息用于指示所述服务器将所述图像消息投递到所述会话标识对应的即时会话,并接收所述即时会话的会话成员所对应的接收端根据所述图像消息中的图像标识所发送的下载请求;若所述下载请求携带压缩图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的编码图像并反馈至所述接收端,以使得所述接收端对所述编码图像进行图像解码得到所述原始图像;若所述下载请求携带原始图像格式信息,则响应于所述下载请求,查找与所述图像消息中的图像标识对应的、且属于所述原始图像格式信息的原始图像并反馈至所述接收端。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311051552.0A CN116760791B (zh) | 2023-08-21 | 2023-08-21 | 图像传输方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311051552.0A CN116760791B (zh) | 2023-08-21 | 2023-08-21 | 图像传输方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116760791A CN116760791A (zh) | 2023-09-15 |
CN116760791B true CN116760791B (zh) | 2023-11-17 |
Family
ID=87951925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311051552.0A Active CN116760791B (zh) | 2023-08-21 | 2023-08-21 | 图像传输方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116760791B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053605A (ja) * | 2005-08-18 | 2007-03-01 | Oki Electric Ind Co Ltd | 画像配信システムおよび情報端末装置、ならびにその画像配信方法 |
CN102802129A (zh) * | 2011-05-24 | 2012-11-28 | 腾讯科技(深圳)有限公司 | 通过移动设备发送图片的方法和系统 |
WO2015003605A1 (en) * | 2013-07-08 | 2015-01-15 | Tencent Technology (Beijing) Company Limited | Systems and methods for content transmission for instant messaging |
CN105246172A (zh) * | 2015-11-24 | 2016-01-13 | 成都微讯云通科技有限公司 | 移动终端网络传输方法 |
CN112732457A (zh) * | 2020-12-30 | 2021-04-30 | 上海瑞家信息技术有限公司 | 图像传输方法、装置、电子设备和计算机可读介质 |
CN113393367A (zh) * | 2021-07-08 | 2021-09-14 | 北京百度网讯科技有限公司 | 图像处理方法、装置、设备和介质 |
WO2023142665A1 (zh) * | 2022-01-27 | 2023-08-03 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备、存储介质及程序产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101850203B1 (ko) * | 2016-04-11 | 2018-04-18 | 라인 가부시키가이샤 | 기기간 어플리케이션 연동 방법 및 시스템 |
-
2023
- 2023-08-21 CN CN202311051552.0A patent/CN116760791B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053605A (ja) * | 2005-08-18 | 2007-03-01 | Oki Electric Ind Co Ltd | 画像配信システムおよび情報端末装置、ならびにその画像配信方法 |
CN102802129A (zh) * | 2011-05-24 | 2012-11-28 | 腾讯科技(深圳)有限公司 | 通过移动设备发送图片的方法和系统 |
WO2015003605A1 (en) * | 2013-07-08 | 2015-01-15 | Tencent Technology (Beijing) Company Limited | Systems and methods for content transmission for instant messaging |
CN105246172A (zh) * | 2015-11-24 | 2016-01-13 | 成都微讯云通科技有限公司 | 移动终端网络传输方法 |
CN112732457A (zh) * | 2020-12-30 | 2021-04-30 | 上海瑞家信息技术有限公司 | 图像传输方法、装置、电子设备和计算机可读介质 |
CN113393367A (zh) * | 2021-07-08 | 2021-09-14 | 北京百度网讯科技有限公司 | 图像处理方法、装置、设备和介质 |
WO2023142665A1 (zh) * | 2022-01-27 | 2023-08-03 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN116760791A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11297140B2 (en) | Point of presence based data uploading | |
US11126590B2 (en) | Data processing method and device | |
TW201301053A (zh) | 基於雲端儲存的檔案處理方法,系統及伺服器叢集系統 | |
US20140250158A1 (en) | Method and device for obtaining file | |
JP2006031693A (ja) | ネットワークコーディングを使用したコンテンツ配信 | |
US9900167B2 (en) | Document sharing method, system, and device | |
CN111744174A (zh) | 云游戏的账号管理方法、账号登录方法、装置及电子设备 | |
WO2015120766A1 (zh) | 一种视频优化系统及方法 | |
US9917915B2 (en) | Information processing system, information processing apparatus, terminal apparatus and information transmission method for ordered transmission of stored information to be synchronously displayed at terminal apparatuses | |
US20200128095A1 (en) | Dynamic Edge Cache Content Management | |
CN111625743A (zh) | 资源加载方法、装置及电子设备 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN116760791B (zh) | 图像传输方法、装置、设备和存储介质 | |
CN110677443A (zh) | 数据发送和接收方法、发送端、接收端、系统及存储介质 | |
CN107645475B (zh) | 异质网络中的文件资源分发系统与方法 | |
CN112169312A (zh) | 云游戏服务的排队调度方法、装置、设备和存储介质 | |
CN111193789A (zh) | 订阅信息推送方法、装置、计算机设备和可读存储介质 | |
CN113382050B (zh) | 一种消息传输方法、系统、计算设备及存储介质 | |
CN112384910A (zh) | 无线设备、计算机服务器节点及其方法 | |
CN115349248B (zh) | 基于网络的媒体处理部署的方法,系统和装置 | |
WO2015196586A1 (zh) | 虚拟桌面的配置、获取方法及装置 | |
WO2022028189A1 (zh) | 投屏方法及装置、电子设备和计算机可读存储介质 | |
US9342663B2 (en) | Distributing media with variable resolution and format | |
CN112242946A (zh) | 用于按组块传输图像的方法和系统 | |
KR20160056236A (ko) | 온라인 비디오 플랫폼 서비스 방법 및 그 시스템 |
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 |