一种业务对象的收藏、搜索方法和装置与流程

文档序号:11864786阅读:279来源:国知局
一种业务对象的收藏、搜索方法和装置与流程

本发明涉及计算机处理的技术领域,特别是涉及一种业务对象的收藏方法、一种业务对象的搜索方法、一种业务对象的收藏装置和一种业务对象的搜索装置。



背景技术:

随着互联网的高速发展,网上的信息量急剧增加,某些平台可以开放给用户注册容器,用于容纳其产品,并对外进行展示、交易等操作。

例如,在电子商务平台中,该容器也可以称之为店铺。

为提升用户在使用网站时的浏览体验,大多数网站提供了收藏夹的功能,用户在浏览网站的过程中,通过在产品或容器等页面点击“收藏”(进行收藏操作),即可将自己喜欢的产品或容器等信息添加到自己的收藏夹中。此后,用户可以利用自己的收藏夹,对其喜欢的产品或容器等信息进行查看。

随着网站发展到今日,每个用户的收藏夹中通常会有一定数量的产品或容器等信息的收藏,尤其是一些活跃的用户,会有几百个甚至几千个产品或容器等信息的收藏。

对于用户而言,收藏夹中的内容是用户长期积累的一笔经验财富,随着用户使用时间地增长,收藏夹中的信息量也会越来越多。因而,对于大型的网站而言,用户收藏夹是个海量数据的应用。

为充分利用用户收藏夹,除了需要对用户收藏夹的数据进行添加、删除和更新处理外,还需要提供给用户快捷、有效地找到用户当前所需的收藏数据的搜索方法。

目前,收藏夹的数据保存在收藏表中,收藏表中记录有:用户ID、收藏类型(如产品或容器)、收藏内容名称(如产品名称或容器名称)、收藏时间等信息,用户每执行一次收藏操作,即会在收藏表中生成一条相应的收藏目标的数据信息。

例如,用户A在针对某产品(如手机12345)点击“收藏”(进行收藏操作)后,将会在后台生成如下表所示的数据信息:

基于这种收藏表,当用户想要搜索某条收藏目标的数据信息时,则只能通过准确输入收藏内容名称才能获得,例如:收藏的是产品,则只能通过准确输入产品名称进行搜索;收藏的是容器,则只能通过准确输入容器名称进行搜索。这种单一条件的搜索方式较适用于收藏量较少、收藏时间较短的情形;随着收藏数量的增多和收藏时间增长,用户难以记忆当时的收藏内容,一旦收藏内容信息输入不准确,用户很难搜索到想要的收藏数据,用户通常需要花费很多时间和精力才能搜索到想要的收藏数据,从而使收藏夹的作用大打折扣。

为解决用户收藏夹数据只能采用单一条件搜索的问题,目前有一些网站针对收藏数据提供了标签分类功能。标签分类是指给用户的收藏目标,如产品和容器等添加特定标签,以标识所收藏的内容属于哪一类别,这个标签可以是品种,也可以是用户任意标记的类别,例如“手机”、“食品”、“下次买”、“关注”等等。标签分类的方法虽然简单方便,但因为它随意性很强,时间长了,很容易造成分类重复、放置内容混乱等问题,因而采用这种方案用户仍很难搜索到自己想要的收藏数据。

作为另一种解决收藏夹数据只能采用单一条件搜索的方式,为使用户能够采用多种条件搜索收藏夹数据,可以用关联数据库查询的方式,即在搜索时,用收藏表的信息关联到当前网站的用户数据库、产品数据库及容器数据库进行查询。

例如,通过产品名称关联到网站的产品数据库,查询用户收藏的产品信息对应的当前产品信息;或者,通过容器名称关联到购物网站的容器数据库,查询用户收藏的店铺信息对应的当前店铺信息。然而,对于大型的网站而言,产品数据库、容器数据库、用户数据库、收藏数据库是海量且不断增长的,诸多网站的数据库已达到千万级或亿级数据规模,目前要在这种数据规模的多个数据库之间进行有效的关联查询是很难实现的,即使能够实现这种巨型数据库之间的关联查询,不仅会很慢,还将造成系统性能和资源的极大耗费。并且产品数据库、容器数据库、用户数据库中与收藏夹数据关联的对应数据也会被重新编辑修改,甚至删除,导致用户不能很好地得到收藏时的数据,进一步降低了收藏夹的作用。



技术实现要素:

监狱本申请所要解决的技术问题,本申请提供了一种业务对象的收藏、搜索方法和装置,用以针对网站海量的收藏夹数据,在尽量节省系统资源的基础上,提供多元化的收藏夹数据搜索方案,使用户能快速、有效地搜索到所需的收藏数据,提高用户收藏夹的使用价值,提升用户收藏夹的使用体验。

一方面,本申请实施例公开了一种业务对象的收藏方法,包括:

当接收到用户标识针对业务对象发送的收藏请求时,针对所述业务对象的业务信息生成收藏夹信息;

根据所述用户标识在预置的多个收藏夹数据库中计算目标收藏夹数据库;

将所述收藏夹信息存储至所述目标收藏夹数据库中;

针对所述收藏夹信息生成索引信息。

另一方面,本申请实施例公开了一种业务对象的搜索方法,包括:

当接收到某一用户标识发送的搜索请求时,查找所述用户标识对应的一个或多个索引信息;

根据所述索引信息中查找所述用户标识对应的收藏夹数据库;

在所述收藏夹数据库中查找收藏夹信息;

根据所述搜索请求在所述收藏夹数据库的所述收藏夹信息中进行搜索,获得业务对象的业务信息。

另一方面,本申请实施例公开了一种业务对象的收藏装置,包括:

收藏夹信息生成模块,用于在接收到用户标识针对业务对象发送的收藏请求时,针对所述业务对象的业务信息生成收藏夹信息;

目标收藏夹数据库计算模块,用于根据所述用户标识在预置的多个收藏夹数据库中计算目标收藏夹数据库;

收藏夹信息存储模块,用于将所述收藏夹信息存储至所述目标收藏夹数据库中;

索引信息生成模块,用于针对所述收藏夹信息生成索引信息。

另一方面,本申请实施例公开了一种业务对象的搜索装置,包括:

索引信息查找模块,用于在接收到某一用户标识发送的搜索请求时,查找所述用户标识对应的一个或多个索引信息;

收藏夹数据库查找模块,用于根据所述索引信息中查找所述用户标识对应的收藏夹数据库;

收藏夹信息查找模块,用于在所述收藏夹数据库中查找收藏夹信息;

业务信息搜索模块,用于根据所述搜索请求在所述收藏夹数据库的所述收藏夹信息中进行搜索,获得业务对象的业务信息。

本申请实施例具有以下优点:

1、本申请实施例通过将海量的收藏夹信息分别存储在不同服务器上的收藏数据库中,由于收藏夹的应用是面向用户的,本申请实施例还以用户为分割维度来划分收藏夹信息的存储位置,即同一用户的收藏夹信息存储在同一收藏数据库中。在同样数据规模下,本申请实施例能以尽可能小的存储空间,提供更多收藏夹业务功能的数据基础,从而有效节省系统资源;并且,不需要实时关联外部业务数据(如产品数据库、容器数据库、用户数据库等),也没有数据依赖关系,从而可以提供更灵活的存储、搜索和扩展性能。

2、在生成收藏夹信息后,本申请实施例还可以依据业务数据库与扩展信息相应的内容发生变化时,触发收藏夹信息的更新接口完成收藏夹数据库的更新,从而保证收藏夹信息的正确性和有效性。

3、采用目前技术进行收藏夹信息搜索要在用户数据库、容器数据库、产品数据库三个亿级以上的数据库中分别搜索,而这个三个数据库的数据规模都很大,实际上系统性能无法操作,也就无法支持这么多种业务条件的收藏数据搜索;而本申请实施例由于对整个数据存储结构做了全新的设计,把可以作为搜索条件的关键字段数据(即扩展信息)从业务数据库中复制出来,作为收藏夹信息的一部分,并建立相应索引和据更新机制,并采用了分布式的存储架构,并以用户维度进行分库存储运算。从而解决了海量数据搜索的问题,实现了用户多元化的收藏夹信息的搜索方案,使用户能快速、有效地搜索到所需的收藏夹信息,提高收藏夹的使用价值,提升收藏夹的使用体验,并能节省系统资源,提升系统性能。

附图说明

图1是本申请的一种业务对象的收藏方法实施例1的流程图

图2是本申请实施例的一个系统结构示意图;

图3是本申请的一种业务对象的收藏方法实施例2的流程图;

图4是本申请的一种业务对象的搜索方法实施例的流程图;

图5是本申请的一种业务对象的收藏装置实施例的结构框图;

图6是本申请的一种业务对象的搜索装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本申请实施例的构思之一包括:将网站海量的收藏夹信息,按用户分别保存在位于不同服务器的收藏夹数据库中,并记录收藏夹数据库的位置索引,使得针对某个用户的收藏夹信息进行处理时,如添加、删除、更新、搜索等在对应的收藏夹数据库中即可完成,从而有效节省系统资源,提升系统性能。

参考图1,示出了本申请的一种业务对象的收藏方法实施例1的流程图,具体可以包括以下步骤:

步骤101、当接收到用户标识针对业务对象发送的收藏请求时,针对所述业务对象的业务信息生成收藏夹信息。

对于不同业务领域而言,可以具有不同的业务对象,即具有业务领域特征的对象。

例如,对于新闻媒体领域而言,业务对象可以为新闻数据;对于移动通讯领域而言,业务对象可以为移动通讯数据;对于电子商务(Electronic Commerce,EC)领域而言,业务对象可以为产品对象(如商品)、容器对象(如店铺),其中,容器对象可以容纳一个或多个产品对象;等等。

业务对象虽然承载不同的业务特性,但其本质仍然是数据,例如,文本、图像数据、音频数据、视频数据等等。本申请实施例中所指收藏夹信息,主要包括用户基于网站所提供的收藏夹功能,进行收藏操作所形成的数据。

例如,用户在浏览购物网站的过程中,通过在商品或店铺等页面点击“收藏”(进行收藏操作),所形成的用户收藏的商品信息或店铺信息。

步骤102、根据所述用户标识在预置的多个收藏夹数据库中计算目标收藏夹数据库。

对于各种大型的B2B(Business-to-Business,企业对企业)、C2C(Customer-to-Customer,消费者对消费者)、B2C(Business-to-Customer,企业对消费者)模式的购物网站而言,收藏夹是个海量数据的应用,如果采用单服务器、单数据库的方式,通常很难满足亿条记录级以上的应用需求。

为节省系统资源,提升系统性能,本申请实施例中,将海量的收藏夹信息分别存储在不同服务器上的收藏夹数据库中,如采用分布式的存储架构进行存储。

由于收藏夹是面向用户的,本申请实施例中,可以以用户为分割维度来划分收藏夹信息的存储位置,即同一用户(以用户标识表征)的收藏夹信息存储在同一收藏夹数据库中。

在具体实现中,可以根据网站的数据规模,采用某种分类方式计算不同用户(以用户标识表征)的收藏夹信息所保存的收藏夹数据库的位置。

在本申请实施例的一种示例中,

步骤102可以包括如下子步骤:

子步骤S11、基于所述用户标识生成一字符串;

子步骤S12、基于所述字符串生成一数值,作为目标收藏夹数据库的数据库标识。

例如,参考如图2所示的数据系统结构示意图;假设当前存在于n台服务器上的n个收藏夹数据库,在添加某个用户的收藏夹信息时,获得该用户的用户标识(如用户ID)、用户注册时间等固定的用户信息;依据该用户信息生成一个小于64位长度的字符串,该字符串通常为英文字母和/或数字的形式,如jessiebuy20101201。

然后以该用户信息的字符串作为输入,调用产生固定值的随机算法,如MD5(Message Digest Algorithm MD5,消息摘要算法第五版)算法,获得某一数值,将该数值作为对应的服务器n和收藏夹数据库n的值,如获得的数值为2,即获得将要保存的服务器的服务器标识为2,收藏夹数据库的数据库标识为2。

当然,上述分配收藏夹数据库的方法仅仅用作示例,本领域技术人员可以根据实际情况采用任一种方法,比如采用按用户信息的字符串进行取模确定对应收藏夹数据库等等,本申请实施例对此无需加以限制。

步骤103、将所述收藏夹信息存储至所述目标收藏夹数据库中。

参考图2,在具体实现中,索引信息还可以在独立的服务器上进行内存缓存(cache),以进一步提高系统处理效率,即可以将索引信息缓存至索引数据库中。

步骤104、针对所述收藏夹信息生成索引信息。在具体实现中,可以采用用户标识、收藏夹信息的收藏夹标识、目标收藏夹数据库的数据库标识生成索引信息。

本申请实施例通过采用对海量收藏夹信息进行分布式处理的存储架构,以及,索引信息和收藏夹信息分别存储的两部分存储方式,在同样数据规模下,能以尽可能小的存储空间,提供更多收藏夹业务功能的数据基础,从而有效节省系统资源;并且,不需要实时关联外部业务数据(如产品数据库、容器数据库、用户数据库等),也没有数据依赖关系,从而可以提供更灵活的存储、搜索和扩展性能。

参考图3,示出了本申请的一种业务对象的收藏方法实施例2的流程图,具体可以包括以下步骤:

步骤301、当接收到用户标识针对业务对象发送的收藏请求时,识别所述业务对象的类型。

在本申请实施例中,业务对象的业务信息可以包括基础信息和扩展信息。

其中,基础信息为不同类型的业务对象所具有的相同的业务信息。

扩展信息为针对不同类型的业务对象的特性所设计的业务信息,不同类型的业务对象的扩展信息一般不同,但也可能相同,本申请实施例对此不加以限制。

步骤302、记录所述业务对象的基础信息。

在具体实现中,基础信息包括如下的一种或多种:

收藏夹标识、用户标识、收藏夹类型、业务对象标识、收藏时间、数据有效标识、失效时间;

其中,收藏夹标识为针对当前收藏夹数据记录生成的唯一标识;

收藏夹类型包括收藏产品对象,或者,收藏容器对象;

业务对象标识为当前所收藏产品对象或容器对象等内容的相应标识,如商品ID或店铺ID等。

业务对象标识包括产品标识,或者,容器数据对象所有者的所有者标识。

步骤303、按照所述类型记录从预置的一个或多个业务数据库中提取所述业务对象的扩展信息。

业务数据库为大型网站的后台数据库,包括产品对象数据库(如商品数据库)、容器对象数据库(如店铺数据库)等等。

其中,产品对象数据库用于记录与产品对象相关的信息;

容器对象数据库用于记录与容器对象相关的信息。

在本申请实施例中,扩展信息可以根据业务需求确定。

例如,当业务对象的类型为产品对象时,从产品对象数据库中提取如下的一种或多种业务信息作为扩展信息:

容器对象名称(如店铺名称)、容器对象所有者的名称(如卖家名称)、产品品类(如商品品类)、产品价值(如商品价格)、产品发布时间(如商品发布时间)。

又例如,当业务对象的类型为容器对象(如店铺)时,从容器对象数据库中提取如下一种或多种业务信息作为扩展信息:

容器对象所有者的用户名称(如卖家名称)、容器对象的主要业务范围(如店铺主营)、容器对象所有者(如卖家)的信用等级。

此外,还可以提取容器对象的业务活动信息(如店铺的促销信息)、备注信息中的一种或多种作为扩展信息。

步骤304、采用所述基础信息和所述扩展信息生成收藏夹信息。

在具体实现中,可以将业务对象的基础信息和扩展信息组合为收藏夹信息。

作为一种具体应用的示例,所述收藏夹信息的内容可以参考下表的定义:

当然,上述收藏夹信息仅仅用作示例,收藏夹信息的基础信息和扩展信息都可由本领域技术人员依据实际情况进行设置,但扩展信息字段不建议超过20个,以免数据量过大。

步骤305、将所述收藏夹信息存储至所述目标收藏夹数据库中。

步骤306、针对所述收藏夹信息生成索引信息。

应用本发明实施例,后台会存储两部分数据,一部分是索引信息,另一部分是收藏夹信息本身。

在本实施例中,索引信息主要由用户标识、收藏夹标识和收藏夹数据库的数据库标识组成,当前的收藏夹信息记录具体保存由索引信息指定的收藏夹数据库中。

尽管收藏夹信息保存在单个数据表中,不需要进行外部数据的合作查询,也没有任何数据依赖关系,但如果只采用单服务器、单数据库的方式,仍然很难满足亿条记录级以上的大型网站的应用需求。

所以,本实施例在单表设计的基础上,还采用了分布式的存储策略,即不同用户(用户标识表征)的收藏夹信息可能会存储在不同服务器及收藏夹数据库中,但同一用户(用户标识表征)的收藏夹信息存储在同一个服务器和收藏夹数据库中。

因而,应用本申请实施例,可以基于单表的数据存储结构简单实现用户多元化的收藏夹信息搜索,而无需在搜索时,需要基于收藏表信息关联网站的用户数据库、容器数据库、产品数据库三个亿级以上的数据库进行搜索,从而使用户能快速、有效地搜索到所需的收藏夹信息,提高了收藏夹的使用价值,提升了收藏夹的使用体验,并能节省系统资源,提升系统性能。

步骤307、当业务数据库中的业务数据发生变化时,在预置的一个或多个收藏数据库查找所述业务数据对应的扩展信息。

步骤308、采用所述业务数据更新所述扩展信息。

在生成收藏夹信息后,可以通过数据更新机制来保证收藏夹信息的正确性和有效性。由于收藏夹信息记录的扩展信息是从业务数据库提取的信息,当内容数据库中的这部分信息发生变化时,则可以通过触发收藏夹信息的更新接口,来完成收藏夹数据库中相应收藏夹信息内容的更新。

例如,如果购物网站后台的商品数据库中的商品价格发生了变化(与收藏夹信息中记录的商品价格相比),则调用收藏夹信息的更新接口,将新的商品价格更新到收藏夹信息中。

或者,如果购物网站后台的店铺数据库中的某个店铺关闭,则调用收藏夹信息的更新接口,记录失效状态和失效时间。

步骤309、当接收到收藏夹信息的删除请求时,查找所述收藏夹信息的收藏夹标识。

步骤310、查找所述收藏夹标识对应的索引信息。

步骤311、基于所述索引信息记录的数据库标识定位收藏夹数据库。

步骤312、在所述收藏夹数据库中删除所述收藏夹标识对应的收藏夹信息。

步骤313、删除所述索引信息。

例如,当用户在收藏夹中针对某条收藏夹信息点击“删除”时,则可以根据该条收藏夹信息的收藏夹标识,查找存有该收藏夹标识的索引信息,并从该索引信息中获取该收藏夹标识对应的收藏夹数据库的数据库标识,然后定位该数据库标识的收藏夹数据库,在该收藏夹数据库中删除掉当前收藏夹信息,并根据收藏夹标识在索引数据库中删除掉当前的索引信息。

为使本领域技术人员更好地理解本申请实施例,以下通过一个结合用户操作的具体示例说明本申请实施例中业务对象的收藏方式。

一、收藏夹信息的添加:

11、用户在浏览购物网站的过程中,针对某个商品或店铺发起了“添加到收藏夹”的请求;

12、系统判断当前需要添加到收藏夹的内容是商品还是店铺,如果是商品,则执行步骤13;如果是店铺,则执行步骤14;

13、获取收藏商品的基础信息和扩展信息,生成一条收藏夹信息;其中,所述收藏商品的基础信息可以包括收藏记录ID、用户ID、收藏类型、商品ID、收藏时间、是否有效等;所述收藏商品的扩展信息可以包括,根据商品ID,到网站后台的商品数据库中获取的商品品类、商品价格、商品发布时间等商品有关的业务信息;然后执行步骤15;

14、获取收藏店铺的基础信息和扩展信息,生成一条收藏夹信息;其中,所述收藏商品的基础信息可以包括收藏记录ID、用户ID、收藏类型、店铺ID或卖家ID、收藏时间、是否有效等;所述收藏商品的扩展信息可以包括,根据店铺ID或卖家ID,到网站后台的店铺数据库中获取的店铺名称、卖家名称、店铺主营、卖家信用等级、店铺有否促销等店铺有关的业务信息;然后执行步骤15;

15、根据用户ID,为当前收藏夹信息生成一条索引信息,索引信息中记录有:用户ID、收藏记录ID、收藏夹数据库ID,在索引数据库中保存;

16、根据索引信息中记录的收藏夹信息,得到当前收藏夹信息的物理保存位置,在该收藏夹数据库中保存当前收藏夹信息。

二、收藏夹信息的更新:

21、在网站后台的商品数据库或店铺数据库中,已被用户收藏的商品或店铺的扩展信息发生变化;

22、上述变化触发商品或店铺的更新机制,调用收藏夹信息的更新接口;

23、根据商品ID或店铺ID,到各个收藏数据库中,更新相应的收藏夹信息的对应内容。

三、收藏夹信息的删除:

31、根据收藏记录ID在索引数据库中找到对应的索引信息,然后提取该索引信息中记录的收藏夹数据库位置;

32、根据所述收藏数据库的位置到该收藏夹信息中,找到所述收藏记录ID对应的收藏夹信息,删除该记录;

33、根据收藏记录ID在索引数据库中删除相应索引信息。

参考图4,示出了本申请的一种业务对象的搜索方法实施例的流程图。

在使用收藏夹时,用户除了希望能够对收藏夹内容进行添加、删除和更新外,还希望能够快捷、有效地找到其当前所需的收藏数据。为充分利用用户收藏夹的价值,在本申请实施例中,所有用户标识的收藏夹信息分别存储于不同服务器上的收藏夹数据库中;同一用户标识的收藏夹信息存储于同一收藏夹数据库中,各条收藏夹信息具有对应的索引信息。

本实施例具体可以包括如下步骤:

步骤401、当接收到某一用户标识发送的搜索请求时,查找所述用户标识对应的一个或多个索引信息。

步骤402、根据所述索引信息中查找所述用户标识对应的收藏夹数据库。

在本申请实施例中,索引信息记录用户标识、收藏夹标识和数据库标识之间的关联关系。

因此,在查找收藏夹数据库时,可以查找用户标识关联的数据库标识,查找数据库标识对应的收藏夹数据库。

步骤403、在所述收藏夹数据库中查找收藏夹信息。

在具体实现中,可以在收藏夹数据库中查找收藏夹标识对应的收藏夹信息。

步骤404、根据所述搜索请求在所述收藏夹数据库的所述收藏夹信息中进行搜索,获得业务对象的业务信息。

在具体实现中,搜索请求中包括搜索关键字、搜索参数,收藏夹信息中记录的业务对象的业务信息包括基础信息和扩展信息。

因此,在步骤404中,可以采用搜索关键字在收藏夹信息的扩展信息中按照搜索参数进行搜索,获得业务对象的业务信息。在本申请的一个实施例中,搜索参数为搜索关键的字符类型,步骤404可以包括如下子步骤:

子步骤S21,当所述搜索关键字的字符类型为数字时,采用所述搜索关键字在所述扩展信息中用于存储数字的字段中进行搜索;

子步骤S22,当所述搜索关键字的字符类型为文本时,采用所述搜索关键字在所述扩展信息中用于存储文本的字段中进行搜索。

在一个示例中,扩展信息中用于存储数字的字段包括如下的一种或多种:

产品价值、业务活动信息;

在另一个示例中,扩展信息中用于存储文本的字段包括如下的一种或多种:

产品品类、产品发布时间、容器对象名称、容器对象所有者的名称、容器对象的主要业务范围、容器对象所有者的信用等级、备注信息。

例如,用户在收藏夹页面的搜索栏内输入搜索关键字“2011春装”,系统分析该搜索关键字的类型包含文本类型,于是用该搜索关键字在收藏夹数据的商品品类、商品发布时间、店铺名称、卖家名称、店铺主营、卖家信用等级、用户备注信息中进行搜索;具体而言,将该搜索关键字按店铺名称进行匹配,从而输出该店铺名称相关的收藏商品;将该搜索关键字按卖家名称进行匹配,从而输出该卖家名称相关的收藏商品;将该搜索关键字按商品品类模糊匹配,从而输出该商品品类相关的收藏商品;将该搜索关键字按商品发布时间进行匹配,从而输出符合发布时间范围的相关收藏商品;将该搜索关键字按店铺主营进行匹配,从而输出该店铺主营类目相关的收藏店铺;将该搜索关键字按卖家信用等级进行匹配,从而输出符合该信用等级的相关收藏店铺;将搜索关键字按用户备注信息进行匹配,从而输出含有用户备注信息的收藏商品和店铺。

或如,用户在收藏夹页面的搜索栏内输入搜索关键字“200”,系统分析该搜索关键字的类型包含为纯数值型,于是用该搜索关键字在商品价格、店铺促销信息中进行搜索。具体而言,将该搜索关键字按价格模糊匹配,从而输出符合价格范围的相关收藏商品;将该搜索关键字按店铺促销信息进行匹配,从而输出收藏店铺内符合条件的促销商品。

在本申请的另一种优选实施例中,搜索参数为搜索类别,则步骤404可以包括如下子步骤:

子步骤S31,当所述搜索类别为产品对象搜索时,采用所述搜索关键字在产品对象的扩展信息中进行搜索;

子步骤S32,当所述搜索类别为容器对象搜索时,采用所述搜索关键字在容器对象的扩展信息中进行搜索;

子步骤S33,当所述搜索类别为扩展对象搜索时,采用所述搜索关键字在指定的扩展信息中进行搜索。

在一个示例中,产品对象的扩展信息包括如下的一种或多种:

容器对象名称、容器对象所有者的名称、产品品类、产品价值、产品发布时间;

在另一个示例中,容器对象的扩展信息包括如下的一种或多种:

容器对象所有者的用户名称、容器对象的主要业务范围、容器对象所有者的信用等级;

在另一个示例中,指定的扩展信息包括如下的一种或多种:

容器对象的业务活动信息、备注信息。

例如,用户在收藏夹页面选择搜索类别为商品,并输入搜索关键字,系统则生成在店铺名称、卖家名称、商品品类、商品价格、商品发布时间中进行搜索的搜索条件。具体而言,将该搜索关键字按店铺名称进行搜索,从而输出该店铺名称相关的收藏商品;将该搜索关键字按卖家名称进行搜索,从而输出该卖家名称相关的收藏商品;将该搜索关键字按商品品类进行搜索,从而输出该商品品类相关的收藏商品;将该搜索关键字按商品价格进行搜索,从而输出符合价格范围的相关收藏商品;将该搜索关键字按商品发布时间进行搜索,从而输出符合该商品发布时间的相关收藏商品。

或如,用户在收藏夹页面选择搜索类别为店铺,并输入搜索关键字,系统则生成在卖家名称、店铺主营、卖家信用等级中进行搜索的搜索条件。具体而言,将该搜索关键字按卖家名称进行搜索,从而输出该卖家名称相关的收藏店铺;将该搜索关键字按店铺主营进行搜索,从而输出该店铺主营类目相关的收藏店铺;将该搜索关键字按卖家信用等级进行搜索,从而输出符合该卖家信用等级的相关收藏店铺。

或如,用户在收藏夹页面选择搜索类别为扩展,并输入搜索关键字,系统则生成在用户备注信息、店铺促销信息中进行搜索的搜索条件。具体而言,将该搜索关键字按备注信息进行搜索,从而输出含有该用户备注信息的收藏商品和店铺;将该搜索关键字按店铺的促销信息进行搜索,从而输出收藏店铺内符合促销条件的商品。

本申请实施例通过把可以作为搜索条件的关键字段数据(收藏内容的扩展信息)从内容数据库中复制出来,作为收藏夹信息的一部分,并建立相应索引和更新机制,以满足用户多维度查询的需求。

本申请实施例能提供给用户多元化的搜索条件和搜索方式,如上例所实现的收藏商品的相关内容搜索(包括收藏商品的店铺和卖家搜索、收藏商品的品类搜索、收藏商品的价格搜索、收藏商品的发布时间搜索等);收藏店铺的相关内容搜索(包括收藏店铺的卖家搜索、收藏店铺的主营搜索、收藏店铺的信用等级搜索等);以及,收藏内容的扩展内容搜索(包括收藏店铺的促销商品搜索、用户备注信息搜索等),从而满足用户实际使用的需求,提升用户收藏夹的使用方便性。

当然,上述方法仅仅用作示例,在实际中,本领域技术人员可以根据业务需求任意扩展搜索条件,本发明对此无需加以限制。

需要说明的是,本申请对收藏夹数据搜索过程中所采用的搜索方式并不加以限制,本领域技术人员可以根据实际数据量的大小选用不同的搜索算法,本申请对此不作限制。

为使本领域技术人员更好地理解本发明,以下通过一个采用现有技术进行用户收藏夹数据搜索的示例,以及一个采用本发明进行用户收藏夹数据搜索的示例,对比说明本发明的优点。

采用现有技术进行用户收藏夹数据搜索的示例A:

A1、用户在收藏夹页面选择收藏商品的“按卖家名称进行搜索”,并输入搜索关键字;

A2、根据输入的搜索关键字,在网站的用户数据库中进行搜索,搜索出模糊匹配关键字的相应卖家名称的列表;

A3、根据列表中的卖家名称,在网站的店铺数据库中进行搜索,搜索出相应店铺名称的列表;

A4、根据列表中的店铺名称,在收藏数据库中进行搜索,搜索出该用户收藏夹中相应店铺名称的收藏商品;

A5、向用户返回搜索出的收藏商品记录。

采用本发明实施例进行用户收藏夹数据搜索的示例B:

B1、用户在收藏夹页面选择收藏商品的“按卖家名称进行搜索”,并输入搜索关键字;

B2、根据用户ID,从索引信息中提取对应的收藏夹数据库标识;

B3、根据用户ID和搜索关键字,在对应的收藏夹数据库的收藏夹信息中搜索“卖家名称”字段的相关内容,进行模糊匹配;

B4、返回搜索出的收藏的商品记录。

可以看出,采用目前技术进行收藏夹信息搜索要在用户数据库、容器数据库、产品数据库三个亿级以上的数据库中分别搜索,而这个三个数据库的数据规模都很大,实际上系统性能无法操作,也就无法支持这么多种业务条件的收藏数据搜索;而本申请实施例由于对整个数据存储结构做了全新的设计,把可以作为搜索条件的关键字段数据(即扩展信息)从业务数据库中复制出来,作为收藏夹信息的一部分,并建立相应索引和据更新机制,并采用了分布式的存储架构,并以用户维度进行分库存储运算。从而解决了海量数据搜索的问题,实现了用户多元化的收藏夹信息的搜索方案,使用户能快速、有效地搜索到所需的收藏夹信息,提高收藏夹的使用价值,提升收藏夹的使用体验,并能节省系统资源,提升系统性能。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

参照图5,示出了本申请的一种业务对象的收藏装置实施例的结构框图,具体可以包括如下模块:

收藏夹信息生成模块501,用于在接收到用户标识针对业务对象发送的收藏请求时,针对所述业务对象的业务信息生成收藏夹信息;

目标收藏夹数据库计算模块502,用于根据所述用户标识在预置的多个收藏夹数据库中计算目标收藏夹数据库;

收藏夹信息存储模块503,用于将所述收藏夹信息存储至所述目标收藏夹数据库中;

索引信息生成模块504,用于针对所述收藏夹信息生成索引信息。

在本申请的一个实施例中,所述业务信息包括基础信息和扩展信息;所述收藏夹信息生成模块501可以包括如下子模块:

类型识别子模块,用于识别所述业务对象的类型;

基础信息记录子模块,用于记录所述业务对象的基础信息;

扩展信息记录子模块,用于按照所述类型记录从预置的一个或多个业务数据库中提取所述业务对象的扩展信息;

信息生成子模块,用于采用所述基础信息和所述扩展信息生成收藏夹信息。

在本申请实施例的一个示例中,所述基础信息可以包括如下的一种或多种:

收藏夹标识、用户标识、收藏夹类型、业务对象标识、收藏时间、数据有效标识、失效时间;

其中,所述收藏夹类型包括收藏产品对象,或者,收藏容器对象;

所述业务对象标识包括产品标识,或者,容器数据对象所有者的所有者标识。

在本申请实施例的一个示例中,所述业务数据库包括产品对象数据库、容器对象数据库中的至少一种;

其中,所述产品对象数据库用于记录与产品对象相关的信息;

所述容器对象数据库用于记录与容器对象相关的信息,所述容器对象容纳一个或多个产品对象;

所述扩展信息记录子模块可以包括如下单元:

第一提取单元,用于在所述业务对象的类型为产品对象时,从所述产品对象数据库中提取如下的一种或多种业务信息作为扩展信息:

容器对象名称、容器对象所有者的名称、产品品类、产品价值、产品发布时间;

和/或,

第二提取单元,用于在所述业务对象的类型为容器对象时,从所述容器对象数据库中提取如下一种或多种业务信息作为扩展信息:

容器对象所有者的名称、容器对象的主要业务范围、容器对象所有者的信用等级;

和/或,

第三提取单元,用于提取容器对象的业务活动信息、备注信息中的一种或多种作为扩展信息。

在具体实现中,同一个用户标识的收藏夹信息存储在同一个收藏夹数据库中。

在本申请实施例的一个示例中,所述目标收藏夹数据库计算模块502可以包括如下子模块:

字符串生成子模块,用于基于所述用户标识生成一字符串;

数值生成子模块,用于基于所述字符串生成一数值,作为目标收藏夹数据库的数据库标识。

在本申请实施例的一个示例中,所述索引信息生成模块504可以包括如下子模块:

标识生成子模块,用于采用所述用户标识、所述收藏夹信息的收藏夹标识、所述目标收藏夹数据库的数据库标识生成索引信息。

在本申请的一个实施例中,该装置还可以包括如下模块:

变化查找模块,用于在业务数据库中的业务数据发生变化时,在预置的一个或多个收藏数据库查找所述业务数据对应的扩展信息;

扩展信息更新模块,用于采用所述业务数据更新所述扩展信息。

在本申请的一个实施例中,该装置还可以包括如下模块:

收藏夹标识查找模块,用于在接收到收藏夹信息的删除请求时,查找所述收藏夹信息的收藏夹标识;

索引信息查找模块,用于查找所述收藏夹标识对应的索引信息;

收藏夹数据库定位模块,用于基于所述索引信息记录的数据库标识定位收藏夹数据库;

收藏夹信息删除模块,用于在所述收藏夹数据库中删除所述收藏夹标识对应的收藏夹信息;

索引信息删除模块,用于删除所述索引信息。

参照图6,示出了本申请的一种业务对象的搜索装置实施例的结构框图,具体可以包括如下模块:

索引信息查找模块601,用于在接收到某一用户标识发送的搜索请求时,查找所述用户标识对应的一个或多个索引信息;

收藏夹数据库查找模块602,用于根据所述索引信息中查找所述用户标识对应的收藏夹数据库;

收藏夹信息查找模块603,用于在所述收藏夹数据库中查找收藏夹信息;

业务信息搜索模块604,用于根据所述搜索请求在所述收藏夹数据库的所述收藏夹信息中进行搜索,获得业务对象的业务信息。

在本申请的一个实施例中,所述索引信息记录用户标识、收藏夹标识和数据库标识之间的关联关系;同一个用户标识的收藏夹信息存储在同一个收藏夹数据库中。

所述收藏夹数据库查找模块602可以包括如下子模块:

数据库标识查找子模块,用于查找所述用户标识关联的数据库标识;

收藏夹数据库查找子模块,用于查找所述数据库标识对应的收藏夹数据库;

所述收藏夹信息查找模块603可以包括如下子模块:

标识查找子模块,用于在所述收藏夹数据库中查找所述收藏夹标识对应的收藏夹信息。

在本申请的一个实施例中,所述搜索请求中包括搜索关键字、搜索参数;所述收藏夹信息中记录的业务对象的业务信息包括基础信息和扩展信息;

所述业务信息搜索模块604可以包括如下子模块:

扩展信息搜索子模块,用于采用所述搜索关键字在所述收藏夹信息的扩展信息中按照所述搜索参数进行搜索,获得业务对象的业务信息。

在本申请实施例的一个示例中,所述搜索参数为所述搜索关键的字符类型;

所述扩展信息搜索子模块可以包括如下单元:

数字搜索单元,用于在所述搜索关键字的字符类型为数字时,采用所述搜索关键字在所述扩展信息中用于存储数字的字段中进行搜索;

文本搜索单元,用于在所述搜索关键字的字符类型为文本时,采用所述搜索关键字在所述扩展信息中用于存储文本的字段中进行搜索。

在具体实现中,所述扩展信息中用于存储数字的字段包括如下的一种或多种:

产品价值、业务活动信息;

所述扩展信息中用于存储文本的字段包括如下的一种或多种:

产品品类、产品发布时间、容器对象名称、容器对象所有者的名称、容器对象的主要业务范围、容器对象所有者的信用等级、备注信息。

在本申请实施例的另一个示例中,所述搜索参数为所述搜索类别;

所述扩展信息搜索子模块可以包括如下单元:

产品对象搜索单元,用于在所述搜索类别为产品对象搜索时,采用所述搜索关键字在产品对象的扩展信息中进行搜索;

容器对象搜索单元,用于在所述搜索类别为容器对象搜索时,采用所述搜索关键字在容器对象的扩展信息中进行搜索;

扩展对象搜索单元,用于在所述搜索类别为扩展对象搜索时,采用所述搜索关键字在指定的扩展信息中进行搜索。

在实际应用中,所述产品对象的扩展信息包括如下的一种或多种:

容器对象名称、容器对象所有者的名称、产品品类、产品价值、产品发布时间;

所述容器对象的扩展信息包括如下的一种或多种:

容器对象所有者的用户名称、容器对象的主要业务范围、容器对象所有者的信用等级;

所述指定的扩展信息包括如下的一种或多种:

容器对象的业务活动信息、备注信息。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

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