一种处理5G消息用户头像显示的方法和装置与流程

文档序号:25539213发布日期:2021-06-18 20:34阅读:169来源:国知局
一种处理5G消息用户头像显示的方法和装置与流程

本发明涉及通讯应用领域,具体而言,涉及一种处理5g消息应用中用户头像显示的方法。



背景技术:

5g消息应用又称rcs富媒体短信或rcsmap消息,是在gsma协会(全球移动通信系统协会)提倡的rcs(即richcommunicationsuite融合通信)标准下,由中国移动联合各大手机厂商共同推出的手机短信功能。rcs融合了语音、消息、状态栏、位置服务等通信服务,用以丰富通话、短信、联系人等手机系统原生应用的客户体验。通过手机上的rcs,不只是发送文字、图片或视频,还具有互动功能。由于其标准对图像的支持,在许多应用场景下,为短信增加了用户头像展示的功能。

前端程序或页面在显示用户头像图片的时候,一般会通过样式控制来控制图片的尺寸,例如宽度、高度、宽高比等参数。但是在某些应用场景下,用户数据是以模板加模板数据的方式进行前端显示,也就是说样式是由运营商控制,用户头像图片由内容提供方提供,比如rcs5g消息。这种情况下,就会出现宽高比不合适,导致头像展示时图片变形的问题。同时内容提供方的图片数据由于被多个系统使用,也不方便单独为了某个系统修改图片库中图片的宽高比例。而目前在5g消息的应用环节中,并没有相关的环节让头像图片在被请求时根据请求来源去适配前端模板。



技术实现要素:

为解决上述的问题,本发明提供了一种处理5g消息用户头像的方法和装置,以解决由于头像图片大小不统一导致在5g消息界面进行头像展示时,因宽高比不合适导致变形的展示问题,同时此方法和装置也有效地减轻了图片源面对多终端直接请求图片的压力,提高的系统的稳定性和访问效率。

第一方面,为实现上述目的,本申请提供一种处理5g消息用户头像显示的方法,包括:头像适配初始化,包括定义进行头像适配服务的头像图片数据协议,根据头像图片数据协议,对请求头像适配初始化的原始头像图片地址信息进行初始化,获取符合头像图片数据协议的数据请求信息,数据请求信息包含头像适配转换地址和所述原始头像图片地址信息;

头像适配转换,包括响应数据请求信息,对根据数据请求信息获取的原始头像图片进行加工,输出适配5g消息的头像数据;

缓存管理,包括对头像数据进行存储,对存储的方式进行管理。

另一方面,本发明提供了一种处理5g消息用户头像显示的装置,包括图像处理单元、网络接口单元、图像存储单元;

网络接口单元,用于执行头像适配初始化、响应符合头像图片数据协议的数据请求信息;

图像处理单元,用于执行头像适配转换;

图像存储单元,用于执行缓存管理。

根据本发明,可以整合来自多种图片源的各种大小用户头像,对其进行集中统一的转换、存储,为多个内容服务商5g的消息内容中的用户头像图片进行转换,使之在用户终端中以统一标准的格式展示,解决了不同大小的头像图片在5g消息终端显示时变形的问题,同时也实现了数据共用,压力分流,避免了重复计算,减少了图片源的访问压力。

附图说明

图1是根据本发明实施例的处理5g消息用户头像显示方法的数据流程图;

图2是根据本发明实施例的处理5g消息用户头像显示的头像适配服务的处理数据流程图;

图3是根据本发明实施例的处理5g消息用户头像显示方法中加工头像的详细流程图;

图4是根据本发明实施例的处理5g消息用户头像显示的装置结构图。

具体实施方式

下面结合说明书附图对本发明的具体实现方式做一详细描述。

本发明提供的处理5g消息用户头像的方法,用于为5g消息终端访问用户头像图片源时对图像文件的中间加工和处理,使之符合5g场景下用户头像的显示特征,并采用缓存的技术使之避免重复计算,以提高应用效率,减少图片源的访问压力。

本方法对5g消息的产生流程,从内容服务商的提交,到5g消息终端的数据请求进行了技术整合,以实现图片在被请求时根据请求来源去适配前端模板。

首先,本方法的流程主要涉及三方,包括:内容服务方、基础运营商、用户端。内容服务方包括:为用户提供5g消息的内容服务方,5g消息中涉及用户头像的图片源,其图片源与内容服务方可以是互相独立的服务商。本方法中,在内容服务端搭建一个功能模块用于头像适配服务,头像适配服务中包括:头像适配初始化和头像适配转换,其中头像适配转换服务可以采用webapi的方式实现。

头像适配初始化,包括确定进行头像适配服务的头像图片数据协议,对需要适配的图片地址信息的规范进行约定;将原始头像图片地址转换为符合头像图片数据协议的数据请求信息,数据请求信息包含头像适配转换地址和原始头像图片地址信息。在头像适配初始化过程中,对需要进行头像适配服务的地址进行加工,为5g消息内容服务方生成符合头像图片数据协议的原头像图片地址。例如,将原头像图片地址加工为模板数据,其模板中包括源地址信息、头像适配类型,此时,原头像图片地址为数据请求的一个传参。

头像适配初始化可以在头像适配服务模块中面向多个5g消息内容服务方,将初始化的规范作为统一标准,部署在5g消息内容服务方,在内容服务方生成消息内容时即对头像图片地址进行规范加工。

头像适配转换用于对原头像图片进行加工,输出适配5g消息的头像数据,输出方式可以是存储在指定位置的文件地址,也可以是二进制数据流。头像适配转换完成对头像图片显示的转换后,涉及存储操作。存储操作,可以置于头像适配转换方法中,也可以置于独立于头像适配转换方法的缓存管理中。

存储操作实现头像图片数据的多种存储方式,包括,存储于内存、缓存、文件、数据库。存储信息包括图片本身的二进制数据、文件,还包括图片源地址及对应的md5密文、生成时间等。例如:缓存以key-value方式存储在指定的位置,其中:

key=md5(原头像图片地址)

value=新的头像图片二进制数据

key采用md5摘要方式,避免原头像图片地址中包含不可预知的字符,导致不能保存在磁盘文件系统中。

缓存管理,除了对转换生成的头像图片数据进行存储,还包括相关的存储管理,如不同的信息的存储方式的约定、有效期的确定,存储的实现,5g终端提取图片数据时是否可以从已存储的数据中提取,而不需要重新生成头像数据的逻辑判断等,例如在本实施例中,采用key-value的方式存储在缓存,有效期为7天,由于有有效期的概念,还需要存储头像数据的生成时间;同时,可以约定在7天内存于缓存,15天内存于数据库,30天内存于文件,或者不同信息采用不同的存储方式,如数据库与内存、缓存、文件相结合的存储方式。

其次,在数据流程方面,本方法数据流程图如图1所示:

步骤s101:5g消息内容服务方在准备消息内容时,对于头像图片数据进行初始化。初始化的操作将用户头像图片地址转换成向头像适配服务的数据请求的一个参数。

例如:原始用户头像地址为:https://dfs.****.com/3001/0/1037374.png,https://interface.****.net为头像适配转换地址;初始化后,头像地址转换为数据请求信息:https://interface.****.net/avatar/rcd?org=https://dfs.****.com/3001/0/1037374.png。

步骤s102、步骤s103:5g消息内容服务商通过5g消息接口将消息内容发送给用户的5g消息终端;

步骤s104:5g消息在手机客户端渲染时,会向头像适配服务(https://interface.****.net/avatar/)请求这张用户头像图片,此时向图像适配服务发起请求,例如在本实施例中,请求信息为:https://interface.****.net/avatar/rcd?org=https://dfs.****.com/3001/0/1037374.png。

步骤s105:头像适配服务解析图片源地址,根据地址向图片源发起请求提取图像二进制数据,在本例中解析出地址为

https://dfs.****.com/3001/0/1037374.png;

步骤s106、s107:头像适配服务处理从图片源获取的图像二进制数据,进行头像适配转换,输出新的图片二进制数据至5g消息终端。

头像适配转换的具体过程见图2所示:

头像适配服务在步骤s201中收到由5g消息终端发起的头像图片数据请求,对请求信息进行解析后获取原头像图片地址后,进入步骤s202进行是否有缓存的判断,先判断存储体系中是否有已经处理好的用户头像图片信息,如二进制数据,如果已经存在用户头像图片文件,由根据以下公式判断是否为有效缓存:

存在有效缓存的条件:(当前时间-文件的生成时间)<缓存时间.

如果存在有效缓存,则进入步骤s203,读取缓存中的用户头像数据,并直接返回其二进制数据到5g消息终端。

如果无有效缓存,说明是首次请求,或者缓存已经过期,进入步骤s204,根据解析的原始头像图片地址,结合步骤s105、s106获取原始头像图片数据的二进制数据,即可进入s205头像检测、s206头像裁剪、s207替换头像背景进行头像适配转换的操作,操作完成后,进入s208步骤进行存储操作,并最终执行s210步骤,返回适合5g消息的用户头像图片二进制数据到5g消息终端。

头像适配转换的处理流程见图3所示:

s301:头像检测:本实施例中采用opencv开源库的cascadeclassifier人脸检测器,其模型已经预先训练完成。把头像图片二进制数据输入模型,输出的是一组标记头像位置的矩形;由于本实施例的图片是大头像,所以采用最大范围的矩形即可。

s302:头像裁剪第一步:首先以头像检测到的矩形中心点作为圆心,以圆心到图片四条边的边距的最小值作为半径画圆,圆内区域像素保留,圆外(黑色部分)区域像素移除并设置为透明。此圆内的半径还可以是其他预设的长度。

s303:头像裁剪第二步:将圆形到图片四条边的边缘之间多余的部分裁掉,并缩放到与指定的背景图匹配的高度。

s304:替换头像背景为指定的背景图;

s305:将裁剪好的头像放置在背景图中间,合成为新的头像图。

在本方法中,整个头像的处理流程,涉及对5g消息提供内容的数据处理,包括:替换原始头像图片地址;包括对头像图片中间层处理,包括:图片缓存,头像检测,头像剪裁,替换头像背景,并且无需更改图片源的原始头像,采用缓存技术也避免了重复计算。达到图片在被请求时根据请求来源自动适配前端模板的目的。

另一方面,本发明还提供了一种处理5g消息用户头像显示的装置,如图4所示,本发明的装置包括图像处理单元、网络接口单元、图像存储单元。

网络接口单元,用于执行头像适配初始化、响应符合头像图片数据协议的数据请求信息;图像处理单元,用于执行头像适配转换;图像存储单元,用于执行缓存管理。

在具体的处理场景中,5g消息终端通过网络接口单元向图像存储单元请求符合显示规范的用户头像图片,网络接口单元也可以用于图像处理单元和第三方的图像源进行网络连接和数据传输。在现实应用中,图片源的图片数据可以面对不同的应用请求,比如网站、app、小程序,当多种请求大量向同一个图片源进行请求时,来自5g消息终端的请求即可通过网络接口单元进行分流,并通过存储单元进行分布式的存储,以减轻图片源的访问压力。

如图4中所示,图像存储单元包括逻辑判断模块和存储设备;存储设备包括内存、硬盘和数据库,用来支持各种不同格式的存储方式,例如数据库、文件形式。

图像处理单元包括,数据流输入模块、头像检测模块、头像裁剪模块、背景处理模块、数据流输出模块,其中数据流输入模块用于访问图像源,获取源图像数据,在头像检测模块、头像裁剪模块、背景处理模块中进行处理和转换后,通过数据流输出模块访问存储设备,存储符合显示规范的用户头像图片。

逻辑判断模块可以在确定进行图像处理前,收到网络接口单元的请求后,进行计算,解析判断提取源用户头像图片的来源,这些来源包括,没有进行过5g消息用户头像显示处理的图片源,或者是本发明中的图像处理单元。在逻辑判断和计算的过程中,根据来源的地址和存储单元中获取的信息进行计算,判断是否需要进行图片转换。

在本发明中,整合来自多种图片源的各种大小用户头像,对其进行集中统一的转换、存储,为多个内容服务商5g的消息内容中的用户头像图片进行转换,使之在用户终端中以统一标准的格式展示,解决了不同大小的头像图片在5g消息终端显示时变形的问题,同时也实现了数据共用,压力分流,避免了重复计算,减少了图片源的访问压力。

以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1