全文摘要
本发明实施例公开了一种展现端数据的映射方法、装置、设备及存储介质。该方法包括:从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;根据所述搜索结果集合中各搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。本发明实施例提供的技术方案,实现了使用JSON字符串实现数据源端数据到展现端数据的映射,提高代码的可维护性和扩展性,实现数据源端与展现端的解耦。
主设计要求
1.一种展现端数据的映射方法,其特征在于,包括:从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;根据所述搜索结果集合中各搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。
设计方案
1.一种展现端数据的映射方法,其特征在于,包括:
从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;
根据所述搜索结果集合中各搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。
2.根据权利要求1所述的方法,其特征在于,在对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果之后,还包括:
将所述数据映射结果填充于设定的显示模板组件中,生成搜索结果页面;
将所述搜索结果页面提供给所述搜索用户进行显示。
3.根据权利要求1所述的方法,其特征在于,在根据所述搜索结果集合中的各所述搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果之前,还包括:
预先建立与每个所述数据源端分别对应的所述JSON镜像映射关系。
4.根据权利要求3所述的方法,其特征在于,预先建立与每个所述数据源端分别对应的所述JSON镜像映射关系,包括:
根据镜像映射关系建立指令,提供可视化编辑界面进行显示;
根据在所述可视化编辑界面中选择的目标数据源端,提供与所述目标数据源端对应的各个数据对象进行显示,其中,所述数据对象中包括至少一个参数字段;
获取指定的目标数据源端与所述展现端中对应参数字段间的映射关系;
根据所述参数字段在所述目标数据源端与所述展现端中所属的数据对象,构造匹配的所述JSON镜像映射关系。
5.根据权利要求3所述的方法,其特征在于,根据所述搜索结果集合中的各所述搜索结果的数据源,对各所述搜索结果进行数据映射,包括:
使用与所述搜索结果集合中搜索结果的数据源匹配的映射代码,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述映射代码通过对与数据源匹配的JSON镜像映射关系进行编译得到。
6.根据权利要求5所述的方法,其特征在于,在预先建立与每个所述数据源端分别对应的所述JSON镜像映射关系之后,还包括:
通过统一的编译器,线下将各所述JSON镜像映射关系编译为与所述数据源匹配的映射代码,并对所述映射代码进行存储。
7.根据权利要求1-6任一项所述的方法,其特征在于:
所述JSON字符串中的键对应展现端的一个数据对象中的一个参数字段,所述JSON字符串中的值对应数据源端的一个数据对象中的一个参数字段或者一个常量字段;
所述JSON镜像映射关系中每个JSON字符串中的键,和\/或值为JSON Pointer数据格式的数据;
其中,常量字段用于定义数据源端中不包括的、且用于描述展示属性的展现端的数据。
8.根据权利要求7所述的方法,其特征在于:
在所述JSON字符串的值中,通过设定的标识字符,区分所述参数字段和所述常量字段。
9.根据权利要求1-6任一项所述的方法,其特征在于:
在所述JSON镜像映射关系中,包括:一对一的映射关系,所述一对一的映射关系,通过一个JSON字符串定义;
和\/或
在所述JSON镜像映射关系中,包括:多对多的映射关系,所述多对多的映射关系通过由多个JSON字符串以嵌套方式构成的JSON数组结构体定义。
10.一种展现端数据的映射方法,其特征在于,包括:
获取针对目标数据源端的至少一项数据获取操作,从所述目标数据源端获取目标数据;
根据所述目标数据的数据源,对所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从所述目标数据源端的数据到展现端的数据的数据映射关系。
11.一种展现端数据的映射装置,其特征在于,包括:
搜索模块,用于从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;
映射模块,用于根据所述搜索结果集合中的各所述搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。
12.一种展现端数据的映射装置,其特征在于,包括:
目标数据获取模块,用于获取针对目标数据源端的至少一项数据获取操作,从所述目标数据源端获取目标数据;
数据映射结果获取模块,用于根据所述目标数据的数据源,对所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从所述目标数据源端的数据到展现端的数据的数据映射关系。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-9中任一所述的展现端数据的映射方法,或者实现如权利要求10所述的展现端数据的映射方法。
14.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的展现端数据的映射方法,或者实现如权利要求10所述的展现端数据的映射方法。
设计说明书
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种展现端数据的映射方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,数据的数量成爆炸式增长,用户通常使用搜索引擎从大量数据中搜索自己需要的数据。
现有技术中,为了更好的满足用户需求,一次搜索往往得到上千个数据源的搜索结果,每个数据源的搜索结果都需要有一段专门处理数据映射的代码,用于将该数据源的搜索结果映射到展现端,以通过展现端将搜索结果提供给用户。由于代码的数量太多,并且编程语言比较灵活,对代码内容无法进行有效的控制,因此代码的可维护性和扩展性比较差,随着每个数据源的搜索结果增加,还会持续增加整体项目迭代的成本。
发明内容
本发明实施例提供一种展现端数据的映射方法、装置、设备及存储介质,以使用JSON(JavaScript Object Notation,JS对象简谱)字符串实现数据源端数据到展现端数据的映射,提高代码的可维护性和扩展性,实现数据源端与展现端的解耦。
第一方面,本发明实施例提供了一种展现端数据的映射方法,包括:
从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;
根据所述搜索结果集合中各搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。
第二方面,本发明实施例还提供了一种展现端数据的映射方法,包括:
获取针对目标数据源端的至少一项数据获取操作,从所述目标数据源端获取目标数据;
根据所述目标数据的数据源,对所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从所述目标数据源端的数据到展现端的数据的数据映射关系。
第三方面,本发明实施例还提供了一种展现端数据的映射装置,包括:
搜索模块,用于从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;
映射模块,用于根据所述搜索结果集合中的各所述搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。
第四方面,本发明实施例还提供了一种展现端数据的映射装置,包括:
目标数据获取模块,用于获取针对目标数据源端的至少一项数据获取操作,从所述目标数据源端获取目标数据;
数据映射结果获取模块,用于根据所述目标数据的数据源,对所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从所述目标数据源端的数据到展现端的数据的数据映射关系。
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任意实施例提供的展现端数据的映射方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的展现端数据的映射方法。
本发明实施例的技术方案,使用至少一个JSON字符串构成JSON镜像映射关系,其中,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系,通过对与搜索结果的数据源匹配的JSON镜像映射关系进行编译得到映射代码,使用该映射代码对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果,解决了现有技术中每个数据源的搜索结果都需要有一段专门处理数据映射的代码,导致代码的可维护性和扩展性比较差的问题,使用JSON字符串实现了数据源端数据到展现端数据的映射,提高了代码的可维护性和扩展性,实现了数据源端与展现端的解耦。
附图说明
图1是本发明实施例一中的一种展现端数据的映射方法的流程图;
图2是本发明实施例二中的一种展现端数据的映射方法的流程图;
图3是本发明实施例三中的一种展现端数据的映射方法的流程图;
图4a是本发明实施例四中的一种展现端数据的映射方法的流程图;
图4b是本发明实施例四中的一种展现端数据的映射示意图;
图5是本发明实施例五中的一种展现端数据的映射装置的结构示意图;
图6是本发明实施例六中的一种展现端数据的映射装置的结构示意图;
图7是本发明实施例七中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中的一种展现端数据的映射方法的流程图,本实施例可适用于使用JSON字符串实现数据源端数据到展现端数据的映射的情况,该方法可以由展现端数据的映射装置来执行,该装置可采用软件和\/或硬件的方式实现,并一般可以集成在用于提供数据源端数据到展现端数据的映射服务的计算机设备中,例如服务器中,与移动终端的浏览器配合使用,如图1所示,具体包括:
步骤110、从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合。
本实施例中,数据源端是指数据的来源,即搜索结果的提供方,可以包括XX百科数据库、XX学位论文数据库、XX图片数据库等,查询式可以是搜索用户通过搜索引擎的搜索输入框所输入的一个或者多个查询词,搜索用户是指通过搜索引擎进行数据搜索的用户。查询式中包括搜索用户想要搜索的数据的特征,根据搜索用户在搜索引擎中输入的查询式,可以从至少一个数据源端,获取与搜索用户的查询式匹配的搜索结果集合。
示例性的,若搜索用户想要搜索唱歌的女明星有哪些,则其在搜索引擎中输入查询式“唱歌女明星”,通过搜索引擎的搜索,从其可以在所有数据源端(或者与该查询式匹配的数据源端),获取与该查询式匹配的所有搜索结果,或者与该查询式匹配的预设数量的搜索结果,构成搜索结果集合。预设数量可以是一千条,五百条,或者其他预设的数值。
步骤120、根据所述搜索结果集合中各搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果。
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。
本实施例中,由于属于不同数据源的搜索结果的数据格式不同,为了向用户展现数据格式统一的搜索结果,使得用户能一目了然的获取到搜索结果中的信息,在获取到与查询式匹配的搜索结果集合之后,需要根据搜索结果的数据源对搜索集合中的搜索结果进行分类,并使用与数据源匹配的JSON镜像映射关系,对该数据源的搜索结果进行数据映射,得到用于展现端进行展现的数据映射结果。
本实施例中,每一个数据源都有一份匹配的JSON镜像映射关系,用于将该数据源中的搜索结果映射到展现端。其中,JSON是一种轻量级的数据交换格式,可以采用完全独立于编程语言的文本格式来存储和表示数据,其通常使用键值对来保存对象的数据,可以将对象中的数据转换为字符串。
可选的,根据搜索结果集合中的各搜索结果的数据源,对各搜索结果进行数据映射,包括:
使用与搜索结果集合中搜索结果的数据源匹配的映射代码,对各搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,映射代码通过对与数据源匹配的JSON镜像映射关系进行编译得到。
可选的,JSON镜像映射关系由至少一个包括键值对关系的JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。本实施例中,JSON字符串中的键对应展现端的一个数据对象中的一个参数字段,JSON字符串中的值对应数据源端的一个数据对象中的一个参数字段或者一个常量字段。
示例性的,对于JSON字符串“#\/components\/0\/title”:“#\/ticket_info\/name”,其包括了一对键值对,其中,JSON字符串中的键对应展现端的数据对象“components\/0”中的参数字段“title”,值对应数据源端的数据对象“ticket_info”中的参数字段“name”,从而定义了从数据源端的数据到展现端的数据的数据映射关系。
本实施例中,JSON镜像映射关系中每个JSON字符串中的键,和\/或值为JSONPointer数据格式的数据。示例性的,对于从数据源端获取的门票信息的数据结构:
{
“ticket_info”:{“name”:“北京故宫”,“price”:100}
}
可以使用JSON Pointer数据格式定义门票信息对象“ticket_info”中的字段,例如,使用字符串#\/ticket_info\/price表示数据中ticket_info.price的值。
可选的,当JSON字符串中的值对应数据源端的一个数据对象中的一个常量字段时,该常量字段用于定义数据源端中不包括的、且用于描述展示属性的展现端的数据。由于数据源端只提供数据,因此展现端数据的映射装置无法从数据源端获取到用于描述展示属性的展现端的数据,只能在对数据源端的对象的数据进行数据映射时,添加对描述展现端的展示属性的常量字段,例如,展现端的背景颜色、字体大小、字体类型等。
可选的,在JSON字符串的值中,通过设定的标识字符,区分参数字段和常量字段。本实施例中,通过标识字符“#”来区分参数字段和常量字段,常量字段为不以“#”开始的字符串或其它数据类型,参数字段为以“#”开始的字符串。示例性的,在JSON字符串“#\/components\/0\/type”:“article”中,字符串的值“article”不是以“#”开始的,因此该字符串的值对应的是数据对象中的一个常量字段。具体的,该字符串表示展现端的数据对象“components\/0”的“type”字段是常量article。
可选的,在JSON镜像映射关系中,包括:一对一的映射关系,一对一的映射关系,通过一个JSON字符串定义;和\/或在JSON镜像映射关系中,包括:多对多的映射关系,多对多的映射关系通过由多个JSON字符串以嵌套方式构成的JSON数组结构体定义。
当需要将一个数组中的多个数据按照相同的数据映射关系进行数据映射时,如果采用一个JSON字符串定义的一对一的映射关系来进行映射,需要重复进行多次相同的映射操作,需要的代码数量也比较多,针对这种情况,设置了由多个JSON字符串以嵌套方式构成的JSON数组结构体定义的多对多的映射关系,可以对数组中的数据进行批量映射,减少代码数量。
示例性的,JSON字符串“#\/components\/0\/title”:“#\/ticket_info\/name”定义的是,数据源端的数据对象“ticket_info”中的字段“name”与展现端的数据对象“components\/0”中的字段“title”之间一对一的映射。下述代码为以JSON数组结构体定义的多对多的映射关系:
其中,“components”和“ticket_list”都是数组格式,“components”数组中每一项都是展现端的数据对象,“ticket_list”数组中每一项都是数据源端的数据对象,上述映射表示,将“ticket_list”数组中每一项的“name”字段分别映射到“components”数组中每一项的“title”字段上,以实现对数组中的数据进行批量映射。
本发明实施例的技术方案,使用至少一个JSON字符串构成JSON镜像映射关系,其中,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系,通过对与搜索结果的数据源匹配的JSON镜像映射关系进行编译得到映射代码,使用该映射代码对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果,解决了现有技术中每个数据源的搜索结果都需要有一段专门处理数据映射的代码,导致代码的可维护性和扩展性比较差的问题,使用JSON字符串实现了数据源端数据到展现端数据的映射,提高了代码的可维护性和扩展性,实现了数据源端与展现端的解耦。
实施例二
图2是本发明实施例二中的一种展现端数据的映射方法的流程图,本实施例可以与上述实施例中各个可选方案结合。如图2所示,该方法包括:
步骤210、预先建立与每个数据源端分别对应的JSON镜像映射关系。
本实施例中,每个数据源端的数据的数据格式以及展现端的数据的数据格式都是固定的,导致每个数据源端的数据与展现端的数据的映射关系也是固定的,因此,可以预先建立与每个数据源端分别对应的JSON镜像映射关系。
可选的,预先建立与每个数据源端分别对应的JSON镜像映射关系,包括:根据镜像映射关系建立指令,提供可视化编辑界面进行显示;根据在可视化编辑界面中选择的目标数据源端,提供与目标数据源端对应的各个数据对象进行显示,其中,数据对象中包括至少一个参数字段;获取指定的目标数据源端与展现端中对应参数字段间的映射关系;根据参数字段在目标数据源端与展现端中所属的数据对象,构造匹配的JSON镜像映射关系。
示例性的,假设当前有数据源端1、2、3等待建立JSON镜像映射关系,展现端数据的映射装置根据接收到的开发用户的镜像映射关系建立指令,向开发用户提供可视化编辑界面,可视化编辑界面中显示有数据源端1、2、3以及展现端,假设开发用户选择数据源端2作为目标数据源端,则将与数据源端2对应的各个至少包括一个参数字段的数据对象提供给开发用户,以使用户在可视化编辑界面中,通过拖动或连接目标数据源端与展现端中的参数字段来确定字段间的映射关系,然后根据确定映射关系的参数字段在目标数据源端与展现端中所属的数据对象,构造匹配的JSON字符串或者JSON数组结构体,以生成与目标数据源端对应的JSON镜像映射关系。
步骤220、通过统一的编译器,线下将各JSON镜像映射关系编译为与数据源匹配的映射代码,并对映射代码进行存储。
本实施例中,考虑到在线对JSON镜像映射关系进行编译,会影响代码的执行性能,因此,在获取到各数据源端对应的JSON镜像映射关系后,展现端数据的映射装置通过统一的编译器,在线下对各JSON镜像映射关系进行语法解析,得到与各数据源匹配的映射代码,并对各映射代码分别进行存储,以在搜索到属于某数据源的搜索结果时,调用对应的映射代码对搜索结果进行数据映射。
步骤230、从至少一个数据源端,获取与搜索用户的查询式匹配的搜索结果集合。
步骤240、使用与搜索结果集合中搜索结果的数据源匹配的映射代码,对各搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果。
步骤250、将数据映射结果提供给搜索用户。
可选的,在对各搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果之后,还包括:将数据映射结果填充于设定的显示模板组件中,生成搜索结果页面;将搜索结果页面提供给搜索用户进行显示。
本实施例中,展现端可以有多套显示模板组件,每套组件分别有一份前端预先设定的数据格式,当建立与每个数据源端分别对应的JSON镜像映射关系时,可以针对每套显示模板组件的数据格式,分别建立与每个数据源端对应的JSON镜像映射关系,从而在对各JSON镜像映射关系进行编译后,可以通过为数据源端的搜索结果选择对应的映射代码,选择任意一种显示模板组件进行搜索结果页面的显示。
本发明实施例的技术方案,使用至少一个JSON字符串构成JSON镜像映射关系,其中,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系,通过对与搜索结果的数据源匹配的JSON镜像映射关系进行编译得到映射代码,使用该映射代码对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果,解决了现有技术中每个数据源的搜索结果都需要有一段专门处理数据映射的代码,导致代码的可维护性和扩展性比较差的问题,使用JSON字符串实现了数据源端数据到展现端数据的映射,提高了代码的可维护性和扩展性,实现了数据源端与展现端的解耦。
实施例三
图3是本发明实施例三中的一种展现端数据的映射方法的流程图,本实施例可适用于使用JSON字符串实现数据源端数据到展现端数据的映射的情况,该方法可以由展现端端数据的映射装置来执行,该装置可采用软件和\/或硬件的方式实现,并一般可以集成在用于提供数据源端数据到展现端数据的映射服务的计算机设备中,例如移动终端的浏览器中,与服务器配合使用,如图3所示,具体包括:
步骤310、获取针对目标数据源端的至少一项数据获取操作,从目标数据源端获取目标数据。
其中,目标数据为与目标搜索结果对应的数据,目标搜索结果为搜索结果页面中的用户想要详细了解的搜索结果,目标数据源端为目标数据或者目标所搜结果所属的数据源。
本实施例中,考虑到用户通常只会对搜索结果页面中的部分搜索结果感兴趣,并且通常想获取与其感兴趣的搜索结果对应的数据,以进一步了解,因此,在用户获得与其在搜索引擎中输入的查询式匹配的搜索结果页面后,获取用户针对目标数据源端的至少一项数据获取操作,并根据每项数据获取操作,从目标数据源端获取对应的目标数据。
示例性的,假设用户在搜索引擎中出入的查询式为“唱歌女明星”,得到的搜索结果页面中包括:“XX百科数据库:明星A”,“XX百科数据库:明星B”,“YY文件数据库,明星C”,“QQ图片数据库,明星D”,若用户对明星C感兴趣,想进一步了解该明星的生平经历,则在用户点击搜索结果页面中的搜索结果“YY文件数据库,明星C”后,获取用户针对YY文件数据库的数据获取操作,根据该数据获取操作,从YY文件数据库中获取与明星C对应的个人资料。
可选的,在用户点击搜索结果页面中的搜索结果“YY文件数据库,明星C”后,可以获取与搜索结果“YY文件数据库,明星C”对应的链接,根据该链接从YY文件数据库中获取对应的数据作为目标数据。
步骤320、根据目标数据的数据源,对目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果。
其中,数据源与JSON镜像映射关系匹配,JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从目标数据源端的数据到展现端的数据的数据映射关系。
本实施例中,由于目标数据的数据格式与浏览器端的数据格式不一致,为了能够在展现端按照浏览器端的数据格式向用户展现目标数据,在从目标数据源端获取到目标数据后,需要先确认与目标数据的数据源匹配的JSON镜像映射关系,根据对该JSON镜像映射关系进行编译得到的映射代码对目标数据进行数据映射,得到可以按照浏览器端的数据格式展示目标数据的数据映射结果。
可选的,预先从服务器端获取并存储与各个数据源端匹配的映射代码,所述映射代码是服务器利用浏览器端专用的编译器对与每个数据源端对应的JSON镜像映射关系进行编译得到的,因此,当获取到目标数据后,可以直接从存储的映射代码中找到与目标数据的数据源匹配的映射代码,对目标数据进行数据映射。
可选的,在得到示目标数据的映射结果后,将数据映射结果填充于设定的显示模板组件中,通过该显示模板组件将浏览器端数据格式的目标数据提供给搜索用户进行显示。
本发明实施例的技术方案,使用至少一个JSON字符串构成JSON镜像映射关系,其中,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系,通过对与目标数据的数据源匹配的JSON镜像映射关系进行编译得到映射代码,使用该映射代码对各所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果,解决了现有技术中每个数据源的目标数据都需要有一段专门处理数据映射的代码,导致代码的可维护性和扩展性比较差的问题,使用JSON字符串实现了数据源端数据到展现端数据的映射,提高了代码的可维护性和扩展性,实现了数据源端与展现端的解耦。
实施例四
图4a是本发明实施例四中的一种展现端数据的映射方法的流程图,本实施例可以与上述实施例中各个可选方案结合。具体的,该方法可以包括如下步骤:
步骤410、服务器预先建立与每个数据源端分别对应的JSON镜像映射关系。
步骤420、服务器分别利用统一的编译器以及浏览器专用的编译器,线下将各JSON镜像映射关系编译为与数据源匹配的两种映射代码,并分别对两种映射代码进行存储。
如图4b所示,本实施例中,服务器利用统一的编译器,线下将各JSON镜像映射关系编译为与数据源匹配的服务器端映射代码,所述服务器端映射代码可以使用PHP、Java等编程语言进行编写,并将服务器端映射代码存储到服务器中,以在服务器同步获取到与用户的查询式匹配的属于多个数据源的多个搜索结果时,可以从存储的服务器映射代码中找到与各搜索结果的数据源对应的映射代码,分别对各搜索结果进行数据映射;服务器还利用浏览器专用的编译器,线下将各JSON镜像映射关系编译为与数据源匹配的浏览器端映射代码,所述浏览器端映射代码是使用JavaScript编程语言进行编写的,并将浏览器端映射代码存储到浏览器中,以供浏览器在异步获取到目标数据后,可以从存储的映射代码中直接获取到与目标数据的数据源对应的映射代码。
步骤430、服务器从至少一个数据源端,获取与搜索用户的查询式匹配的搜索结果集合。
可选的,服务器端可以根据用户在搜索引擎输入的查询式,同步获取与该查询式匹配的属于多个数据源的多个搜索结果,构成搜索结果集合。
步骤440、服务器使用与搜索结果集合中搜索结果的数据源匹配的服务器端映射代码,对各搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果。
步骤450、服务器将各数据映射结果生成的搜索结果页面提供给搜索用户。
可选的,在得到用于在展现端进行展现的数据映射结果后,将各数据映射结果填充于设定的展现端组件中,生成展现端数据格式的搜索结果页面,通过该展现端组件将搜索结果页面提供给搜索用户进行显示,从而实现服务器端渲染。
步骤460、浏览器获取用户针对目标数据源端的至少一项数据获取操作,从目标数据源端获取目标数据。
可选的,浏览器端可以根据获取到的针对目标数据源端的至少一项数据获取操作,异步获取目标数据源端的目标数据。其中,目标数据的获取操作可以包括:搜索用户对当前数据页的下一页数据的点击获取操作、或者搜索用户对当前文件的相关文件的双击获取操作等。
步骤470、浏览器使用与目标数据的数据源匹配的浏览器端映射代码,对目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果。
步骤480、浏览器将各目标数据提供给搜索用户进行显示。
可选的,得到用于在展现端进行展现的数据映射结果之后,将数据映射结果填充于设定的展现端组件中,通过展现端组件将各目标数据提供给搜索用户进行显示,从而实现浏览器渲染。
实施例五
图5是本发明实施例五中的一种展现端数据的映射装置的结构示意图。如图5所示,该展现端数据的映射装置包括:搜索模块510以及映射模块520;
搜索模块510,用于从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;
映射模块520,用于根据所述搜索结果集合中的各所述搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,数据源与JSON镜像映射关系匹配,JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系。
本发明实施例的技术方案,使用至少一个JSON字符串构成JSON镜像映射关系,其中,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系,通过对与搜索结果的数据源匹配的JSON镜像映射关系进行编译得到映射代码,使用该映射代码对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果,解决了现有技术中每个数据源的搜索结果都需要有一段专门处理数据映射的代码,导致代码的可维护性和扩展性比较差的问题,使用JSON字符串实现了数据源端数据到展现端数据的映射,提高了代码的可维护性和扩展性,实现了数据源端与展现端的解耦。
可选的,映射模块520,还用于在对各搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果之后,将数据映射结果填充于设定的显示模板组件中,生成搜索结果页面;将搜索结果页面提供给搜索用户进行显示。
可选的,映射模块520还包括:映射关系建立单元,用于在根据所述搜索结果集合中的各所述搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果之前,预先建立与每个所述数据源端分别对应的所述JSON镜像映射关系。
可选的,映射关系建立单元,具体用于根据开发用户的镜像映射关系建立指令,向开发用户提供可视化编辑界面进行显示;
根据所述开发用户在所述可视化编辑界面中选择的目标数据源端,将提供与所述目标数据源端对应的各个数据对象提供给所述开发用户进行显示,其中,所述数据对象中包括至少一个参数字段;
获取所述开发用户指定的目标数据源端与所述展现端中对应参数字段间的映射关系;
根据所述参数字段在所述目标数据源端与所述展现端中所属的数据对象,构造匹配的JSON字符串或者JSON数组结构体,以生成与所述目标数据源端对应的所述JSON镜像映射关系。
可选的,映射模块520还用于使用与所述搜索结果集合中搜索结果的数据源匹配的映射代码,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述映射代码通过对与数据源匹配的JSON镜像映射关系进行编译得到。
可选的,映射模块520还包括:编译单元,用于在预先建立与每个所述数据源端分别对应的所述JSON镜像映射关系之后,通过统一的编译器,线下将各所述JSON镜像映射关系编译为与所述数据源匹配的映射代码,并对所述映射代码进行存储。可选的,JSON字符串中的键对应展现端的一个数据对象中的一个参数字段,JSON字符串中的值对应数据源端的一个数据对象中的一个参数字段或者一个常量字段;JSON镜像映射关系中每个JSON字符串中的键,和\/或值为JSON Pointer数据格式的数据;其中,常量字段用于定义数据源端中不包括的、且用于描述展示属性的展现端的数据。
可选的,在JSON字符串的值中,通过设定的标识字符,区分参数字段和常量字段。
可选的,在JSON镜像映射关系中,包括:一对一的映射关系,所述一对一的映射关系,通过一个JSON字符串定义;和\/或在所述JSON镜像映射关系中,包括:多对多的映射关系,所述多对多的映射关系通过由多个JSON字符串以嵌套方式构成的JSON数组结构体定义。
本发明实施例所提供的展现端数据的映射装置可执行本发明任意实施例所提供的应用于服务器的展现端数据的映射方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6是本发明实施例六中的一种展现端数据的映射装置的结构示意图。如图6所示,该展现端数据的映射装置包括:目标数据获取模块610以及数据映射结果获取模块620;
目标数据获取模块610,用于获取针对目标数据源端的至少一项数据获取操作,从所述目标数据源端获取目标数据;
数据映射结果获取模块620,用于根据所述目标数据的数据源,对所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从所述目标数据源端的数据到展现端的数据的数据映射关系。
本发明实施例的技术方案,使用至少一个JSON字符串构成JSON镜像映射关系,其中,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系,通过对与目标数据的数据源匹配的JSON镜像映射关系进行编译得到映射代码,使用该映射代码对各所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果,解决了现有技术中每个数据源的目标数据都需要有一段专门处理数据映射的代码,导致代码的可维护性和扩展性比较差的问题,使用JSON字符串实现了数据源端数据到展现端数据的映射,提高了代码的可维护性和扩展性,实现了数据源端与展现端的解耦。
本发明实施例所提供的展现端数据的映射装置可执行本发明任意实施例所提供的应用于浏览器的展现端数据的映射方法,具备执行方法相应的功能模块和有益效果。
实施例七
图7为本发明实施例七中的一种计算机设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性设备12的框图。图7显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和\/或高速缓存存储器32。设备12可以进一步包括其它可移动\/不可移动的、易失性\/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序\/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和\/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和\/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入\/输出(I\/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和\/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和\/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的展现端数据的映射方法。
实施例八
本发明实施例八还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种展现端数据的映射方法,一种展现端数据的映射方法,包括:
从至少一个数据源端,获取与输入的查询式匹配的搜索结果集合;
根据所述搜索结果集合中各搜索结果的数据源,对各所述搜索结果进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从数据源端的数据到展现端的数据的数据映射关系;
或者,一种展现端数据的映射方法,包括:
获取针对目标数据源端的至少一项数据获取操作,从所述目标数据源端获取目标数据;
根据所述目标数据的数据源,对所述目标数据进行数据映射,得到用于在展现端进行展现的数据映射结果;
其中,所述数据源与JSON镜像映射关系匹配,所述JSON镜像映射关系由至少一个JSON字符串构成,每个JSON字符串中的键值对关系,定义了从所述目标数据源端的数据到展现端的数据的数据映射关系。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
设计图
相关信息详情
申请码:申请号:CN201910570549.7
申请日:2019-06-27
公开号:CN110309442A
公开日:2019-10-08
国家:CN
国家/省市:11(北京)
授权编号:授权时间:主分类号:G06F 16/9538
专利分类号:G06F16/9538;G06F16/957;G06F16/903
范畴分类:40B;
申请人:百度在线网络技术(北京)有限公司
第一申请人:百度在线网络技术(北京)有限公司
申请人地址:100085 北京市海淀区上地十街10号百度大厦三层
发明人:陈骁;杨文博
第一发明人:陈骁
当前权利人:百度在线网络技术(北京)有限公司
代理人:孟金喆
代理机构:11332
代理机构编号:北京品源专利代理有限公司
优先权:关键词:当前状态:审核中
类型名称:外观设计