发明内容
本公开实施例至少提供一种信息预测方法、装置、计算机设备和存储介质。
第一方面,本公开实施例提供了一种信息预测方法,包括:
获取前端应用对应的数据表,所述数据表中的每条应用数据预先存储在目标数据库中;
利用预先创建的网页工作者web worker,提取每条所述应用数据中的至少一个字段以及每个所述字段的字段值,并基于提取的至少一个字段以及每个所述字段的字段值,确定所述数据表中的每条所述应用数据的当前元信息;
基于确定的每条所述应用数据对应的所述当前元信息,对每条所述应用数据的元信息进行更新存储;其中,元信息用于表征所述应用数据的基础属性。
在一种可能的实施方式中,基于确定的每条所述应用数据对应的所述当前元信息,对每条所述应用数据的元信息进行更新存储,包括:
若存在之前存储的该条应用数据的历史元信息,判断所述历史元信息与所述当前元信息是否一致;
若所述历史元信息与所述当前元信息不一致,将之前存储的该条应用数据的历史元信息以及所述当前元信息,作为该条应用数据对应的更新后的元信息,并进行存储。
在一种可能的实施方式中,对每条所述应用数据的元信息进行更新存储之后,还包括:
响应于针对所述数据表中的任一条应用数据的数据编辑请求,基于该条应用数据对应的元信息,生成并展示该条应用数据对应的编辑提示信息;所述编辑提示信息用于提示用户按照所述元信息所指示的基础属性进行数据编辑。
在一种可能的实施方式中,所述提取每条所述应用数据中的至少一个字段以及每个所述字段的字段值,并基于提取的至少一个字段以及每个所述字段的字段值,确定所述数据表中的每条所述应用数据的当前元信息,包括:
针对每条所述应用数据,利用深度优先遍历算法对该应用数据进行遍历,确定该应用数据包括的至少一个字段,以及每个字段对应的字段值;
针对当前遍历到的每个字段,基于该字段对应的字段值,确定该字段对应的字段类型;
基于该应用数据包括字段的数量、每个所述字段对应的字段值、以及每个所述字段对应的字段类型,确定所述应用数据的当前元信息。
在一种可能的实施方式中,基于所述字段对应的字段值,确定所述字段对应的字段类型,包括:
在基于所述字段对应的字段值,确定所述字段对应的字段类型包括多个的情况下,将多个所述字段类型组合为联合类型,并将该联合类型作为所述字段最终的字段类型。
在一种可能的实施方式中,所述获取前端应用对应的数据表,包括:
获取用户输入的至少一条数据搜索信息;
基于所述数据搜索信息,从服务端对应的所述目标数据库中获取所述数据搜索信息对应的各条应用数据,并将获取的各条应用数据,作为所述数据表中的应用数据。
在一种可能的实施方式中,所述目标数据库包括mongodb数据库。
第二方面,本公开实施例还提供一种信息预测装置,包括:
获取模块,用于获取前端应用对应的数据表,所述数据表中的每条应用数据预先存储在目标数据库中;
确定模块,用于利用预先创建的网页工作者web worker,提取每条所述应用数据中的至少一个字段以及每个所述字段的字段值,并基于提取的至少一个字段以及每个所述字段的字段值,确定所述数据表中的每条所述应用数据的当前元信息;
更新模块,用于基于确定的每条所述应用数据对应的所述当前元信息,对每条所述应用数据的元信息进行更新存储;其中,元信息用于表征所述应用数据的基础属性。
在一种可能的实施方式中,所述更新模块,用于若存在之前存储的该条应用数据的历史元信息,判断所述历史元信息与所述当前元信息是否一致;
若所述历史元信息与所述当前元信息不一致,将之前存储的该条应用数据的历史元信息以及所述当前元信息,作为该条应用数据对应的更新后的元信息,并进行存储。
在一种可能的实施方式中,所述装置还包括:
编辑模块,用于对每条所述应用数据的元信息进行更新存储之后,响应于针对所述数据表中的任一条应用数据的数据编辑请求,基于该条应用数据对应的元信息,生成并展示该条应用数据对应的编辑提示信息;所述编辑提示信息用于提示用户按照所述元信息所指示的基础属性进行数据编辑。
在一种可能的实施方式中,所述确定模块,用于针对每条所述应用数据,利用深度优先遍历算法对该应用数据进行遍历,确定该应用数据包括的至少一个字段,以及每个字段对应的字段值;
针对当前遍历到的每个字段,基于该字段对应的字段值,确定该字段对应的字段类型;
基于该应用数据包括字段的数量、每个所述字段对应的字段值、以及每个所述字段对应的字段类型,确定所述应用数据的当前元信息。
在一种可能的实施方式中,所述确定模块,用于在基于所述字段对应的字段值,确定所述字段对应的字段类型包括多个的情况下,将多个所述字段类型组合为联合类型,并将该联合类型作为所述字段最终的字段类型。
在一种可能的实施方式中,所述获取模块,用于获取用户输入的至少一条数据搜索信息;
基于所述数据搜索信息,从服务端对应的所述目标数据库中获取所述数据搜索信息对应的各条应用数据,并将获取的各条应用数据,作为所述数据表中的应用数据。
在一种可能的实施方式中,所述目标数据库包括mongodb数据库。
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述信息预测装置、计算机设备、及计算机可读存储介质的效果描述参见上述信息预测方法的说明,这里不再赘述。
本公开实施例提供的信息预测方法、装置、计算机设备和存储介质,应用数据中包括的字段和字段值,能够反映应用数据的元信息,因此,在获取到应用数据之后,利用预先创建的web worker,提取应用数据中的字段和字段值,再基于对字段和字段值的分析处理,可以及时并准确地确定数据表中的每条应用数据的当前元信息,从而实现在浏览器端主动确定出获取的应用数据的元信息,进而有利于后续基于确定的元信息,对获取的应用数据进行处理。此外,由于web worker作为一个可独立运行的线程,利用预先创建的webworker,执行上述确定应用数据的元信息的操作,避免了对浏览器主线程(如页面交互/渲染线程)的资源占用,保证了浏览器主线程的合理运行。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
经研究发现,MongoDB作为一种非关系型的NoSql数据库,用户对数据库中的数据资源具有较大的控制权限,例如,可以自由的修改数据库中已存在的应用数据、自由的添加与数据库中已存在的应用数据不兼容的新应用数据等。但由于MongoDB需要创建在服务端,并为了保证应用数据的安全性,该数据库仅提供了在服务端获取其中存储的各条应用数据的元信息的功能,浏览器从服务端获取的应用数据通常缺少例如数据结构、数据类型等元信息,从而,也无法在浏览器中根据应用数据的元信息,对获取的应用数据进行处理。
基于上述研究,本公开提供了一种信息预测方法、装置、计算机设备和存储介质,应用数据中包括的字段和字段值,能够反映应用数据的元信息,因此,在获取到应用数据之后,利用预先创建的web worker,提取应用数据中的字段和字段值,再基于对字段和字段值的分析处理,可以及时并准确地确定数据表中的每条应用数据的当前元信息,从而实现在浏览器端主动确定出获取的应用数据的元信息,进而有利于后续基于确定的元信息,对获取的应用数据进行处理。此外,由于web worker作为一个可独立运行的线程,利用预先创建的web worker,执行上述确定应用数据的元信息的操作,避免了对浏览器主线程(如页面交互/渲染线程)的资源占用,保证了浏览器主线程的合理运行。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,本公开实施例中所提到的特定名词包括:
NoSQL数据库:泛指非关系型的数据库,具有如下优点:易扩展,NoSQL数据库虽然种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性;数据之间无关系,可以实现对数据的扩展;
深度优先遍历:一般指深度优先搜索,用于对树结构中每一个可能的分支路径进行深入到不能再深入为止的遍历,而且树中的每个节点只能访问一次;也即,可以遍历出应用数据对应的每个字段及其对应的字段值;
Type of:在JavaScript中是一个一元操作符,可以判断操作数的类型,其返回值为字符串,使用方式可以是type of操作数或type of(操作数),在本公开实施例中,使用方式可以为type of字段值或type of(字段值)。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种信息预测方法进行详细介绍,本公开实施例所提供的信息预测方法的执行主体一般为具有一定计算能力的计算机设备,在一些可能的实现方式中,该信息预测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为计算机设备为例对本公开实施例提供的信息预测方法加以说明。
如图1所示,为本公开实施例提供的一种信息预测方法的流程图,可以包括以下步骤:
S101:获取前端应用对应的数据表,数据表中的每条应用数据预先存储在目标数据库中。
这里,前端应用即为可以运行在浏览器中的应用。数据表中的每条应用数据即为上述前端应用对应的每条数据。例如,前端应用可以为住户管理应用,其对应的应用数据可以包括应用页面对应的页面数据、住户数量数据、住户联系方式数据等等。
目标数据库具体可以为任一种非关系型的nosql数据库,例如远程字典服务(Remote Dictionary Server,Redis)数据库,Memcache数据库,MongoDb数据库等。其中,Memcache是一个高性能的分布式内存对象缓存系统,用于减轻数据库负载,提升数据库访问速度;MongoDb数据库是一个基于分布式文件存储的数据库,具有高性能、易部署、易使用,存储数据非常方便等特性。为方便描述,本公开实施例均以目标数据库为MongoDb数据库为例,对上述信息预测方法进行说明。
MongoDb数据库可以有用户预先创建在服务端,其中可以存储有前端应用对应的各条应用数据,用户可以在服务端对MongoDb数据库进行管理,例如,创建数据、修改数据等等。各条应用数据可以为用户预先创建并存储在MongoDb数据库的。目标数据库中的应用数据可以每一条独立存在,也可以划分至多个数据表中,每个数据表中可以包括一条或多条应用数据。
具体实施时,浏览器可以向客户端发起数据获取请求,服务端在接收到数据获取请求后,可以从目标数据库中筛选出与数据获取请求相匹配的各条应用数据,将匹配的各条应用数据反馈给浏览器。进而,浏览器可以批量接收到上述匹配的各条应用数据,将其作为数据表中的数据。
S102:利用预先创建的网页工作者web worker,提取每条应用数据中的至少一个字段以及每个字段的字段值,并基于提取的至少一个字段以及每个字段的字段值,确定数据表中的每条应用数据的当前元信息。
上述网页工作者web worker,允许浏览器运行的主线程(主要负责页面交互/渲染)创建Worker子线程,将一些任务分配给Worker子线程运行。在主线程运行的同时,Worker子线程在后台运行,两者互不干扰。等到Worker子线程完成计算任务,再把结果返回给主线程。这样,对于一些计算密集型或高延迟的任务,被Worker子线程负担了,主线程就可以流畅运行,不会被阻塞或拖慢,保证页面对用户的响应。
以主线程用于渲染展示页面为例,如果在主线程进行页面渲染展示的过程中,接收到针对页面的计算任务,可以利用预先创建的web worker子线程执行该计算任务,在不影响主线程执行的基础上,完成计算任务,并将任务结果反馈给主线程。
应用数据可以包括一个或多个字段,每个字段可以对应于不同的字段值,也即应用数据为多个字段及字段对应的取值的集合。具体的,每个应用数据可以以“树”的形式存在,每个字段对应于一个分支,每个字段值对应于每个叶子节点的取值。根据每个字段对应所处的位置,能够确定应用数据的数据结构、应用数据包括的字段的数量等等信息。
每个字段可以对应于不同的字段类型,例如,地址类型的字段,数字类型的字段、字符串类型的字段等等,每个字段值即为对应的字段的取值。
元信息(metaInfo)用于表征应用数据的基础属性,具体的可以表征应用数据对应的数据结构、应用数据包括的字段的数量、字段的类型、字段值的集合等属性。当前元信息即为当前次对应用数据进行分析后,确定的该应用数据对应的元信息。针对同一条数据而言,其对应的数据内容可以更改,因此,每次确定出的该应用数据的元信息可以不同。
具体实施时,在获取到上述数据表之后,针对数据表中的每条应用数据,可以利用预先创建的web worker子线程,对该条应用数据进行分析,确定出该条应用数据所包括的至少一个字段(也即可以确定该条应用数据所包括的字段的数量)、每个字段在该条应用数据对应的“树”中的位置、每个字段对应的字段值。
进一步的,基于该条应用数据所包括的每个字段对应的位置,可以确定该条应用数据的数据结构;根据每个字段对应的字段值,可以确定该条应用数据所包括的字段值的集合;并通过对每个字段对应的字段值的分析,确定出该字段对应的字段类型。继而,可以将该条应用数据所包括的字段的数量、该条应用数据的数据结构、该条应用数据所包括的字段值的集合、以及每个字段对应的字段类型,作为该条应用数据的当前元信息。
基于上述步骤,可以确定出上述数据表中的每条应用数据对应的当前元信息,也即得到数据表对应的当前元信息。
S103:基于确定的每条应用数据对应的当前元信息,对每条应用数据的元信息进行更新存储;其中,元信息用于表征应用数据的基础属性。
这里,当前元信息用于表征当前次确定出每条应用数据分别对应的元信息。
具体实施时,针对每条应用数据,可以直接将确定的该条应用数据对应的当前元信息,作为该条应用数据对应的最新的元信息。
并且,在该条应用数据存在之前存储的历史元信息的情况下,可以直接利用当前元信息更新存储的历史元信息,将当前元信息作为最新的元信息并存储。
或者,在该条应用数据存在之前存储的历史元信息的情况下,也可以将历史元信息和当前元信息进行比较,确定出两元信息之间的区别信息。针对两元信息之间的非区别信息以外的信息,可以继续使用存储的历史元信息中、与该非区别信息对应的信息;针对确定出的区别信息,利用当前元信息中与该区别信息对应的信息,更新历史元信息中与该区别信息对应的信息。进而,可以实现对历史元信息的更新存储,得到条应用数据对应的最新的元信息。
在该应用数据不存在之前存储的历史元信息的情况下,可以直接将当前元信息作为最新的元信息并存储。具体的,可以将最新的元信息存储在浏览器对应的本地存储(local Storage)位置。
并且,在完成对每条应用数据的元信息进行更新存储之后,还可以确定出上述数据表对应的元信息并存储在local Storage。这里,数据表对应的元信息用于整体表征数据表中的每条应用数据对应的更新存储后的元信息。
这样,应用数据中包括的字段和字段值,能够反映应用数据的元信息,因此,在获取到应用数据之后,利用预先创建的web worker,提取应用数据中的字段和字段值,再基于对字段和字段值的分析处理,可以及时并准确地确定数据表中的每条应用数据的当前元信息,从而实现在浏览器端主动确定出获取的应用数据的元信息,进而有利于后续基于确定的元信息,对获取的应用数据进行处理。此外,由于web worker作为一个可独立运行的线程,利用预先创建的web worker,执行上述确定应用数据的元信息的操作,避免了对浏览器主线程(如页面交互/渲染线程)的资源占用,保证了浏览器主线程的合理运行。
在一种实施例中,针对上述S102,可以按照以下步骤实施:
S102-1:针对每条应用数据,利用深度优先遍历算法对该应用数据进行遍历,确定该应用数据包括的至少一个字段,以及每个字段对应的字段值。
由上述实施例可知,每个应用数据可以以“树”的形式存在,因此在具体实施时,可以利用深度优先遍历算法对该应用数据进行遍历,实现对应用数据对应的每个节点的遍历,确定出该应用数据包括的每个字段,以及每个字段对应的字段值。
S102-2:针对当前遍历到的每个字段,基于该字段对应的字段值,确定该字段对应的字段类型。
具体实施时,针对当前遍历到的每个字段,可以利用type of方法,对该字段的字段值进行处理,确定出该字段对应的字段类型。
S102-3:基于该应用数据包括字段的数量、每个字段对应的字段值、以及每个字段对应的字段类型,确定应用数据的当前元信息。
示例性的,针对每条应用数据,可以将该应用数据包括字段的数量、每个字段对应的字段值、每个字段对应的字段类型、以及根据遍历时各个字段所对应的位置确定的数据结构,作为该条应用数据的当前元信息。
并且,在存储应用数据对应的当前元信息时,可以按照遍历应用数据时每个字段所对应的位置,将每个字段对应的字段值和字段类型进行存储。
在一种实施例中,针对一个字段,在基于该字段对应的字段值确定字段对应的字段类型中,可能会出现确定出的字段类型包括多个情况。以字段名为地址为例,该字段对应的字段值指示的地址处,可能一开始包括三个用于指示地址的文本类型的数据,此时可以确定名为地址的字段的类型为文本类型。但此时如果用户在服务端为该字段添加了一条字符串类型的数据,则在用户点击页面刷新之后,则还可以获取到该字符串类型的数据,进而,在对该字段进行遍历时,可以确定其包括了三条文本类型的数据和一条字符串类型的数据,因此,此时确定出的字段对应的字段类型包括多个。
具体实施时,在基于字段对应的字段值,确定字段对应的字段类型的过程中,如果确定出字段对应的字段类型包括多个的情况下,可以将多个字段类型组合为联合类型,将该联合类型作为字段最终的字段类型。例如,在确定出字段对应的字段类型包括文本类型和字符串类型的情况下,确定出的联合类型包括文本类型和字符串类型。
在一种实施例中,针对上述S103,可以按照以下步骤实施:
S103-1:若存在之前存储的该条应用数据的历史元信息,判断历史元信息与当前元信息是否一致。
这里,历史元信息即为应用数据对应的、之前存储在本地存储位置处的元信息。数据表中的每条应用数据,可以存储历史元信息,也可以不存在历史元信息。
具体实施时,针对数据表中的每条应用数据,可以从本地存储位置处查找是否存在该之前存储的该条应用数据的历史元信息。如果否,则可以直接将该条应用数据的对应的当前元信息存储在本地存储位置处。
如果是,则需要判断历史元信息与当前元信息是否一致。这里,之所以需要比对两元信息是否一致的原因在于,针对同一字段,其对应的字段值可能存在变更,在基于字段值确定字段类型的过程中,由于不同次计算时,所使用的字段值不同,可能会造成计算出的字段类型也不同,继而,历史元信息和当前元信息也将不同。
或者,针对同一字段,在其对应的字段值也一样的情况下,在不同次计算时,可能确定出字段类型也不同。例如,针对同一字段A,在上一次基于字段A的字段值计算时,确定出字段A的字段类型可能为文字类型;而在当前次基于字段A的字段值计算时,确定出字段A的字段类型可能为数字类型。
综上所述的原因,在得到当前元信息之后,需要先判断历史元信息与当前元信息是否一致。
S103-2:若历史元信息与当前元信息不一致,将之前存储的该条应用数据的历史元信息以及当前元信息,作为该条应用数据对应的更新后的元信息,并进行存储。
这里,在确定历史元信息与当前元信息不一致的情况下,可以直接将之前存储的该条应用数据的历史元信息以及当前元信息进行合并,作为该条应用数据对应的更新后的元信息,并进行存储。
具体的,可以历史元信息与当前元信息对应的不一致的信息,进行合并存储,将一致的信息,直接使用已经存储的历史元信息对应的部分信息,删除当前元信息对应的部分信息。例如,在确定历史元信息与当前元信息对应的不一致的信息为字段A的字段类型的情况下,历史元信息对应的字段A的字段类型为文字类型,当前元信息对应的字段A的字段类型为数字类型,可以将字段A的字段类型存储为文字类型或数字类型。
在一种实施方式中,针对数据表中的每条应用数据,在利用预先创建的webworker子线程对其进行分析之前,可以从本地存储位置中查找是否存在已经存储的该条应用数据对应的历史元信息。在确定存储有历史元信息的情况下,可以将该历史元信息作为该条应用数据对应的待更改的当前元信息;也即,可以将历史元信息赋值给该条应用数据对应的metaInfo变量,将该metaInfo变量作为该条应用数据对应的待更改的当前元信息。
反之,在确定不存在历史元信息的情况下,可以将空对象赋值给该条应用数据对应的metaInfo变量,并将该metaInfo变量作为该条应用数据对应的待更改的当前元信息。
之后,在利用web worker子线程确定出该条应用数据对应的当前元信息之后,可以基于确定的该条应用数据对应的当前元信息,对每条应用数据的元信息进行更新存储,从而实现在本地位置处存储有数据表中的每条应用数据对应的最新的元信息。
在一种实施例中,在对每条应用数据的元信息进行更新存储之后,还可以响应于针对数据表中的任一条应用数据的数据编辑请求,然后基于该条应用数据对应的最新更新存储的元信息,生成并展示该条应用数据对应的编辑提示信息。
其中,上述数据编辑请求可以为用于对数据表中的应用数据进行例如更新、添加、编辑的请求。编辑提示信息用于提示用户按照元信息所指示的基础属性进行数据编辑。例如,编辑提示信息可以为:当前数据编辑请求对应的应用数据的数据类型为文本类型,若对该应用数据进行更新,请输入文本类型的更新数据。
示例性的,当用户发起针对应用数据中的字段B的数据编辑请求之后,浏览器可以响应于该请求,并基于字段B对应的字段类型字符串类型,生成提示用户输入字符串类型的更新数据的编辑提示信息。
此外,若用户输入的更新数据对应的字段类型与编辑提示信息指示的字段类型不一致,也可以拒绝用户的编辑。或者,向用户展示编辑确定信息,编辑确定信息用于提示用户更新数据的数据类型与编辑提示信息指示的字段类型不一致,请求用户确定是否确定编辑。在确定用户确定编辑的情况下,利用更新数据对字段B进行更新。
在一种实施例中,针对上述S101中获取前端应用对应的数据表的步骤,可以按照以下步骤实施:
S101-1:获取用户输入的至少一条数据搜索信息。
这里,在目标数据库的应用数据独立存在的情况下,数据搜索信息可以为用户输入的各个应用数据对应的数据标识,用户输入的每条数据标识作为一个数据搜索信息。
在目标数据库的应用数据划分至多个不同的数据表的情况下,数据搜索信息可以为用户输入的一个或多个数据表对应的数据表标识,用户输入的每条数据表标识可以作为一个数据搜索信息。
或者,数据搜索信息也可以浏览器自动生成的,例如,在用户点击页面中的任一标识的情况下,浏览器可以响应于该点击操作,确定该任一标识对应的数据表,将该数据表对应的数据表标识信息作为数据搜索信息。
S101-2:基于数据搜索信息,从服务端对应的目标数据库中获取数据搜索信息对应的各条应用数据,并将获取的各条应用数据,作为数据表中的应用数据。
具体实施时,浏览器可以将数据搜索信息发送至服务端,服务端在接收到数据搜索信息之后,可以根据数据搜索信息,确定出目标数据库中存储的与数据搜索信息对应的各条应用数据,然后将确定出的各条应用数据反馈给浏览器。进而,浏览器可以获取到与数据搜索信息对应的各条应用数据,进而,可以将获取的各条应用数据,作为数据表中的应用数据。
示例性的,在数据搜索信息对应为用户输入的数据标识的情况下,服务端在接收到数据搜索信息之后,可以在目标数据库中查找与每个数据标识相匹配的应用数据,并将与每个数据标识相匹配的应用数据反馈给浏览器,进而,浏览器可以将服务端反馈的各条应用数据作为数据表中的应用数据。
在数据搜索信息对应为用户输入的数据表标识的情况下,可以服务端在接收到数据搜索信息之后,可以在目标数据库中查找与每个数据表标识相匹配的数据表,并将每个数据表中的应用数据反馈给浏览器。从而,浏览器可以得到各个数据表对应的应用数据。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与信息预测方法对应的信息预测装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述信息预测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图2所示,为本公开实施例提供的一种信息预测装置的示意图,包括:
获取模块201,用于获取前端应用对应的数据表,所述数据表中的每条应用数据预先存储在目标数据库中;
确定模块202,用于利用预先创建的网页工作者web worker,提取每条所述应用数据中的至少一个字段以及每个所述字段的字段值,并基于提取的至少一个字段以及每个所述字段的字段值,确定所述数据表中的每条所述应用数据的当前元信息;
更新模块203,用于基于确定的每条所述应用数据对应的所述当前元信息,对每条所述应用数据的元信息进行更新存储;其中,元信息用于表征所述应用数据的基础属性。
在一种可能的实施方式中,所述更新模块203,用于若存在之前存储的该条应用数据的历史元信息,判断所述历史元信息与所述当前元信息是否一致;
若所述历史元信息与所述当前元信息不一致,将之前存储的该条应用数据的历史元信息以及所述当前元信息,作为该条应用数据对应的更新后的元信息,并进行存储。
在一种可能的实施方式中,所述装置还包括:
编辑模块204,用于对每条所述应用数据的元信息进行更新存储之后,响应于针对所述数据表中的任一条应用数据的数据编辑请求,基于该条应用数据对应的元信息,生成并展示该条应用数据对应的编辑提示信息;所述编辑提示信息用于提示用户按照所述元信息所指示的基础属性进行数据编辑。
在一种可能的实施方式中,所述确定模块202,用于针对每条所述应用数据,利用深度优先遍历算法对该应用数据进行遍历,确定该应用数据包括的至少一个字段,以及每个字段对应的字段值;
针对当前遍历到的每个字段,基于该字段对应的字段值,确定该字段对应的字段类型;
基于该应用数据包括字段的数量、每个所述字段对应的字段值、以及每个所述字段对应的字段类型,确定所述应用数据的当前元信息。
在一种可能的实施方式中,所述确定模块202,用于在基于所述字段对应的字段值,确定所述字段对应的字段类型包括多个的情况下,将多个所述字段类型组合为联合类型,并将该联合类型作为所述字段最终的字段类型。
在一种可能的实施方式中,所述获取模块201,用于获取用户输入的至少一条数据搜索信息;
基于所述数据搜索信息,从服务端对应的所述目标数据库中获取所述数据搜索信息对应的各条应用数据,并将获取的各条应用数据,作为所述数据表中的应用数据。
在一种可能的实施方式中,所述目标数据库包括mongodb数据库。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图3所示,为本公开实施例提供的一种计算机设备结构示意图,包括:
处理器31和存储器32;所述存储器32存储有处理器31可执行的机器可读指令,处理器31用于执行存储器32中存储的机器可读指令,所述机器可读指令被处理器31执行时,处理器31执行下述步骤:S101:获取前端应用对应的数据表,数据表中的每条应用数据预先存储在目标数据库中;S102:利用预先创建的网页工作者web worker,提取每条应用数据中的至少一个字段以及每个字段的字段值,并基于提取的至少一个字段以及每个字段的字段值,确定数据表中的每条应用数据的当前元信息以及S103:基于确定的每条应用数据对应的当前元信息,对每条应用数据的元信息进行更新存储;其中,元信息用于表征应用数据的基础属性。
上述存储器32包括内存321和外部存储器322;这里的内存321也称内存储器,用于暂时存放处理器31中的运算数据,以及与硬盘等外部存储器322交换的数据,处理器31通过内存321与外部存储器322进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的信息预测方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的信息预测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的信息预测方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的信息预测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。