一种响应数据的处理方法、装置、存储介质及终端设备与流程

文档序号:17900932发布日期:2019-06-13 16:30阅读:140来源:国知局
一种响应数据的处理方法、装置、存储介质及终端设备与流程

本发明涉及计算机技术领域,尤其涉及一种响应数据的处理方法、装置、计算机可读存储介质及终端设备。



背景技术:

随着互联网的兴起和用户爆发式的增长,面向的用户群也呈现多样化,不再局限于国内或者国内本地用户,而为使得应用程序能够根据用户地区或者语言设置的不同进行不同的响应,往往需要对应用程序中各接口所返回的响应数据进行国际化处理,而现有的国际化处理方式,通常是在每个接口中进行各自的国际化处理,这种在各个接口中进行各自国际化处理的方式不仅使得国际化处理效率较低,而且还造成代码冗余,不便于进行代码的阅读与修改。



技术实现要素:

本发明实施例提供了一种响应数据的处理方法、装置、计算机可读存储介质及终端设备,能够对所有响应数据进行统一的国际化处理,避免在每一个微服务中进行各自国际化处理,有效提高了国际化处理的效率,减少了代码冗余,增强了代码的可读性和可修改性,方便进行代码维护。

本发明实施例的第一方面,提供了一种响应数据的处理方法,包括:

接收应用终端的访问请求,并根据所述访问请求确定所述应用终端所请求的语言类型;

对所述访问请求进行解析,并将解析后的访问请求发送至各微服务,以使得各微服务对接收到的访问请求进行响应,并返回对应的第一响应数据;

获取各微服务所返回的第一响应数据,并从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,其中,所述预设数据库中配置有各第一响应数据所对应的各语言类型的第二响应数据;

将所述第二响应数据返回至所述应用终端。

本发明实施例的第二方面,提供了一种响应数据的处理装置,包括:

访问请求接收模块,用于接收应用终端的访问请求,并根据所述访问请求确定所述应用终端所请求的语言类型;

访问请求响应模块,用于对所述访问请求进行解析,并将解析后的访问请求发送至各微服务,以使得各微服务对接收到的访问请求进行响应,并返回对应的第一响应数据;

响应数据处理模块,用于获取各微服务所返回的第一响应数据,并从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,其中,所述预设数据库中配置有各第一响应数据所对应的各语言类型的第二响应数据;

响应数据返回模块,用于将所述第二响应数据返回至所述应用终端。

本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如前述第一方面所述响应数据的处理方法的步骤。

本发明实施例的第四方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:

接收应用终端的访问请求,并根据所述访问请求确定所述应用终端所请求的语言类型;

对所述访问请求进行解析,并将解析后的访问请求发送至各微服务,以使得各微服务对接收到的访问请求进行响应,并返回对应的第一响应数据;

获取各微服务所返回的第一响应数据,并从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,其中,所述预设数据库中配置有各第一响应数据所对应的各语言类型的第二响应数据;

将所述第二响应数据返回至所述应用终端。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,在接收到应用终端的访问请求后,即可根据所述访问请求确定所述应用终端所请求的语言类型,并对所述访问请求进行解析,同时将解析后的访问请求发送至各微服务,以使得各微服务对接收到的访问请求进行响应,并返回对应的第一响应数据,而在获取到各微服务所返回的第一响应数据时,则可对各第一响应数据进行统一的国际化处理,并将国际化处理得到的第二响应数据返回至所述应用终端,即可通过对所有响应数据进行统一的国际化处理,来避免在每一个微服务中进行各自国际化处理,有效提高了国际化处理的处理效率,减少了代码冗余,增强了代码的可读性和可修改性,方便进行代码维护。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种响应数据的处理方法的一个实施例流程图;

图2为本发明实施例中一种响应数据的处理方法在一个应用场景下获取第二响应数据的流程示意图;

图3为本发明实施例中一种响应数据的处理方法在另一个应用场景下获取第二响应数据的流程示意图;

图4为本发明实施例中一种响应数据的处理装置的一个实施例结构图;

图5为本发明一实施例提供的一种终端设备的示意图。

具体实施方式

本发明实施例提供了一种响应数据的处理方法、装置、计算机可读存储介质及终端设备,用于对所有响应数据进行统一的国际化处理,避免在每一个微服务中进行各自国际化处理,有效提高了国际化处理的处理效率,减少了代码冗余,增强了代码的可读性和可修改性,方便进行代码维护。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例提供了一种响应数据的处理方法,所述处理方法包括:

步骤s101、接收应用终端的访问请求,并根据所述访问请求确定所述应用终端所请求的语言类型;

本发明实施例中,可通过网关gateway接收应用终端的访问请求,并可根据所述访问请求确定所述应用终端所请求的语言类型,如可根据所述访问请求携带的目标语言标签确定所述应用终端所请求的语言类型,以根据所述语言类型向所述应用终端返回对应的响应数据。

步骤s102、对所述访问请求进行解析,并将解析后的访问请求发送至各微服务,以使得各微服务对接收到的访问请求进行响应,并返回对应的第一响应数据;

可以理解的是,在通过gateway接收到所述应用终端的访问请求后,可对所述访问请求进行解析处理,如可根据各个微服务之间的协同工作情况对所述访问请求进行解析处理,以将所述访问请求分解成对应于各个微服务的多个子请求,并将这多个子请求通过gateway分别转发至对应的微服务中,以使得各微服务可对所接收到的子请求进行响应,得到对应的第一响应数据,并可返回所述第一响应数据至gateway。

步骤s103、获取各微服务所返回的第一响应数据,并从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,其中,所述预设数据库中配置有各第一响应数据所对应的各语言类型的第二响应数据;

本发明实施例中,在各微服务返回的第一响应数据到达gateway之前,可对各第一响应数据进行拦截处理,即在各微服务返回的第一响应数据到达gateway之前,可获取各微服务所返回的第一响应数据,并根据所述访问请求所对应的语言类型,从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,其中,所述预设数据库中配置有各第一响应数据所对应的各语言类型的第二响应数据。本发明实施例中,通过在所返回的第一响应数据到达gateway之前,对各第一响应数据进行统一拦截,然后再通过在预设数据库中进行数据查找来对各第一响应数据进行统一的国际化处理,从而使得不需要在每一个微服务中进行国际化处理,有效减少了代码冗余,增强了代码可读性和可修改性,提高了国际化处理的处理效率。

如在某一具体应用场景中,所述预设数据库中配置有与第一响应数据a对应的第二响应数据b、第二响应数据c、第二响应数据d、第二响应数据e以及第二响应数据f,其中,第二响应数据b的语言类型为英语、第二响应数据c的语言类型为日语、第二响应数据d的语言类型为法语、第二响应数据e的语言类型为德语、第二响应数据f的语言类型为韩语,而某一访问请求所返回的第一响应数据为第一响应数据a,且根据该访问请求确定所述应用终端所请求的语言类型为法语时,则从预设数据库可查找到与第一响应数据a相对应的、且符合所请求的语言类型的第二响应数据为第二响应数据d。

进一步地,如图2所示,所述从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,可以包括:

步骤s201、获取所述第一响应数据在所述语言类型中的历史查找次数;

步骤s202、判断所述历史查找次数是否大于预设次数阈值;

步骤s203、若所述历史查找次数大于所述预设次数阈值,则从预设缓存单元中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据;

步骤s204、若所述历史查找次数小于或者等于所述预设次数阈值,则从所述预设数据库中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据。

本发明实施例中,为提高国际化处理的处理速度和效率,提升用户的使用体验,可将预设数据库中经常被访问的热点数据存储于预设缓存单元中,如可将热点数据存储于redis服务器中,因而在需要将某一第一响应数据国际化处理为某一语言类型的第二响应数据之前,可首先判断该语言类型的第二响应数据是否为热点数据,若该语言类型的第二响应数据为热点数据的话,则可直接从该redis服务器中查找该第二响应数据;若该语言类型的第二响应数据不是热点数据的话,则可从预设数据库中查找该第二响应数据。

对于上述步骤s210至步骤s204,可以理解的是,在一个应用场景中,可根据查找次数来确定热点数据,即可预先进行预设次数阈值的设置,如可根据具体情况将所述预设次数阈值设置为10次,也就是说,当某一第一响应数据在某一语言类型中的历史查找次数大于10次时,则可将与该第一响应数据相对应的、且与该语言类型相匹配的第二响应数据确定为热点数据,并存储于redis服务器中。

在此,在需要将某一第一响应数据国际化处理为某一语言类型的第二响应数据时,可首先获取该第一响应数据在该语言类型中的历史查找次数,当该历史查找次数大于所述预设次数阈值,如当该历史查找次数大于10次时,则可认为与该第一响应数据相对应的、且与该语言类型相匹配的第二响应数据为热点数据,即可从redis服务器中进行所述第二响应数据的查找,以此提高数据查找速度,提高国际化处理速度和效率;而当该历史查找次数小于或者等于预设次数阈值,如当该历史查找次数为4次时,则可认为与该第一响应数据相对应的、且与该语言类型相匹配的的第二响应数据不是热点数据,即可从预设数据库中进行所述第二响应数据的查找。

优选地,如图3所示,所述从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,可以包括:

步骤s301、获取所述第一响应数据的数据类型;

步骤s302、判断所述数据类型是否属于预设数据类型;

步骤s303、若所述数据类型属于预设数据类型,则判断所述语言类型是否属于预设语言类型;

步骤s304、若所述语言类型属于预设语言类型,则从预设缓存单元中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据;

步骤s305、若所述数据类型不属于预设数据类型或者所述语言类型不属于预设语言类型,则从所述预设数据库中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据。

对于上述步骤s301至步骤s305,在另一个应用场景中,本发明实施例还可根据数据类型和语言类型来进行热点数据的确定,如根据具体情况可将需要经常获取的ec(华东)、sc(华南)等地域类型的英语类型的响应数据确定为热点数据,并存储至redis服务器中。

在此,在需要将某一第一响应数据国际化处理为某一语言类型的第二响应数据时,可首先获取该第一响应数据的数据类型,并确定该第一响应数据的数据类型是否属于预设数据类型,如确定该第一响应数据的数据类型是否为地域类型数据,当该第一响应数据的数据类型为地域类型数据时,则可进一步判断该国际化处理所要求的语言类型是否属于预设语言类型,如该国际化处理所要求的语言类型是否为英语,当该国际化处理所要求的语言类型为英语时,则可认为与该第一响应数据相对应的、且与该语言类型相匹配的第二响应数据为热点数据,即可从redis服务器中进行所述第二响应数据的查找,以此提高数据查找速度,提高国际化处理速度和效率;而该第一响应数据的数据类型不属于地域类型数据,或者虽然该第一响应数据的数据类型属于地域类型数据,但该国际化处理所要求的语言类型不为英语时,则可认为与该第一响应数据相对应的、且与该语言类型相匹配的的第二响应数据不是热点数据,即可从预设数据库中进行该第二响应数据的查找。

可选地,本发明实施例中,所述从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,可以包括:

步骤a、获取各所述第一响应数据的属性信息;

步骤b、根据所述属性信息,从所述预设数据库中查找与各所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据。

对于上述步骤a和步骤b,可以理解的是,本发明实施例中,在所述预设数据库中,可根据第一响应数据的属性信息对各语言类型的第二响应数据进行分类存储,如可根据第一响应数据的类别(category)和/或关键词(key)对第二响应数据进行分类存储,因而,在获取到第一响应数据后,可随即获取该第一响应数据的属性信息,然后可根据所述属性信息去预设数据库中进行第二响应数据的快速查找。

在此,因枚举类型的值一般具有不变性,诸如描述地域的枚举值ec(华东)和sc(华南)等,以及表示资源状态的值available(可用)、pending(创建中)和destroyed(已删除)等的国际化值,即其各语言类型的第二响应数据可直接根据关键词在预设数据库中进行查找来获取;而字符串类型的国际化值则可通过自定义注解@i18n中的属性信息“key”与“category”,先找到预设数据库中该category所在的数据表,然后根据关键词key进行具体数据获取。

需要说明的是,在预设缓存单元中,也可根据第一响应数据的属性信息对相关的第二响应数据进行分类存储,而在预设缓存单元中进行第二响应数据的查找时,也可以按照步骤a和步骤b来执行。

步骤s104、将所述第二响应数据返回至所述应用终端。

可以理解的是,在通过统一拦截,并进行统一国际化处理得到对应的第二响应数据后,则可以通过gateway将对应的第二响应数据返回至所述应用终端,以使得在所述应用终端中根据所请求的语言类型进行处理结果的显示。

进一步地,本发明实施例中,所述响应数据的处理方法,还可以包括:

步骤c、在接收到数据更新请求时,获取更新数据;

步骤d、根据所述更新数据更新所述预设数据库中对应的第二响应数据,或者根据所述更新数据更新所述预设数据库中对应的第二响应数据和所述预设缓存单元中对应的第二响应数据。

对于上述步骤c和步骤d,可以理解的是,本发明实施例中,还可以根据实际情况进行各第二响应数据的更新,从而保证第二响应数据的正确性。具体地,在接收到数据更新请求时,可获取对应的更新数据,并可根据所述更新数据更新预设数据库中对应的第二响应数据,同时还可以判断所述更新数据是否为热点数据,当所述更新数据为热点数据时,还可根据所述更新数据同步更新所述预设缓存单元中对应的第二响应数据。

本发明实施例中,在接收应用终端的访问请求后,即可根据所述访问请求确定所述应用终端所请求的语言类型,并对所述访问请求进行解析,随之将解析后的访问请求发送至各微服务,以使得各微服务对所接收到的访问请求进行响应,并返回对应的第一响应数据,而在获取到各微服务所返回的第一响应数据后,则可对各第一响应数据进行统一的国际化处理,并将国际化处理得到的第二响应数据返回至所述应用终端,即通过对所有响应数据进行统一的国际化处理,来避免在每一个微服务中进行各自国际化处理,有效提高了国际化处理的处理效率,减少了代码冗余,增强了代码的可读性和可修改性,方便进行代码维护。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

上面主要描述了一种响应数据的处理方法,下面将对一种响应数据的处理装置进行详细描述。

图4示出了本发明实施例中一种响应数据的处理装置的一个实施例结构图。如图4所示,所述处理装置,包括:

访问请求接收模块401,用于接收应用终端的访问请求,并根据所述访问请求确定所述应用终端所请求的语言类型;

访问请求响应模块402,用于对所述访问请求进行解析,并将解析后的访问请求发送至各微服务,以使得各微服务对接收到的访问请求进行响应,并返回对应的第一响应数据;

响应数据处理模块403,用于获取各微服务所返回的第一响应数据,并从预设数据库中查找与各第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据,其中,所述预设数据库中配置有各第一响应数据所对应的各语言类型的第二响应数据;

响应数据返回模块404,用于将所述第二响应数据返回至所述应用终端。

进一步地,所述响应数据处理模块403,可以包括:

查找次数获取单元,用于获取所述第一响应数据在所述语言类型中的历史查找次数;

查找次数判断单元,用于判断所述历史查找次数是否大于预设次数阈值;

第一缓存查找单元,用于若所述历史查找次数大于所述预设次数阈值,则从预设缓存单元中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据;

第一数据库查找单元,用于若所述历史查找次数小于或者等于所述预设次数阈值,则从所述预设数据库中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据。

优选地,所述响应数据处理模块403,可以包括:

数据类型获取单元,用于获取所述第一响应数据的数据类型;

数据类型判断单元,用于判断所述数据类型是否属于预设数据类型;

语言类型判断单元,用于若所述数据类型属于预设数据类型,则判断所述语言类型是否属于预设语言类型;

第二缓存查找单元,用于若所述语言类型属于预设语言类型,则从预设缓存单元中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据;

第二数据库查找单元,用于若所述数据类型不属于预设数据类型或者所述语言类型不属于预设语言类型,则从所述预设数据库中查找与所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据。

可选地,所述响应数据处理模块403,还可以包括:

属性信息获取单元,用于获取各所述第一响应数据的属性信息;

响应数据处理单元,用于根据所述属性信息,从所述预设数据库中查找与各所述第一响应数据相对应的、且与所述语言类型相匹配的第二响应数据。

进一步地,所述处理装置,还可以包括:

更新数据获取模块,用于在接收到数据更新请求时,获取更新数据;

响应数据更新模块,用于根据所述更新数据更新所述预设数据库中对应的第二响应数据,或者根据所述更新数据更新所述预设数据库中对应的第二响应数据和所述预设缓存单元中对应的第二响应数据。

图5是本发明一实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机可读指令52,例如响应数据的处理程序。所述处理器50执行所述计算机可读指令52时实现上述各个响应数据的处理方法实施例中的步骤,例如图1所示的步骤s101至步骤s104。或者,所述处理器50执行所述计算机可读指令52时实现上述各装置实施例中各模块/单元的功能,例如图4所示的模块401至模块404的功能。

示例性的,所述计算机可读指令52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令52在所述终端设备5中的执行过程。

所述终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的示例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所述处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括所述终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机可读指令以及所述终端设备5所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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