一种数据处理方法、装置、服务器、系统及存储介质与流程

文档序号:26004727发布日期:2021-07-23 21:22阅读:86来源:国知局
一种数据处理方法、装置、服务器、系统及存储介质与流程

本公开涉及计算机领域,尤其涉及一种数据处理方法、装置、设备以及存储介质。



背景技术:

当前的查询系统中,通常使用匹配算法对用户请求查询的文本进行匹配,以匹配得到文本中的关键词。这些匹配算法都存储于服务器的数据库或者缓存中,当服务器接收到用户的查询请求之后,从数据库或者缓存中调用相应的匹配算法进行关键字匹配、检索,并将检索得到的结果发送至用户的终端。

但是,随着用户的数量增加,查询任务的执行频率也相应增加,服务器需要重复的从数据库或缓存中调用相应的匹配算法进行关键字匹配及检索,这就增加了服务器的中央处理器(centralprocessingunit,cpu)与数据库或缓存之间的传输开销,可能会导致查询任务的响应不及时。



技术实现要素:

本公开提供一种数据处理方法、装置、服务器、系统及存储介质,以至少解决相关技术中,查询任务响应不及时的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种数据处理方法,包括:响应于接收到的查询请求,调用内存中的匹配算法对查询请求中的文本进行关键词匹配,以确定文本对应的至少一个目标关键词;基于匹配到的至少一个目标关键词,确定至少一个查询结果,并向终端发送至少一个查询结果;每个查询结果中包括至少一个目标关键词中的一个或多个。

可选的,上述方法还包括:获取多个关键词;多个关键词包括目标关键词;基于多个关键词,构建匹配算法,并将匹配算法存储至内存中。

可选的,上述方法还包括:接收更新请求;更新请求包括更新后的关键词;响应于更新请求,基于更新后的关键词,更新内存中的匹配算法。

可选的,上述匹配算法包括ac自动机算法。

可选的,上述匹配算法包括私有权限修饰符,私有权限修饰符用于禁止外部类操作调用或者修改匹配算法。

可选的,在上述“确定至少一个查询结果”之后,上述方法还包括:确定第一查询结果所包括的目标关键词中的至少一个显示关键词;第一查询结果为至少一个查询结果中的任意一个,至少一个显示关键词中的任意两个显示关键词在第一查询结果中的位置不具有重叠部分;获取至少一个显示关键词的至少一个位置信息;至少一个位置信息与至少一个显示关键词一一对应,且一个位置信息包括一个显示关键词在第一查询结果中的起始位置以及结束位置;基于至少一个位置信息,生成指示突显消息,并向终端发送指示突显消息;指示突显消息包括至少一个位置信息,且指示突显消息用于指示在显示第一查询结果时,按照预设显示方式显示至少一个显示关键词。

可选的,上述“确定第一查询结果所包括的目标关键词中的至少一个显示关键词”,包括:获取多个字符的字符位置;多个字符为第一查询结果所包括的目标关键词中的字符,一个字符的字符位置包括一个字符在第一查询结果中的位置;对于第一目标关键词,基于确定到的字符位置,确定是否存在与第一目标关键词对应的第二目标关键词;第一目标关键词以及第二目标关键词为第一查询结果所包括的目标关键词中的任意两个目标关键词,且第一目标关键词与第二目标关键词中存在相同的目标字符,第一目标关键词中的目标字符的字符位置与第二目标关键词中的目标字符的字符位置相同;在不存在与第一目标关键词对应的第二目标关键词的情况下,确定第一目标关键词为显示关键词。

可选的,上述“确定第一查询结果所包括的目标关键词中的至少一个显示关键词”,包括:获取多个字符的字符位置;多个字符为第一查询结果所包括的目标关键词中的字符,一个字符的字符位置包括一个字符在第一查询结果中的位置;对于第一目标关键词,基于确定到的字符位置,确定是否存在与第一目标关键词对应的第二目标关键词;第一目标关键词以及第二目标关键词为第一查询结果所包括的目标关键词中的任意两个目标关键词,且第一目标关键词与第二目标关键词中存在相同的目标字符,第一目标关键词中的目标字符的字符位置与第二目标关键词中的目标字符的字符位置相同;在存在与第一目标关键词对应的第二目标关键词的情况下,确定第一目标关键词与第二目标关键词的一个目标关键词为显示关键词。

可选的,上述文本用于请求获取视频剪辑模板;上述“调用内存中的匹配算法对查询请求中的文本进行关键词匹配,以确定文本对应的至少一个目标关键词”,包括:调用匹配算法对文本进行关键词匹配,以确定文本中的视频剪辑模板的标识。

可选的,上述“基于匹配到的至少一个目标关键词,确定至少一个查询结果”,包括:基于视频剪辑模板的标识,确定包括视频剪辑模板的标识的模板操作步骤和/或模板存储地址。

根据本公开实施例的第二方面,提供一种数据处理装置,包括匹配单元、确定单元以及发送单元;匹配单元,用于响应于接收到的查询请求,调用内存中的匹配算法对查询请求中的文本进行关键词匹配,以确定文本对应的至少一个目标关键词;确定单元,用于基于匹配单元匹配到的至少一个目标关键词,确定至少一个查询结果;每个查询结果中包括至少一个目标关键词中的一个或多个;发送单元,用于向终端发送至少一个查询结果。

可选的,上述数据处理装置还包括获取单元、构建单元及存储单元;获取单元,用于获取多个关键词;多个关键词包括目标关键词;构建单元,用于基于获取单元获取到的多个关键词,构建匹配算法;存储单元,用于将构建单元构建的匹配算法存储至内存中。

可选的,上述数据处理装置还包括接收单元及更新单元;接收单元,用于接收更新请求;更新请求包括更新后的关键词;更新单元,用于响应于接收单元接收到的更新请求,基于更新后的关键词,更新内存中的匹配算法。

可选的,上述匹配算法包括ac自动机算法。

可选的,上述匹配算法包括私有权限修饰符,私有权限修饰符用于禁止外部类操作调用或者修改匹配算法。

可选的,上述数据处理装置还包括获取单元以及生成单元;确定单元,还用于确定第一查询结果所包括的目标关键词中的至少一个显示关键词;第一查询结果为至少一个查询结果中的任意一个,至少一个显示关键词中的任意两个显示关键词在第一查询结果中的位置不具有重叠部分;获取单元,用于获取至少一个显示关键词的至少一个位置信息;至少一个位置信息与至少一个显示关键词一一对应,且一个位置信息包括一个显示关键词在第一查询结果中的起始位置以及结束位置;生成单元,用于基于至少一个位置信息,生成指示突显消息;发送单元,还用于向终端发送指示突显消息;指示突显消息包括至少一个位置信息,且指示突显消息用于指示在显示第一查询结果时,按照预设显示方式显示至少一个显示关键词。

可选的,上述确定单元具体用于:获取多个字符的字符位置;多个字符为第一查询结果所包括的目标关键词中的字符,一个字符的字符位置包括一个字符在第一查询结果中的位置;对于第一目标关键词,基于确定到的字符位置,确定是否存在与第一目标关键词对应的第二目标关键词;第一目标关键词以及第二目标关键词为第一查询结果所包括的目标关键词中的任意两个目标关键词,且第一目标关键词与第二目标关键词中存在相同的目标字符,第一目标关键词中的目标字符的字符位置与第二目标关键词中的目标字符的字符位置相同;在不存在与第一目标关键词对应的第二目标关键词的情况下,确定第一目标关键词为显示关键词。

可选的,上述确定单元具体用于:获取多个字符的字符位置;多个字符为第一查询结果所包括的目标关键词中的字符,一个字符的字符位置包括一个字符在第一查询结果中的位置;对于第一目标关键词,基于确定到的字符位置,确定是否存在与第一目标关键词对应的第二目标关键词;第一目标关键词以及第二目标关键词为第一查询结果所包括的目标关键词中的任意两个目标关键词,且第一目标关键词与第二目标关键词中存在相同的目标字符,第一目标关键词中的目标字符的字符位置与第二目标关键词中的目标字符的字符位置相同;在存在与第一目标关键词对应的第二目标关键词的情况下,确定第一目标关键词与第二目标关键词的一个目标关键词为显示关键词。

可选的,上述文本用于请求获取视频剪辑模板;上述匹配单元,具体用于调用匹配算法对文本进行关键词匹配,以确定文本中的视频剪辑模板的标识。

可选的,上述确定单元,具体用于基于视频剪辑模板的标识,确定包括视频剪辑模板的标识的模板操作步骤和/或模板存储地址。

根据本公开实施例的第三方面,提供一种服务器,包括:处理器、用于存储处理器可执行的指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面所提供的数据处理方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如第一方面提供的数据处理方法。

根据本公开实施例的第五方面,提供一种查询系统,包括服务器以及多个终端;服务器分别与多个终端连接,每个终端用于响应于用户的请求查询操作,生成查询请求并向服务器发送查询请求;服务器包括内存,内存中存储有匹配算法;服务器用于基于匹配算法执行第一方面的数据处理方法。

根据本公开实施例的第六方面,提供一种计算机程序产品,包括指令,当指令由处理器执行时,使得处理器执行如第一方面提供的数据处理方法。

本公开提供的技术方案至少带来以下有益效果:采用上述技术手段,服务器的cpu在执行查询任务时,可以直接从内存中读取匹配算法,无需从数据库或者缓存中读取匹配算法,相较于现有技术,能够减少服务器内部装置之间的传输开销,提高查询任务的响应速度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种查询系统的结构示意图;

图2是根据一示例性实施例示出的一种数据处理方法的流程示意图之一;

图3是根据一示例性实施例示出的一种ac自动机算法的结构示意图;

图4是根据一示例性实施例示出的一种数据处理方法的流程示意图之二;

图5是根据一示例性实施例示出的一种数据处理方法的流程示意图之三;

图6是根据一示例性实施例示出的一种数据处理方法的流程示意图之四;

图7是根据一示例性实施例示出的一种数据处理方法的流程示意图之五;

图8是根据一示例性实施例示出的一种数据处理装置的结构示意图;

图9是根据一示例性实施例示出的一种服务器的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。

在对公开实施例提供的数据处理方法之前,先对本公开实施例中后续涉及的概念进行介绍。

ac自动机(aho-corasickautomaton)算法用于搜索匹配字符串,为一个带有失配转跳功能的字典树的数据结构,也是一个状态转移机。在字符匹配过程中,ac自动机算法用于在输入的一串字符串中匹配有限组“字典树”中的子串。它与普通字符串匹配的不同点在于同时与所有字典串进行匹配。该算法主要依靠构造一个有限状态机(类似于在一个字典树中添加失败指针)来实现。这些额外的失败指针允许在匹配字符串失败时进行回退(例如在字典树中的单词“cat”匹配失败,但是在字典树中存在另一个单词“cart”,失败指针就会指向前缀“ca”),专线某前缀的其他分支,免于重复匹配前缀,提高了算法效率。

本公开实施例提供的数据处理方法可以适用于查询系统。图1示出了该查询系统的一种结构示意图。如图1所示,查询系统10用于通过即时通讯(instantmessaging,im)的交互方式向用户提供查询会话功能,查询系统10包括服务器11以及多个终端(图1示例性的示出了终端121、终端122,在实际应用过程中,可以存在更多数量或者更少数量的终端)。服务器11与多个终端连接。服务器11与多个终端之间可以采用有线方式连接,也可以采用无线方式连接,本公开实施例对此不作限定。

服务器11可以用于与多个终端进行im交互,例如,服务器可以接收用户的终端发送的查询文本的请求消息,也可以向用户的终端发送查询检索的结果。

服务器11包括内存,内存中存储有匹配算法。服务器11还可以基于匹配算法执行关键词的匹配,以及根据匹配到的关键词检索查询结果。

在一些实施例中,上述服务器11可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

多个终端中的任意一个终端可以获取用户输入的文本以及请求查询的操作,响应于用户的请求查询操作,生成查询请求并向服务器11发送查询请求。

多个终端中的任意一个终端还用于在接收到服务器11发送的查询结果,并显示接收到的查询结果。

示例性的,上述多个终端中的任意一个可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如手机、平板电脑、掌上电脑、个人计算机(personalcomputer,pc)、可穿戴设备、智能电视等。

本公开实施例提供的数据处理方法,具体可以应用于服务器中包括的数据处理装置,也可以直接应用于服务器,下面结合附图,以服务器执行数据处理方法为例,对本公开实施例提供的数据处理方法进行描述。

如图2所示,本公开实施例提供的数据处理方法包括下述s201-s203。

s201、服务器响应于接收到的查询请求,调用内存中的匹配算法对查询请求中的文本进行关键词匹配,以确定文本对应的至少一个目标关键词。

其中,查询请求中包括用户请求查询的文本,查询请求用于请求基于文本中的目标关键词,查询到的包括目标关键词的查询结果。

作为一种可能的实现方式,服务器接收用户的终端发送的查询请求,并基于查询请求中的文本,从服务器的内存中调用预设的匹配算法,存储在cpu的寄存器中,并在寄存器中利用获取到的匹配算法,对文本进行关键词匹配,以确定文本中所包括的目标关键词。

需要说明的,服务器的内存中预先存储有预设的匹配算法。本公开实施例涉及的文本可以为中文、英文或者其他语言的字符串。

服务器确定得到的文本中包括的目标关键的数量可以为一个,也可以为多个,本公开实施例对此不作限定。

在一些实施例中,查询请求为终端生成的。终端在响应于用户输入文本的输入操作,以及用于请求查询的点击操作,获取用户输入的文本,并基于获取到的文本,生成查询请求,并向服务器发送生成的查询请求。

可选的,预设的匹配算法包括ac自动机(aho-corasickautomaton)算法,其中包括由多个关键词组成的字典树以及失败指针。ac自动机算法用于匹配文本中的目标关键词,可以在字典树中对某一个关键词匹配失败之后,自动从失败指针指向的节点重新开始匹配,能够节省关键词匹配所消耗的时间。

图3示出了一种由多个关键词构建的ac自动机算法的示意图。

图3中,ac自动机算法中包括字典树以及失败指针,其中字典树为根据关键词“片段”、“画片段”、“片段动画”、“片场画”构建的,其中包括多个由节点组成的字符串,每个字符串对应一个关键词(如0-1-2-8-9对应“片段动画”,0-1-6-7对应“画片段”,0-3-4-5对应“片场画”),每个字符串上包括多个节点,每个节点对应于字符串上的一个字符。图3中失败指针由虚线表示(如8-0,2-0),虚线上的箭头表示失败指针指向的节点。

示例性的,如图3所示,多个关键词包括“片段”、“画片段”、“片段动画”、“片场画”。当用户请求查询的文本中包括“片段动画”时,ac自动机算法会依次经过0-1-2-8-9的节点,匹配到“片段”和“片段动画”这两个目标关键词。当用户请求查询的文本中包括“画片段”时,ac自动机算法会依次经过0-3-4-5的节点,匹配到“片段”和“画片段”这两个关键词。当用户请求查询的文本中不包括上述关键词中的任意一个时,ac自动机算法会通过图中的失败指针进行后续查询,最终退回到0这个节点上,对应的匹配结果为未匹配到任何目标关键词。

关于在利用ac自动机算法执行匹配任务时的具体步骤,可以参照上述对ac自动机算法的说明或者现有技术,此处不再进行赘述。

需要说明的,内存中存储的ac自动机算法为预先根据包括目标关键词的多个关键词构建而成的,并预先存储于服务器的内存中。

s202、服务器基于匹配到的至少一个目标关键词,确定至少一个查询结果。

其中,每个查询结果中包括至少一个目标关键词中的一个或多个。

作为一种可能的实现方式,服务器在确定至少一个目标关键词之后,可以根据每个目标关键词,从数据库或者缓存中进行检索,以确定至少一个查询结果。

s203、服务器向终端发送至少一个查询结果。

作为一种可能的实现方式,服务器在确定至少一个查询结果之后,向用户的终端发送至少一个查询结果,以使得用户的终端在接收到至少一个查询结果之后,显示至少一个查询结果。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术手段,服务器的cpu在执行查询匹配任务时,可以直接从内存中读取匹配算法,无需从数据库或者缓存中读取匹配算法,相较于现有技术,能够减少服务器内部装置之间的传输开销,提高查询任务的响应速度。

在一种设计中,为了能够在服务器的内存中构建匹配算法,如图4所示,本公开实施例提供的数据处理方法,还包括下述s301-s303。

s301、服务器获取多个关键词。

其中,多个关键词包括目标关键词。

作为一种可能的实现方式,服务器接收其他服务器或者外部设备发送的多个关键词。

需要说明的,服务器可以通过zookeeper服务,接收其他服务器向其发送的多个关键词。

在一种情况下,服务器在获取多个关键词之后,将多个关键词存储至服务器的数据库或者缓存中。

s302、服务器基于多个关键词,构建匹配算法。

作为一种可能的实现方式,服务器基于接收到的多个关键词,生成字典树,并在字典树的各个节点中设置失败指针,以构建匹配算法。

此步骤的实现方式,具体可以参照ac自动机算法的构建方式中的具体描述,此处不再进行赘述。

s303、服务器将匹配算法存储至内存中。

作为一种可能的实现方式,服务器确定内存中预设大小的存储空间,作为存储上述匹配算法的目标空间,并将匹配算法存储至上述目标空间内。

需要说明的,上述目标空间的预设大小,可以由查询系统的开发人员预先在服务器中进行设置。

上述实施例提供的技术方案至少具有以下有益效果:给出了一种具体如何在内存中构建匹配算法的具体实施方式。

在一种设计中,为了能够保证内存中的匹配算法不被服务器的上层应用所篡改,本公开实施例提供的匹配算法,匹配算法包括私有权限修饰符,私有权限修饰符用于禁止外部类操作调用或者修改匹配算法。

作为一种那可能的实现方式,服务器在上述s302中利用java语言编写ac自动机算法的代码时,在代码中增加权限修饰符,能够避免服务器的上层应用调用、篡改内存中的匹配算法。

示例性的,上述权限修饰符可以为private关键词。

相应的,在构建匹配算法时,若需要被服务器的上层应用调用,则需要在利用java语言编写ac自动机算法的代码时,在代码中增加public关键词即可。

在一种设计中,为了能够保证内存中的匹配算法是最新,如图5所示,本公开实施例提供的数据处理方法,还包括下述s401-s402。

s401、服务器接收更新请求。

其中,更新请求包括更新后的关键词。

作为一种可能的实现方式,服务器接收其他服务器或者设备发送的更新请求。

在一种情况下,服务器在接收到更新请求后,将更新请求所包括的更新后的关键词存储至服务器的缓存或者数据库中。

需要说明的,更新请求也可以由服务器周期性或触发式的生成。

第一种情况下,服务器在确定服务器的数据库或缓存存储的多个关键词为更新后的关键之后,基于数据库或缓存中更新后的关键词,生成更新请求。

在第二种情况下,服务器周期性的基于数据库或缓存中存储的关键词,生成更新请求。

可以理解的,服务器周期性的对内存中的匹配算法进行更新,能够避免因zookeeper服务在传输关键词时因出现误码,导致匹配算法的匹配结果不准确的问题。

s402、服务器响应于更新请求,基于更新后的关键词,更新内存中的匹配算法。

作为一种可能的实现方式,服务器在获取更新请求之后,利用更新后的关键词,更新匹配算法,并将更新后的匹配算法,在内存的目标空间内进行存储。

在一些实施例中,为了能够原子性的对内存中的匹配算法进行更新,以避免匹配算法在匹配目标关键词时错误,本公开实施例提供的上述s402,具体包括:服务器确定cpu的进程中不存在关键词匹配任务的情况下,更新内存中的匹配算法。

可以理解的,服务器选择在未调用内存中的匹配算法对文本进行关键词匹配时,更新内存中的匹配算法,能够保证调用匹配算法记性关键词匹配的准确性。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术特征,可以在用于构建匹配算法的多个关键词更新的情况下,自动更新内存中的匹配算法,以确保内存中匹配算法的实时性。

在一种设计中,用户的终端在显示至少一个查询结果时,能够以预设的显示方式显示查询结果中的目标关键词,但是由于任意一个查询结果中可能存在多个相互覆盖的目标关键词,在这种情况下,为了终端在以预设的显示方式显示目标关键词的情况下,就会因为目标关键词在查询结果相互覆盖出现错误,为了解决这一问题,如图6所示,本公开实施例提供的数据处理方法,还包括下述s501-s504。

s501、服务器确定第一查询结果所包括的目标关键词中的至少一个显示关键词。

其中,第一查询结果为至少一个查询结果中的任意一个,至少一个显示关键词中的任意两个显示关键词在第一查询结果中的位置不具有重叠部分。

作为一种可能的实现方式,对于第一查询结果,服务器确定第一查询结果中包括的目标关键词,并从第一查询结果包括的目标关键词中,确定至少一个显示关键词。

需要说说明的,上述具有重叠部分,包括覆盖关系以及重叠关系。

示例性的,以图3中的目标关键词为例,目标关键词“片段动画”中包括有另外一个目标关键词“片段”,则属于覆盖关系。目标关键词“画片段”与“片段动画”中包括有相同的字符“片段”,则属于重叠关系。

作为另外一个示例,以图3中的目标关键词为例,若第一查询结果为“这个片段动画是我最喜欢的”,则在第一查询结果包括的目标关键词为“片段”及“片段动画”,在这种情况下,则目标关键词“片段动画”为第一查询结果中的显示关键词,“片段”由于被“片段动画”覆盖,则不为第一查询结果中的显示关键词。

此步骤的具体实现方式,可以参照本公开实施例的后续描述,此处不再进行赘述。

s502、服务器获取至少一个显示关键词的至少一个位置信息。

其中,至少一个位置信息与至少一个显示关键词一一对应,且一个位置信息包括一个显示关键词在第一查询结果中的起始位置以及结束位置。

作为一种可能的实现方式,服务器可以对第一查询结果进行解析,以获取至少一个显示关键词的至少一个位置信息。

s503、服务器基于至少一个位置信息,生成指示突显消息。

其中,指示突显消息包括至少一个位置信息,且指示突显消息用于指示在显示第一查询结果时,按照预设显示方式显示至少一个显示关键词。

需要说明的,指示突显消息中还包括第一查询结果的标识。

s504、服务器向终端发送指示突显消息。

作为一种可能的实现方式,服务器在生成指示突显消息之后,向用户的终端发送指示突显消息。相应的,用户的终端在接收到指示突显消息之后,基于至少一个位置信息对第一查询结果进行分割,以确定第一查询结果中的至少一个显示关键词,并在显示第一查询结果时,按照预设的显示方式显示至少一个显示关键词。

示例性的,本公开实施例涉及的预设的显示方式,可以为对第一查询结果中的至少一个显示关键词高亮显示,也可以对第一查询结果中的至少一个显示关键词加粗进行显示,具体的预设显示方式,本公开实施例对此不作限定。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术手段,能够使用户的终端在显示至少一个查询结果时,能够确定每个查询结果中的显示关键词,并指示终端基于显示关键词的位置信息对查询结果进行分割,能够解决在分割查询结果时,因目标关键词存在相互覆盖的情况引起的分割错误。

在一种设计中,为了能够确定第一查询结果中的至少一个显示关键词,如图7所示,本公开实施例提供的s501,具体可以包括下述s5011-s5014。

s5011、服务器获取多个字符的字符位置。

其中,多个字符为第一查询结果所包括的目标关键词中的字符,一个字符的字符位置包括一个字符在第一查询结果中的位置。

作为一种可能的实现方式,服务器对第一查询结果进行解析,以获取第一查询结果所包括的目标关键词中的字符在第一查询结果中的字符位置。

s5012、对于第一目标关键词,服务器基于确定到的字符位置,确定是否存在与第一目标关键词对应的第二目标关键词。

其中,第一目标关键词以及第二目标关键词为第一查询结果所包括的目标关键词中的任意两个目标关键词,且第一目标关键词与第二目标关键词中存在相同的目标字符,第一目标关键词中的目标字符的字符位置与第二目标关键词中的目标字符的字符位置相同。

作为一种可能的是实现方式,服务器确定第一查询结果中的任意两个目标关键词,并基于确定到字符位置,确定两个目标关键词中是否都存在相同的目标字符。若两个目标关键词中都存在相同的目标字符,则确定其中一个为第一目标关键词,另外一个为与第一目标关键词对应的第二目标关键词。

s5013、在不存在与第一目标关键词对应的第二目标关键词的情况下,服务器确定第一目标关键词为显示关键词。

可以理解的,对于第一目标关键词,若不存在与其对应的第二目标关键词,则第一目标关键词在第一查询结果中不与其他任意一个目标关键词存在相互覆盖的字符。

s5014、在存在与第一目标关键词对应的第二目标关键词的情况下,服务器确定第一目标关键词与第二目标关键词的一个目标关键词为显示关键词。

需要说明的,在这种情况下,显示关键词可以为第一目标关键词与第二目标关键词中字符数量最多的目标关键词,也可以为第一目标关键词与第二目标关键词中在第一查询结果中最先出现的目标关键词,还可以为第一目标关键词与第二目标关键词中在第一查询结果中最后出现的目标关键词,本公开实施例对此不作限定。

可以理解的,对于第一目标关键词,若存在与其对应的第二目标关键词,则表明第一目标关键词与第二目标关键词相互覆盖,在这种情况下,服务器选择其中一个目标关键词为显示关键词。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术特征,可以基于第一查询结果中目标关键词的字符位置,确定第一查询结果中是否存在相互覆盖的多个目标关键词,并在存在相符覆盖的多个目标关键词的情况下,从多个目标关键词中确定用于显示的显示关键词,可以进一步保证终端能够对第一查询结果进行分割。

在一种设计中,本公开实施例还提供了上述数据处理方法的一种具体示例及应用场景。本公开实施例提供的文本用于请求获取视频剪辑模板。在这种情况下,本公开实施例提供的s201,具体可以包括:调用匹配算法对文本进行关键词匹配,以确定文本中的视频剪辑模板的标识。

相应的,在这种情况下,本公开实施例提供的上述s202,具体可以包括基于视频剪辑模板的标识,确定包括视频剪辑模板的标识的模板操作步骤和/或模板存储地址。

另外,本公开还提供一种数据处理装置,应用于服务器,用于执行本公开实施例提供的数据处理方法,参照图8所示,该数据处理装置60包括匹配单元601、确定单元602以及发送单元603。

匹配单元601,用于响应于接收到的查询请求,调用内存中的匹配算法对查询请求中的文本进行关键词匹配,以确定文本对应的至少一个目标关键词。例如,如图2所示,匹配单元601可以用于执行s201。

确定单元602,用于基于匹配单元601匹配到的至少一个目标关键词,确定至少一个查询结果。每个查询结果中包括至少一个目标关键词中的一个或多个。例如,如图2所示,确定单元602可以用于执行s202。

发送单元603,用于向终端发送至少一个查询结果。例如,如图2所示,发送单元603可以用于执行s203。

可选的,如图8所示,本公开实施例提供的数据处理装置还包括获取单元604、构建单元605及存储单元606。

获取单元604,用于获取多个关键词。多个关键词包括目标关键词。例如,如图3所示,获取单元604可以用于执行s301。

构建单元605,用于基于获取单元604获取到的多个关键词,构建匹配算法。例如,如图3所示,构建单元605可以用于执行s302。

存储单元606,用于将构建单元605构建的匹配算法存储至内存中。例如,如图3所示,存储单元606可以用于执行s303。

可选的,如图8所示,本公开实施例提供的数据处理装置还包括接收单元607及更新单元608。

接收单元607,用于接收更新请求。更新请求包括更新后的关键词。例如,如图5所示,接收单元607可以用于执行s401。

更新单元608,用于响应于接收单元607接收到的更新请求,基于更新后的关键词,更新内存中的匹配算法。例如,如图5所示,更新单元608可以用于执行s402。

可选的,如图8所示,本公开实施例提供的匹配算法包括ac自动机算法。

可选的,如图8所示,本公开实施例提供的匹配算法包括私有权限修饰符,私有权限修饰符用于禁止外部类操作调用或者修改匹配算法。

可选的,如图8所示,本公开实施例提供的数据处理装置还包括获取单元604以及生成单元609。

确定单元602,还用于确定第一查询结果所包括的目标关键词中的至少一个显示关键词。第一查询结果为至少一个查询结果中的任意一个,至少一个显示关键词中的任意两个显示关键词在第一查询结果中的位置不具有重叠部分。例如,如图6所示,确定单元602可以用于执行s501。

获取单元604,用于获取至少一个显示关键词的至少一个位置信息。至少一个位置信息与至少一个显示关键词一一对应,且一个位置信息包括一个显示关键词在第一查询结果中的起始位置以及结束位置。例如,如图6所示,获取单元604可以用于执行s502。

生成单元609,用于基于至少一个位置信息,生成指示突显消息。例如,如图6所示,生成单元609可以用于执行s503。

发送单元603,还用于向终端发送指示突显消息。指示突显消息包括至少一个位置信息,且指示突显消息用于指示在显示第一查询结果时,按照预设显示方式显示至少一个显示关键词。例如,如图6所示,发送单元603可以用于执行s504。

可选的,如图8所示,本公开实施例提供的确定单元602具体用于:

获取多个字符的字符位置。多个字符为第一查询结果所包括的目标关键词中的字符,一个字符的字符位置包括一个字符在第一查询结果中的位置。例如,如图7所示,确定单元602可以用于执行s5011。

对于第一目标关键词,基于确定到的字符位置,确定是否存在与第一目标关键词对应的第二目标关键词。第一目标关键词以及第二目标关键词为第一查询结果所包括的目标关键词中的任意两个目标关键词,且第一目标关键词与第二目标关键词中存在相同的目标字符,第一目标关键词中的目标字符的字符位置与第二目标关键词中的目标字符的字符位置相同。例如,如图7所示,确定单元602可以用于执行s5012。

在不存在与第一目标关键词对应的第二目标关键词的情况下,确定第一目标关键词为显示关键词。例如,如图7所示,确定单元602可以用于执行s5013。

可选的,如图8所示,本公开实施例提供的确定单元602具体用于:

获取多个字符的字符位置。多个字符为第一查询结果所包括的目标关键词中的字符,一个字符的字符位置包括一个字符在第一查询结果中的位置。例如,如图7所示,确定单元602可以用于执行s5011。

对于第一目标关键词,基于确定到的字符位置,确定是否存在与第一目标关键词对应的第二目标关键词。第一目标关键词以及第二目标关键词为第一查询结果所包括的目标关键词中的任意两个目标关键词,且第一目标关键词与第二目标关键词中存在相同的目标字符,第一目标关键词中的目标字符的字符位置与第二目标关键词中的目标字符的字符位置相同。例如,如图7所示,确定单元602可以用于执行s5012。

在存在与第一目标关键词对应的第二目标关键词的情况下,确定第一目标关键词与第二目标关键词的一个目标关键词为显示关键词。例如,如图7所示,确定单元602可以用于执行s5014。

可选的,如图8所示,本公开实施例提供的文本用于请求获取视频剪辑模板。匹配单元601,具体用于调用匹配算法对文本进行关键词匹配,以确定文本中的视频剪辑模板的标识。

可选的,如图8所示,本公开实施例提供的确定单元602,具体用于基于视频剪辑模板的标识,确定包括视频剪辑模板的标识的模板操作步骤和/或模板存储地址。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图9是本公开提供的服务器的结构示意图。如图9,该服务器70可以包括至少一个处理器701以及用于存储处理器可执行指令的存储器703。其中,处理器701被配置为执行存储器703中的指令,以实现上述实施例中的数据处理方法。

另外,服务器70还可以包括通信总线702以及至少一个通信接口704。

处理器701可以是一个处理器(centralprocessingunits,cpu),微处理单元,asic,或一个或多个用于控制本公开方案程序执行的集成电路。

通信总线702可包括一通路,在上述组件之间传送信息。

通信接口704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。

存储器703可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。

其中,存储器703用于存储执行本公开方案的指令,并由处理器701来控制执行。处理器701用于执行存储器703中存储的指令,从而实现本公开方法中的功能。

在具体实现中,作为一种实施例,处理器701可以包括一个或多个cpu,例如图9中的cpu0和cpu1。

在具体实现中,作为一种实施例,服务器70可以包括多个处理器,例如图9中的处理器701和处理器707。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,服务器70还可以包括输出设备705和输入设备706。输出设备705和处理器701通信,可以以多种方式来显示信息。例如,输出设备705可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备706和处理器701通信,可以以多种方式接受用户的输入。例如,输入设备706可以是鼠标、键盘、触摸屏设备或传感设备等。

本领域技术人员可以理解,图9中示出的结构并不构成对服务器70的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的数据处理方法。

另外,本公开还提供一种计算机程序产品,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的数据处理方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

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