掌桥专利:专业的专利平台
掌桥专利
首页

搜索数据同步方法及其装置、设备、介质、产品

文献发布时间:2023-06-19 18:35:48


搜索数据同步方法及其装置、设备、介质、产品

技术领域

本申请涉及网络电商领域,尤其涉及一种搜索数据同步方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。

背景技术

现有的网络电商独立站平台会向其平台中的电商独立站提供搜索服务,以便进入电商独立站进行电商购物的买家用户可通过搜索服务在电商独立站搜索对应的商品或订单信息,且网络电商独立站平台向平台中大部分的电商独立站所提供的搜索服务为共用的搜索服务,即平台中各电商独立站共同使用同一服务器集群所维护的搜索服务,以便于平台对搜索服务进行维护。

当任一电商独立站上架新的商品或产生新的订单后,将向对应的业务数据库存储商品数据信息或订单数据信息,以便平台将数据同步至搜索服务中,供买家用户通过搜索服务查询新上架的商品或进行网购所对应订单信息,但当电商独立站上架大量的商品或产生大量的订单时,并发的巨量数据对于数据同步服务而言负担较大,易造成数据同步服务发生崩溃,导致买家用户无法通过搜索系统查询新上架的商品或其订单信息,且因搜索服务为共用服务,数据同步服务的崩溃,也将影响网络电商独立站平台中其他的电商独立站。

鉴于现有的作用于搜索服务面的数据同步服务处理并发数据所存在的问题,本申请人出于解决该问题的考虑做出相应的探索。

发明内容

本申请的目的在于满足用户需求而提供一种搜索数据同步方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。

为实现本申请的目的,采用如下技术方案:

适应本申请的目的而提出的一种搜索数据同步方法,包括如下步骤:

响应作用于业务数据库的搜索数据增量事件,获取该搜索数据增量事件所对应的多个增量搜索数据,并确定该些增量搜索数据所对应的电商独立站;

统计所述电商独立站的增量数据流量,校验该增量数据流量是否满足预设的数据限流规则,若不满足,则将各所述增量搜索数据推送至数据版本校验器中;

当所述增量数据流量满足所述数据限流规则,则将各所述增量搜索数据推送至限流推送器中,以驱动该限流推送器基于限速推送规则限速推送各所述增量搜索数据至所述数据版本校验器中;

驱动所述数据版本校验器校验各增量搜索数据的数据版本,将数据版本较晚的增量搜索数据推送至电商搜索服务中。

进一步的实施例中,响应作用于业务数据库的搜索数据增量事件,获取该搜索数据增量事件所对应的多个增量搜索数据,并确定该些增量搜索数据所对应的电商独立站的步骤中,包括如下步骤:

响应所述搜索数据增量事件,获取该搜索数据增量事件所对应的数据操作日志;

根据所述数据操作日志中包含的多个业务数据标识,从所述业务数据库中获取该些业务数据标识所对应的增量搜索数据;

确定所述数据操作日志所对应的电商独立站,并将各所述增量搜索数据推送至待消费数据队列。

进一步的实施例中,统计所述电商独立站的增量数据流量,校验该增量数据流量是否满足预设的数据限流规则或当所述增量数据流量满足所述数据限流规则,则将各所述增量搜索数据推送至限流推送器中的步骤中,包括如下步骤:

在预设的统计时间窗口内统计所述待消费数据队列中当前电商独立站所对应的增量搜索数据数量;

判断所述增量搜索数据数量是否超过预设的限流数据量,若未超过,则将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至数据版本校验器;

当所述增量搜索数据数量超过预设的限流数据量时,在预设的限流时间窗口中将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至限流推送器中。

进一步的实施例中,驱动该限流推送器基于限速推送规则限速推送各所述增量搜索数据至所述数据版本校验器中的步骤中,包括如下步骤:

将当前最新获取的增量搜索数据存储至限流数据队列的首位存储位置;

将所述限流数据队列中处于末尾存储位置的增量搜索数据推送至数据版本校验器;

以此类推,处理作用于所述限流数据队列的增量搜索数据的存储及推送,并根据预设的数据推送速度控制增量搜索数据的推送速度。

进一步的实施例中,驱动所述数据版本校验器校验各增量搜索数据的数据版本,将数据版本较晚的增量搜索数据推送至电商搜索服务中的步骤中,包括如下步骤:

确定最新获取的增量搜索数据的数据存储时间戳及数据特征信息,将数据存储时间戳、数据特征信息与所述增量搜索数据对应存储至版本校验缓存空间中,所述数据特征信息中包含电商独立站标识及数据属性标识;

查询出所述版本校验缓存空间中具有相同数据特征信息的多个目标增量搜索数据,比较该些目标增量搜索数据各自的数据存储时间戳;

将所述数据存储时间戳较晚的目标增量搜索数据推送至电商搜索服务中,并其他目标增量搜索数据从所述版本校验缓存空间中移除。

进一步的实施例中,本方法包括如下后置步骤:

响应所述搜索数据增量事件,获取该搜索数据增量事件所对应的数据操作日志;

根据所述数据操作日志中包含的多个业务数据标识,从所述业务数据库中获取该些业务数据标识所对应的增量搜索数据;

确定所述数据操作日志所对应的电商独立站,当该电商独立站为限流处理电商独立站时,将各所述增量搜索数据推送至所述限流推送器中。

适应本申请的目的而提出的一种搜索数据同步装置,其包括:

增量数据获取模块,用于响应作用于业务数据库的搜索数据增量事件,获取该搜索数据增量事件所对应的多个增量搜索数据,并确定该些增量搜索数据所对应的电商独立站;

数据流量校验模块,用于统计所述电商独立站的增量数据流量,校验该增量数据流量是否满足预设的数据限流规则,若不满足,则将各所述增量搜索数据推送至数据版本校验器中;

数据限流推送模块,用于当所述增量数据流量满足所述数据限流规则,则将各所述增量搜索数据推送至限流推送器中,以驱动该限流推送器基于限速推送规则限速推送各所述增量搜索数据至所述数据版本校验器中;

数据版本校验模块,用于驱动所述数据版本校验器校验各增量搜索数据的数据版本,将数据版本较晚的增量搜索数据推送至电商搜索服务中。

进一步的实施例中,所述增量数据获取模块包括:

操作日志获取子模块,用于响应所述搜索数据增量事件,获取该搜索数据增量事件所对应的数据操作日志;

业务数据获取子模块,用于根据所述数据操作日志中包含的多个业务数据标识,从所述业务数据库中获取该些业务数据标识所对应的增量搜索数据;

增量数据存储子模块,用于确定所述数据操作日志所对应的电商独立站,并将各所述增量搜索数据推送至待消费数据队列。

进一步的实施例中,所述数据流量校验模块包括:

数据数量统计子模块,用于在预设的统计时间窗口内统计所述待消费数据队列中当前电商独立站所对应的增量搜索数据数量;

数据数量校验子模块,用于判断所述增量搜索数据数量是否超过预设的限流数据量,若未超过,则将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至数据版本校验器;

限流数据推送子模块,用于当所述增量搜索数据数量超过预设的限流数据量时,在预设的限流时间窗口中将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至限流推送器中。

进一步的实施例中,所述数据限流推送模块包括:

数据存储子模块,用于将当前最新获取的增量搜索数据存储至限流数据队列的首位存储位置;

数据推送子模块,用于将所述限流数据队列中处于末尾存储位置的增量搜索数据推送至数据版本校验器;

推送速度控制子模块,用于以此类推,处理作用于所述限流数据队列的增量搜索数据的存储及推送,并根据预设的数据推送速度控制增量搜索数据的推送速度。

进一步的实施例中,所述数据版本校验模块包括:

映射数据缓存子模块,用于确定最新获取的增量搜索数据的数据存储时间戳及数据特征信息,将数据存储时间戳、数据特征信息与所述增量搜索数据对应存储至版本校验缓存空间中,所述数据特征信息中包含电商独立站标识及数据属性标识;

存储时间比较子模块,用于查询出所述版本校验缓存空间中具有相同数据特征信息的多个目标增量搜索数据,比较该些目标增量搜索数据各自的数据存储时间戳;

增量数据推送子模块,用于将所述数据存储时间戳较晚的目标增量搜索数据推送至电商搜索服务中,并其他目标增量搜索数据从所述版本校验缓存空间中移除。

为解决上述技术问题本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述搜索数据同步方法的步骤。

为解决上述技术问题本申请实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述搜索数据同步方法的步骤。

为解决上述技术问题本申请实施例还提供一种计算机程序产品,包括计算机程序及计算机指令,该计算机程序及计算机指令被处理器执行时,使得所述处理器执行上述所述搜索数据同步方法的步骤。

相对于现有技术,本申请的优势如下:

本申请可限制具有巨量的增量搜索数据的电商独立站进行数据限流推送,以防止数据同步服务无法处理高排放的增量搜索数据导致系统发生崩溃,导致平台中新增的业务数据无法推送至电商搜索服务中;通过响应增量事件获取业务数据库中最新添加的业务数据作为增量搜索数据,并对该些数据所属的电商独立站进行数据流量统计,以判断对该电商独立站的增量数据是否超量,需将该电商独立站作为限流电商独立站对其增量搜索数据进行数据限流推送处理;由此可知,本申请可针对平台中任一电商独立站的增量数据进行限流推送至电商搜索服务中,而无需对平台中所有电商独立站的增量数据进行全局推送,防止影响其他增量数据流量正常的电商独立站的数据推送,保证平台中其他流量正常的电商独立站的买家用户可快速地使用电商搜索服务搜索新上架的商品或其新生成的订单。

其次,本申请将对增量搜索数据进行数据版本校验以筛选最新版本的数据进行推送,通过数据版本校验器将同一电商独立站且同一数据类型的增量搜索数据中数据版本最新的增量搜索数据推送至电商搜索服务中,保证电商搜索服务获取的数据为具有时效性的数据,且保证买家用户通过电商搜索服务所搜索的结果为最新的商品或订单。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为实施本申请的技术方案相关的一种典型的网络部署架构示意图;

图2为本申请的搜索数据同步方法的典型实施例的流程示意图;

图3为本申请中关于获取搜索数据增量事件所对应的增量搜索数据的具体实施方式所形成的流程示意图;

图4为本申请中关于校验电商独立站的增量数据流量是否满足数据限流规则的具体实施方式所形成的流程示意图;

图5为本申请中关于限流推送器基于限流推送规则对增量搜索数据进行限流推送的具体实施方式所形成的流程示意图;

图6为本申请中关于数据版本校验器校验增量搜索数据的数据版本的具体实施方式所形成的流程示意图;

图7为本申请中关于后续处理限流处理电商独立站的增量搜索数据的具体实施方式所形成的流程示意图;

图8为本申请的搜索数据同步装置的典型实施例的原理框图;

图9为本申请一个实施例的计算机设备的基本结构框图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;传统膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的传统膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本申请所称的“服务器”、“客户端”、“工作节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。

需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。

请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称服务器80部署在云端,作为一个在线服务器,其可以负责进一步连接起相关数据服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82或者第三方服务器(未图示)提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据通信链路,以便运行所述服务器所提供的服务相关的终端应用程序。

对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。

所述的应用程序,是指运行于服务器或终端设备上的应用程序,这一应用程序采用编程的方式实现了本申请的相关技术方案,其程序代码可被以计算机可执行指令的形式保存于计算机能识别的非易失性存储介质中,并被中央处理器调入内存中运行,通过该应用程序在计算机的运行而构造出本申请的相关装置。

对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。

本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。

请参阅图2,本申请的一种搜索数据同步方法,在其典型实施例中,其包括如下步骤:

步骤S11,响应作用于业务数据库的搜索数据增量事件,获取该搜索数据增量事件所对应的多个增量搜索数据,并确定该些增量搜索数据所对应的电商独立站:

所述电商独立站与传统的网络电商平台中的电商商铺不同,电商独立站拥有独立的网络电商在线服务,可将电商独立站看作一个传统的网络电商平台,电商独立站的买家用户为自身所拥有的用户群体,不像传统的网络电商平台中各电商商铺的买家用户为平台所拥有的平台用户,但网络电商独立站平台会向平台下的电商独立站提供相应的网络电商功能,例如,向独立站提供搜索功能,各独立站可使用搜索功能向其自身具有的买家用户提供搜索独立站内的商品或订单的电商搜索服务。

所述的业务数据库用于存储平台中各电商独立站的商品数据及订单数据等电商独立站的业务数据,业务数据库将各业务数据与表征其对应的电商独立站及业务数据类型的业务数据标识进行映射存储,以便服务器根据业务数据标识,从所述业务数据库中查询出与所述业务数据标识相对应的业务数据,进而将该业务数据作为所述增量搜索数据传输至电商搜索服务中。

所述的搜索数据增量事件是指向所述业务数据库存储新的业务数据所触发的事件,对于电商独立站平台而言,当平台中任一电商独立站上架新的商品后,服务器将新上架的商品的商品数据存储至所述业务数据库中,将触发作用于该些商品数据的所述搜索数据增量事件,或者当一个或多个买家用户在任一电商独立站进行网络购物后,将生成对应的订单数据,该些订单数据将被服务器存储至所述业务数据库中,并触发作用于该些订单数据的搜索数据增量事件。

所述的搜索数据增量事件具有对应的数据操作日志,该数据操作日志中将记录新存储至所述业务数据库的业务数据各自对应的业务数据标识,且该数据操作日志中将记录该些业务数据所属的电商独立站,服务器响应所述搜索数据增量事件后,将获取该搜索数据增量事件所对应的数据操作日志,以根据所述数据操作日志中包含的多个业务数据标识,从所述业务数据库中查询出该些业务数据标识所对应的业务数据作为所述增量搜索数据,确定所述数据操作日志所对应的电商独立站。

所述的增量搜索数据是指需同步推送至所述电商搜索服务的业务数据,通过将所述业务数据库中新增的业务数据推送至所述电商搜索服务中,以便买家用户通过该电商搜索服务查询某一电商独立站新上架的商品或买家用户在某一电商平台中进行购物所生成的订单。

步骤S12,统计所述电商独立站的增量数据流量,校验该增量数据流量是否满足预设的数据限流规则,若不满足,则将各所述增量搜索数据推送至数据版本校验器中:

服务器获取所述搜索数据增量事件所对应的增量搜索数据并确定该谢增量搜索数据所对应的电商独立站后,将统计该电商独立站的所述增量数据流量,所述增量数据流量是指单位时间内需为电商独立站推送至所述电商搜索服务中的搜索增量数据的数量,对于具有较大的增量数据流量的电商独立站的搜索增量数据,服务器需限制该些搜索增量数据的推送速度,以防止并发的巨量数据传输影响服务器所执行的数据同步服务的稳定性。

服务器获取任一电商独立站的所述增量搜索数据后,该些增量搜索数据存储至待消费数据队列中,以形成数据流便于服务器统计各电商独立站的所述增量数据流量,具体的,服务器在预设的统计时间窗口内统计所述待消费数据队列中各电商独立站所对应的增量搜索数据数量,判断所述增量搜索数据数量是否超过预设的限流数据量,若未超过,则服务器将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至数据版本校验器,若超过则服务器在预设的限流时间窗口中将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至限流推送器中。

所述的数据限流规则中预设了对应的限流数据量,以便服务器根据校验各电商独立站的所述增量数据流量是否超过该限流数据量,对于增量数据流量超过该限流数据流的电商独立站将确定其满足所述数据限流规,对于增量数据流量未超过该限流数据流的电商独立站将确定其不满足所述数据限流规。

一种实施例中,被确定增量数据流量满足所述数据限流规则的电商独立站,将被赋予用于表征其为限流独立站的限流标识,服务器在获取具有所述限流标识的电商独立站的所述搜索增量数据后,将该搜索增量数据直接推送至所述限流推送器中,而无需统计所述电商独立站的增量数据流量进行限流校验。

所述的数据版本校验器用于校验搜索增量数据的数据版本,以防止最新存储至所述业务数据库中的搜索增量数据并较早存储的搜索增量数据覆盖,即为所述电商搜索服务筛选最新的搜索增量数据;所述数据版本校验器的具体实施方式请参考后续步骤,本步骤恕不赘述。

步骤S13,当所述增量数据流量满足所述数据限流规则,则将各所述增量搜索数据推送至限流推送器中,以驱动该限流推送器基于限速推送规则限速推送各所述增量搜索数据至所述数据版本校验器中:

若当前获取的增量搜索数据所属的电商独立站的所述增量数据流量满足所述数据限流规则,则服务器将该增量搜索数据推送至所述限流推送器中,以控制该些增量搜索数据的推送速度。

所述的限流推送器基于所述限流推送规则限速推送其所接收到的各所述增量搜索数据,所述的限流推送规则中包含对应的数据推送速度以控制所述限流推送器推送各所述增量搜索数据的推送速度,且所述限流推送器将根据限流推送规则对各所述增量搜索数据进行队列存储及队列推送,具体的,服务器获取最新接收的增量搜索数据后,将该增量搜索数据存储至限流数据队列中最靠前的存储位置,以基于队列的先入先出的规则进行按序的增量搜索数据推送,相应的,所述限流推送器将所述限流数据队列中最靠后的存储位置存储的增量搜索数据推送至所述数据版本校验器中,以此类推,所述限流推送器将其所接收到的各增量搜索数据存储至所述限流数据队列中及进行存储至该限流数据队列中各增量搜索数据的推送,并根据所述限流推送规则中预设的所述数据推送速度控制所述限流数据队列中各增量搜索数据的推送至所述数据版本校验器中的推送速度。

步骤S14,驱动所述数据版本校验器校验各增量搜索数据的数据版本,将数据版本较晚的增量搜索数据推送至电商搜索服务中:

所述数据版本校验器将对其所接收到的各增量搜索数据进行数据版本校验,搜索数据版本校验器接收到增量搜索数据后,将获取该增量搜索数据的数据存储时间戳及数据特征信息,所述数据存储时间戳是指增量搜索数据存储至所述业务数据库的存储时间,所述数据特征信息中包含电商独立站标识及数据属性标识,所述电商独立站标识用于表征增量搜索数据所属的电商独立站,所述数据属性标识用于表征增量搜索数据的数据属性,例如,当增量搜索数据为订单数据时,则所述数据属性标识将表征该增量搜索数据的订单号或其他表征其为对应的订单的唯一标识码,当增量搜索数据为商品数据时,则所述数据属性标识将表征该增量搜索数据的商品号或其他表征其为对应的商品的唯一标识码。

所述数据版本校验器获取增量搜索数据的所述数据存储时间戳及数据特征信息,将该增量搜索数据、所述数据存储时间戳及数据特征信息作为增量映射关系数据存储至版本校验缓存空间中,所述版本校验缓存空间中缓存着多个所述增量映射关系数据,以便所述数据版本校验器根据该版本校验缓存空间中各增量搜索数据映射对应存储的数据存储时间戳及数据特征信息,对该些增量搜索数据进行版本校验,具体的,所述数据版本校验器查询出所述版本校验缓存空间中具有相同数据特征信息的多个目标增量搜索数据,即为同一电商独立站且数据属性标识相同的增量搜索数据,以比较该些目标增量搜索数据各自的数据存储时间戳,确定出所述数据存储时间戳较晚的目标增量搜索数据作为数据版本较晚的增量搜索数据推送至电商搜索服务中,并将其他数据版本较早的目标增量搜索数据从所述版本校验缓存空间中移除。

所述的电商搜索服务是指由网络电商独立站平台向平台下各电商独立站所提供的商品或订单搜索服务,该搜索服务一般为共有搜索服务,处于电商独立站的买家用户可通过所述电商搜索服务搜索电商独立站中所具有的商品或其在电商独立站中网购所对应的订单,例如对于提供商品搜索的电商搜索服务而言,买家用户端通过其所处的独立站的搜索功能输入相应的搜索文本后可触发生成包含该搜索文本的搜索请求,并将该搜索请求推送至所述电商搜索服务中,所述电商搜索服务获取与所述搜索文本相对应的一个或多个商品的业务数据作为搜索结果推送至所述买家用户端中,以便所述买家用户端接收该些业务数据后将对应的商品对象输出至图形用户界面中显示,进而供处于买家用户端的买家用户浏览该些商品对象进行网络购物。

通过本方法的典型实施例可知,本方法可限制具有巨量的增量搜索数据的电商独立站进行数据限流推送,以防止数据同步服务无法处理高排放的增量搜索数据导致系统发生崩溃,导致平台中新增的业务数据无法推送至电商搜索服务中;通过响应增量事件获取业务数据库中最新添加的业务数据作为增量搜索数据,并对该些数据所属的电商独立站进行数据流量统计,以判断对该电商独立站的增量数据是否超量,需将该电商独立站作为限流电商独立站对其增量搜索数据进行数据限流推送处理;由此可知,本方法可针对平台中任一电商独立站的增量数据进行限流推送至电商搜索服务中,而无需对平台中所有电商独立站的增量数据进行全局推送,防止影响其他增量数据流量正常的电商独立站的数据推送,保证平台中其他流量正常的电商独立站的买家用户可快速地使用电商搜索服务搜索新上架的商品或其新生成的订单。

其次,本方法将对增量搜索数据进行数据版本校验以筛选最新版本的数据进行推送,通过数据版本校验器将同一电商独立站且同一数据类型的增量搜索数据中数据版本最新的增量搜索数据推送至电商搜索服务中,保证电商搜索服务获取的数据为具有时效性的数据,且保证买家用户通过电商搜索服务所搜索的结果为最新的商品或订单。

以上的典型实施例及其变化实施例充分揭示了本申请的搜索数据同步方法的实施方案,但是,仍可通过对一些技术手段的变换和扩增而演绎出该方法的多种变化实施例,如下概要说明其他实施例:

一种实施例中,请参考图3,响应作用于业务数据库的搜索数据增量事件,获取该搜索数据增量事件所对应的多个增量搜索数据,并确定该些增量搜索数据所对应的电商独立站的步骤中,包括如下步骤:

步骤S111,响应所述搜索数据增量事件,获取该搜索数据增量事件所对应的数据操作日志:

所述的数据操作日志是指记录向所述业务数据库存储增量的业务数据的日志,该数据操作日志中存储着向所述业务数据库存储增量的各业务数据的业务数据标识,且该数据操作日志具有表征其所属的电商独立站所对应的独立站标识。

步骤S112,根据所述数据操作日志中包含的多个业务数据标识,从所述业务数据库中获取该些业务数据标识所对应的增量搜索数据:

所述的业务数据标识表征其所对应的业务数据在所述业务数据库中的存储位置,服务器查询出所述业务数据库中与该些业务数据标识所对应的业务数据,将该些业务数据作为所述增量搜索数据以进行数据同步处理。

步骤S113,确定所述数据操作日志所对应的电商独立站,并将各所述增量搜索数据推送至待消费数据队列:

所述的待消费数据队列中用于存储服务器从业务数据库中获取的各增量搜索数据,服务器将通过所述待消费数据队列统计各电商独立站的增量数据流量,且通过所述待消费数据队列将各增量搜索数据以数据流的方式推送至所述限流推送器或数据版本校验器中。

本实施例中,数据操作日志中记录着新存储至业务数据库的业务数据,以便通过该数据操作日志将新的增量数据作为增量搜索数据进行获取以进行数据同步,且通过待消费数据队列以数据流方式进行增量搜索数据的推送,以有序地推送各增量搜索数据,防止无序推送造成数据堵塞。

一种实施例中,请参考图4,统计所述电商独立站的增量数据流量,校验该增量数据流量是否满足预设的数据限流规则或当所述增量数据流量满足所述数据限流规则,则将各所述增量搜索数据推送至限流推送器中的步骤中,包括如下步骤:

步骤S121,在预设的统计时间窗口内统计所述待消费数据队列中当前电商独立站所对应的增量搜索数据数量:

所述的统计时间窗口一般设置在10-15秒以秒为单位时间的时间范围内,或者设置在1-2分钟以分钟为单位时间的时间范围内,本领域技术人员可灵活设计所述统计时间窗口的时间范围,恕不赘述。

服务器获取任一电商独立站的所述增量搜索数据后,该些增量搜索数据存储至待消费数据队列中,以形成数据流便于服务器统计各电商独立站的所述增量搜索数据数量。

步骤S122,判断所述增量搜索数据数量是否超过预设的限流数据量,若未超过,则将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至数据版本校验器:

服务器统计出任一电商独立站的所述增量搜索数据数量后,将判断该增量搜索数据数量是否超过预设的限流数据量,所述限流数据量基于所述统计时间窗口进行设计,对于不同时间单位设置的时间范围将具有对应的限流数据量,例如,当统计时间窗口一般设置在10秒以秒为单位时间的时间范围内时,所述限流数据量一般设置在500至1000的数据量范围中。

对于所述增量搜索数据数量未超过所述限流数据量的电商独立站,该些电商独立站的增量搜索数据将直接推送至所述数据版本校验器中,无需推送至所述限流推送器中限制数据的推送速度。

步骤S123,当所述增量搜索数据数量超过预设的限流数据量时,在预设的限流时间窗口中将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至限流推送器中:

所述的限流时间窗口一般设置在5-10或20-30分钟的时间范围内,对于所述增量搜索数据数量超过所述限流数据量的电商独立站,该些电商独立站在所述限流时间窗口内将被推送到所述限流推送器中,以便该限流推送器限速推送该些数据并发的电商独立站的增量搜索数据。

本实施例中,实时统计平台中各电商独立站推送增量搜索数据的数据量,以将数据量过高的电商独立站的增量搜索数据推送至限速推送器中进行限速推送,防止并发的数据量推送导致数据同步服务发生崩溃。

一种实施例中,请参考图5,驱动该限流推送器基于限速推送规则限速推送各所述增量搜索数据至所述数据版本校验器中的步骤中,包括如下步骤:

步骤S131,将当前最新获取的增量搜索数据存储至限流数据队列的首位存储位置:

所述的限流数据队列用于存储推送至数据版本校验器的增量搜索数据,所述限流数据队列依照先入先出的规则将其存储的增量搜索数据按序推送至所述数据版本校验器中,所述限流推送器将确定其所接收到的各增量搜索数据的接收时间,将接收时间最早的增量搜索数据优先存储至所述数据推送队列中。

步骤S132,将所述限流数据队列中处于末尾存储位置的增量搜索数据推送至数据版本校验器:

所述限流推送器依照先入队先出队的规则,将所述限流数据推送队列中当前处于末尾存储位置的增量搜索数据推送至所述数据版本校验器中。

步骤S133,以此类推,处理作用于所述限流数据队列的增量搜索数据的存储及推送,并根据预设的数据推送速度控制增量搜索数据的推送速度:

所述限流推送器将所述限流数据队列中先入队的增量搜索数据优先出队推送至所述数据版本校验器中,以形成数据流进行各所述增量搜索数据的数据推送至所述数据版本校验器中。

所述限流推送器根据预设的所述数据推送速度推送所述限流数据队列中各增量搜索数据的推送速度,该数据推送速度一般设置在每秒500至1000个数据,本领域技术人员可灵活设计所述数据推送速度,恕不赘述。

本实施例中,通过对高并发推送数据的电商独立站的增量搜索数据进行数据推送限速处理,以防止高排放的数据推送堵塞数据通信链路且保证数据版本校验器可稳定处理增量搜索数据,同时通过队列的方式进行数据推送以形成数据流,便于数据版本校验器的数据接收秩序。

一种实施例中,请参考图6,驱动所述数据版本校验器校验各增量搜索数据的数据版本,将数据版本较晚的增量搜索数据推送至电商搜索服务中的步骤中,包括如下步骤:

步骤S141,确定最新获取的增量搜索数据的数据存储时间戳及数据特征信息,将数据存储时间戳、数据特征信息与所述增量搜索数据对应存储至版本校验缓存空间中,所述数据特征信息中包含电商独立站标识及数据属性标识:

所述数据存储时间戳是指增量搜索数据存储至所述业务数据库的存储时间,所述数据特征信息中包含电商独立站标识及数据属性标识,所述电商独立站标识用于表征增量搜索数据所属的电商独立站,所述数据属性标识用于表征增量搜索数据的数据属性,例如,当增量搜索数据为订单数据时,则所述数据属性标识将表征该增量搜索数据的订单号或其他表征其为对应的订单的唯一标识码,当增量搜索数据为商品数据时,则所述数据属性标识将表征该增量搜索数据的商品号或其他他表征其为对应的商品的唯一标识码。

所述数据版本校验器获取增量搜索数据的所述数据存储时间戳及数据特征信息,将该增量搜索数据、所述数据存储时间戳及数据特征信息作为增量映射关系数据存储至版本校验缓存空间中,所述版本校验缓存空间中缓存着多个所述增量映射关系数据,以便所述数据版本校验器对该版本校验缓存空间中基于各增量搜索数据映射存储的数据存储时间戳及数据特征信息对该些增量搜索数据进行版本校验。

步骤S142,查询出所述版本校验缓存空间中具有相同数据特征信息的多个目标增量搜索数据,比较该些目标增量搜索数据各自的数据存储时间戳:

数据版本校验器通过比较版本校验缓存空间中具有相同数据特征信息的多个增量搜索数据的所述数据存储时间戳,以确定同电商独立站及同数据属性的增量搜索数据中最新存储至业务数据库中的业务数据。

步骤S143,将所述数据存储时间戳较晚的目标增量搜索数据推送至电商搜索服务中,并其他目标增量搜索数据从所述版本校验缓存空间中移除:

所述数据存储时间戳较晚的目标增量搜索数据即为最新存储至所述业务数据库中的业务数据,该目标增量搜索数据即为同类型数据中最高数据版本的增量搜索数据,数据版本校验器将最新的增量搜索数据推送至电商搜索服务中,且移除所述版本校验缓存空间中相比较所述目标增量搜索数据的数据版本较低的其他增量搜索数据,节省存储空间,且防止数据混乱。

本实施例中,通过比对同电商独立站及同数据属性的增量搜索数据的数据存储时间戳,以确定出该些数据中数据版本最新的增量搜索数据进行数据推送,进而保证电商搜索服务获取的为最新的数据,保证数据的时效性。

一种实施例中,请参考图7,本方法包括如下后置步骤:

步骤S15,响应所述搜索数据增量事件,获取该搜索数据增量事件所对应的数据操作日志:

所述的数据操作日志是指记录向所述业务数据库存储增量的业务数据的日志,该数据操作日志中存储着向所述业务数据库存储增量的各业务数据的业务数据标识,且该数据操作日志具有表征其所属的电商独立站所对应的独立站标识。

步骤S16,根据所述数据操作日志中包含的多个业务数据标识,从所述业务数据库中获取该些业务数据标识所对应的增量搜索数据:

所述的业务数据标识表征其所对应的业务数据在所述业务数据库中的存储位置,服务器查询出所述业务数据库中与该些业务数据标识所对应的业务数据,将该些业务数据作为所述增量搜索数据以进行数据同步处理。

步骤S17,确定所述数据操作日志所对应的电商独立站,当该电商独立站为限流处理电商独立站时,将各所述增量搜索数据推送至所述限流推送器中:

所述限流处理电商独立站是指被确定为增量数据流量满足所述数据限流规则的电商独立站,其将被赋予用于表征其为限流独立站的所述限流标识,服务器在获取具有所述限流标识的电商独立站的所述搜索增量数据后,将该搜索增量数据直接推送至所述限流推送器中,而无需统计所述电商独立站的增量数据流量进行限流校验。

本实施例中,被确定为增量数据流量满足所述数据限流规则的电商独立站其将具有表征其需进行限流处理的限流标识,其增量搜索数据将被直接推送至搜索限流推送器中,无需对其进行二次的增量数据流量统计,以提升数据限流处理的执行效率,节省不必要的算力资源。

进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种搜索数据同步装置,按照这一思路,请参阅图8,其中的一个典型实施例中,该装置包括:增量数据获取模块11,用于响应作用于业务数据库的搜索数据增量事件,获取该搜索数据增量事件所对应的多个增量搜索数据,并确定该些增量搜索数据所对应的电商独立站;数据流量校验模块12,用于统计所述电商独立站的增量数据流量,校验该增量数据流量是否满足预设的数据限流规则,若不满足,则将各所述增量搜索数据推送至数据版本校验器中;数据限流推送模块13,用于当所述增量数据流量满足所述数据限流规则,则将各所述增量搜索数据推送至限流推送器中,以驱动该限流推送器基于限速推送规则限速推送各所述增量搜索数据至所述数据版本校验器中;数据版本校验模块14,用于驱动所述数据版本校验器校验各增量搜索数据的数据版本,将数据版本较晚的增量搜索数据推送至电商搜索服务中。

一种实施例中,所述增量数据获取模块11包括:操作日志获取子模块,用于响应所述搜索数据增量事件,获取该搜索数据增量事件所对应的数据操作日志;业务数据获取子模块,用于根据所述数据操作日志中包含的多个业务数据标识,从所述业务数据库中获取该些业务数据标识所对应的增量搜索数据;增量数据存储子模块,用于确定所述数据操作日志所对应的电商独立站,并将各所述增量搜索数据推送至待消费数据队列。

一种实施例中,所述数据流量校验模块12包括:数据数量统计子模块,用于在预设的统计时间窗口内统计所述待消费数据队列中当前电商独立站所对应的增量搜索数据数量;数据数量校验子模块,用于判断所述增量搜索数据数量是否超过预设的限流数据量,若未超过,则将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至数据版本校验器;限流数据推送子模块,用于当所述增量搜索数据数量超过预设的限流数据量时,在预设的限流时间窗口中将所述待消费数据队列中当前电商独立站所对应的增量搜索数据推送至限流推送器中。

一种实施例中,所述数据限流推送模块13包括:数据存储子模块,用于将当前最新获取的增量搜索数据存储至限流数据队列的首位存储位置;数据推送子模块,用于将所述限流数据队列中处于末尾存储位置的增量搜索数据推送至数据版本校验器;推送速度控制子模块,用于以此类推,处理作用于所述限流数据队列的增量搜索数据的存储及推送,并根据预设的数据推送速度控制增量搜索数据的推送速度。

进一步的实施例中,所述数据版本校验模块14包括:映射数据缓存子模块,用于确定最新获取的增量搜索数据的数据存储时间戳及数据特征信息,将数据存储时间戳、数据特征信息与所述增量搜索数据对应存储至版本校验缓存空间中,所述数据特征信息中包含电商独立站标识及数据属性标识;存储时间比较子模块,用于查询出所述版本校验缓存空间中具有相同数据特征信息的多个目标增量搜索数据,比较该些目标增量搜索数据各自的数据存储时间戳;增量数据推送子模块,用于将所述数据存储时间戳较晚的目标增量搜索数据推送至电商搜索服务中,并其他目标增量搜索数据从所述版本校验缓存空间中移除。

为解决上述技术问题,本申请实施例还提供一种计算机设备,用于运行根据所述搜索数据同步方法所实现的计算机程序。具体请参阅图9,图9为本实施例计算机设备基本结构框图。

如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种搜索数据同步方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种搜索数据同步方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本实施方式中处理器用于执行本申请的搜索数据同步装置中的各个模块/子模块的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有搜索数据同步装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。

本申请还提供一种非易失性存储介质,所述的搜索数据同步方法被编写成计算机程序,以计算机可读指令的形式存储于该存储介质中,计算机可读指令被一个或多个处理器执行时,意味着该程序在计算机中的运行,由此使得一个或多个处理器执行上述任一实施例搜索数据同步方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

综上所述,本申请可限制具有巨量的增量搜索数据的电商独立站进行数据限流推送,以防止数据同步服务无法处理高排放的增量搜索数据导致系统发生崩溃,且对增量搜索数据进行数据版本校验以筛选最新版本的数据进行推送,保证买家用户通过电商搜索服务所搜索的结果为最新的商品或订单。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

技术分类

06120115626708