CN110737747A - 一种数据操作方法、装置及系统 - Google Patents
一种数据操作方法、装置及系统 Download PDFInfo
- Publication number
- CN110737747A CN110737747A CN201910862672.6A CN201910862672A CN110737747A CN 110737747 A CN110737747 A CN 110737747A CN 201910862672 A CN201910862672 A CN 201910862672A CN 110737747 A CN110737747 A CN 110737747A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- memory
- index
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置及系统。其中方法包括接收请求方发送的数据操作请求;数据操作请求中包括查询词和操作指令;根据查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;根据操作指令对第一目标数据执行相应的操作。本申请的技术方案使得对于更新频率高的关键词可以单独在内存索引中进行更新和后续读取,无需频繁对磁盘进行操作,且无需在磁盘内进行全量数据的更新,提高了效率并避免了对磁盘的过度使用。
Description
技术领域
本申请涉及数据操作领域,特别是涉及一种数据操作方法、装置及系统。
背景技术
为解决大数据状态下的数据搜索问题,现在都是用搜索引擎建立索引来进行数据搜索,这在很大程度上提高了数据查询效率。
索引的方式通常有正排索引和倒排索引。这两种方式都以关键字进行查询。
其中正排索引以文档ID为key,每个文档ID对应有其包含的关键字出现的次数和位置。若要查询某个关键字,则需要扫描每个文档中关键字的信息,直到找到所有包含查询要查询的关键字的文档。
其中倒排索引是以关键字为key,对应有包含该关键字的所有文档ID。在查询时,只要查询到关键字,即可直接一次获取所有包含该关键字的文档ID。
目前的索引数据存放在磁盘中,当需要进行读取或更新等操作时,以关键字为基础,向磁盘进行查询和相应操作。
以电商平台为例,其业务数据量大,一部分数据如价格、库存等数据的变化频率高。而且实际应用中经常需要对这类数据进行读取如读取价格、库存数据进行排序等。这些都要求搜索引擎中的数据具有很好的时效性才能保证最终结果的正确。
但目前的方式时效性较低:
一些字段的数据变化频率高,比如价格、库存等频繁变化导致增量更新效率低,同时占用索引空间大。
一些字段的更新需要通过重建商品全量索引来实现,比如优惠券规则,一次优惠券规则变化可能会更新上百万甚至千万规模的商品,通过重建商品全量索引来生效该规则的时效性比较差,通常需要几个小时才能生效。
因此,如何保证时效性是目前需要解决的问题。
发明内容
本申请提供了一种数据操作方法,所述方法包括:
接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
根据所述操作指令对所述第一目标数据执行相应的操作。
优选的,所述数据操作请求为数据获取请求;
所述方法还包括:
根据所述目标文档标识在所述磁盘索引数据中进行查询获得第二目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
根据所述第一目标数据替换所述第二目标数据中的对应部分,生成最终目标数据并返回至数据请求方。
优选的,所述内存索引包括由二维数组构成的内存正排索引数据;所述数组的第一维为与第一类关键词对应的所述文档标识,第二维为与所述第一类关键词对应的第二类关键词。
优选的,所述数据操作请求为数据更新请求;
所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组;
根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
对所述第一目标数据进行更新。
优选的,所述数据操作请求为数据获取请求;
所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组;
根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
获取所述第一目标数据并发送至所述请求发送方。
优选的,所述二维数组由商品对应的文档标识数组和全国各城市的商品价格数组组成;数组中所述商品价格的下标为所述商品价格对应的城市;
所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据所述目标商品确定对应的目标文档标识;
确定所述目标文档标识对应的全国各城市的目标商品价格数组;
确定所述目标城市在目标商品价格数组中的目标下标;
确定所述目标商品价格数组中的目标下标位置的价格为第一目标数据。
优选的,所述内存索引包括内存倒排索引数据;所述方法还包括:
接收所述内存倒排索引数据建立过程:
获取第四类关键词以及与第四类关键词对应的第五类关键词集合;
根据预存的所述文档标识与第五类关键词的对应关系建立第四类关键词与其对应的文档标识集合,形成内存倒排索引数据。
优选的,所述第四类关键词为优惠券规则,所述第五类关键词为商品;
所述内存倒排索引数据建立过程包括:
获取优惠券规则以及与优惠券规则对应的商品集合;
根据预存的所述文档标识与商品的对应关系建立优惠券规则与其对应的文档标识集合的对应关系,形成所述内存倒排索引数据。
本申请另一方面还公开一种数据操作装置,所述装置包括:
请求接收单元,用于接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
第一目标数据确定单元,用于根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
操作执行单元,用于根据所述操作指令对所述第一目标数据执行相应的操作。
本申请再一方面还公开一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
根据所述操作指令对所述第一目标数据执行相应的操作。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
本申请的技术方案在磁盘索引之外,对磁盘索引的部分关键词基于磁盘索引内关键词与文档标识对应关系建立了内存索引数据,部分关键词的更新读取操作可以直接在内存索引中进行。这使得对于更新频率高的关键词可以单独在内存索引中进行更新和后续读取,无需频繁对磁盘进行操作,且无需在磁盘内进行全量数据的更新,提高了效率并避免了对磁盘的过度使用。
更进一步的,磁盘索引与内存索引中文档标识与关键词的对应关系是一致的,因此对于需要获取更详细信息的情形,可以获取磁盘索引中的对应全量文档数据,并与内存索引中最新的数据进行结合,获得最终的数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的系统结构图;
图2-6为实施例一示意图;
图7-9为实施例二示意图;
图10为是本申请实施例提供的方法流程图;
图11是本申请实施例提供的装置结构图;
图12是本申请实施例提供的计算机系统架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请旨在提供一种基于磁盘索引建立内存索引以在内存索引进行数据搜索的方法。其创造性的提出磁盘索引数据格式不变,将磁盘索引中部分字段,尤其是更新频率高的字段放在内存索引中,并基于预先在内存索引中建立的字段(业务主键)与文档标识的倒排索引关系在内存中进一步建立各关键字字段与文档标识的正排索引和倒排索引数据。直接在内存的正排索引中进行字段的更新读取和倒排索引的建立读取。其中内存索引均以磁盘索引中的文档标识与字段的对应关系为基础建立,使得可以进一步读取磁盘索引数据并将内存数据和磁盘索引中的数据进行无缝结合。
如图1所示,用户的数据操作请求被发送至内存索引进行查询,当需要详细数据时用户的数据操作请求被发送至磁盘索引进行查询,并与内存索引数据进行合并替换得到最终需要的数据。
以下以电商平台的业务数据为例,对内存索引中的正排索引数据和倒排索引数据的建立和操作进行描述:
实施例一
考虑到电商平台的数据中商品的各城市价格数据更新频繁,因此实施例一中,将商品在各城市的价格信息在内存索引中建立正排索引数据。
如图2、3所示,首先在内存索引数据库中建立两份基础数据,一是索引的文档id和业务主键(商品)的倒排索引关系,二是城市与数组下标的映射关系。其中这些关系与磁盘索引中的关系一致。
依赖这两份映射关系创建出一个长度为涉及的数据段中最大文档数的二维数组,如图4所示。数组每个位置都标识一个商品的价格信息。用文档id来获取数据,获取的数据中每个位置中存放的是各个城市的一个价格数组,价格数组的每个下标位置存放的就是对应城市的价格。比如数组中文档id为3,下标为2的位置表示的就是红米note3对应的上海价格。基于这个二维数组,可以快速方便的实现数据的更新查询操作。
如图5所示的场景一,更新iphone8这个商品的北京价格时,只需要依据关系取出对应的文档id(0)和城市下标(1),通过文档id在正排索引中取出城市的价格数组,在对应的位置上直接替换价格即可。
比如场景二查询iphone8这个商品的上海价格时,只需要依据关系取出对应的文档id(0)和城市下标(2),通过文档id在正排索引中取出城市的价格数组,获取价格数组中城市下标位置的价格即可。
如图6所示的场景三,查询南京价格在2000-3000范围内的手机时,通过实现一个价格的后置过滤器,对已召回的手机的文档id集合从正排索引中获取出对应的价格数据,把每个商品的南京价格取出判断即可。
实施例二
以电商平台的优惠券规则下发为例,每次优惠券规则要生效众多商品且每次生效的商品不同,以倒排索引格式建立索引,可以以优惠券规则为key,一次生效对应的所有商品。
图7-9中是满30-30优惠券的倒排索引实现示意图,根据业务或者大数据计算出的活动商品集,利用图7所示的倒排索引的文档id和业务主键(商品)的映射关系,构造一份倒排数组如图8所示,该数组中一维是优惠券规则,一维是有序的文档id,表示该优惠券规则生效对应的文档id。绑定这份倒排索引集合到当前的搜索引擎中。当进行查询时,根据用户输入的优惠券标识如券编码即可直接获取出该倒排索引表。根据倒排索引表中的文档id即可确定生效的商品。
当需要进行进一步操作时,可以将上述倒排索引表和其它查询条件的索引倒排做交集计算,如图9所示,获取到最终的结果集。该方案不需要更新磁盘倒排索引就可以实时生效该规则下的大量商品,提升了时效性和查询性能。
用户有时候需要获取文档详细数据信息,仅仅从内存中获取的数据不足以满足需求。此时用户可根据对应的文档id进一步的在磁盘索引中获取对应数据。因为磁盘索引的部分数据没有更新,因此需要将内存索引的数据替换从磁盘索引中获取的数据中的对应部分,进而得到最终的数据返回给用户。
以上述实施例一场景二为例,若用户查询到iphone8这个商品的上海价格后还需要知道这个商品的其他信息,则可以根据iphone8这个商品的对应的文档id在磁盘索引中进行查询,获取对应文档信息即iphone8这个商品的所有信息。此时对所有信息中的上海价格信息进行更新即可获得最终数据。
因此,利用上述方法,可以在内存索引中快速更新和查询一些更新或访问频率高的字段。同时结合磁盘索引,可以获得全量的数据。
实施例三
以上是本申请的具体实施例,对于其他字段或类似情景奔放都同样适用,对应的,本申请提供一种数据操作方法,如图10所示,所述方法包括:
S101接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令。查询词即用于查询的关键词如商品、价格、库存、城市等,可以是一个或多个。操作指令即对数据的具体操作如查询、更新、删除等。
S102根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立。
具体的,可基于磁盘索引数据中的关键词与文档标识的倒排索引关系在内存索引数据库中预存部分关键词(业务主键如商品)与文档标识的倒排索引关系。
之后以该内存索引数据库中预存的倒排索引关系为基础进一步建立内存索引数据。
S103根据所述操作指令对所述第一目标数据执行相应的操作。
当上述数据操作请求为数据获取请求时,用于将获取的第一目标数据返回数据请求方。当上述数据操作请求为数据更新请求时,用于将获取的第一目标数据进行替换更新。
进一步的,当数据操作请求为数据获取请求且用户希望获得更详细的数据时,所述方法还包括:
根据所述目标文档标识在所述磁盘索引数据中进行查询获得第二目标数据;
根据所述第一目标数据替换所述第二目标数据中的对应部分,生成最终目标数据并返回至数据请求方。
当然,本申请中还可以在内存中获取多个数据进行交集计算,确定第一目标数据。
考虑索引的需求不同,内存索引中创建有内存正排索引数据和内存倒排索引数据。其中内存正排索引数据和内存倒排索引数据均可以以数组形式表示。内存正排索引数据由文档id和对应的关键词集合组成。内存倒排索引数据由关键词和对应的文档id集合组成。文档id对应一业务主键如商品等。其中一个业务主键可以对应多个文档id,但一个文档id只对应一个业务主键。
其中内存正排索引数据可以由二维数组构成;所述数组的第一维为与第一类关键词(如商品)对应的所述文档id,第二维为与第一类关键词(如商品)对应的第二类关键词(如价格)。更优选的,数组的下标位置还可以对应第三类关键词(如城市)
当对内存正排索引数据进行数据更新时,所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组;
根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
对所述第一目标数据进行更新。
当对内存正排索引数据进行数据获取时,所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组;
根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
获取所述第一目标数据并发送至所述请求发送方。
针对内存倒排索引数据,所述方法还包括所述内存倒排索引数据建立过程:
获取第四类关键词(如优惠券)以及与第四类关键词对应的第五类关键词(如商品)集合;
根据预存的所述文档标识与第五类关键词(如商品)的对应关系建立第四类关键词与其对应的文档标识集合,形成内存倒排索引数据。
若所述第四类关键词为优惠券规则,所述第五类关键词为商品;
则所述内存倒排索引数据建立过程包括:
获取优惠券规则以及与优惠券规则对应的商品集合;
根据预存的所述文档标识与商品的对应关系建立优惠券规则与其对应的文档标识集合的对应关系,形成所述内存倒排索引数据。
当针对内存倒排索引数据进行检索时,只需要根据第四类关键词在内存倒排索引数据中进行查询即可得到对应的倒排数据。
当需要更改第四类关键词对应的第五类关键词即可,可直接按照上述过程重新建立一个倒排索引表即可。
而对于已经失效的数据如已经失效的优惠券规则,可根据第四类关键词在内存倒排索引数据中进行查询将获得的倒排索引数据表删除即可。
实施例四
本申请对应上述实施例四还公开一种数据操作装置,如图11所示,所述装置包括:
请求接收单元11,用于接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
第一目标数据确定单元12,用于根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
操作执行单元13,用于根据所述操作指令对所述第一目标数据执行相应的操作。
当上述数据操作请求为数据获取请求时,操作执行单元13,用于将获取的第一目标数据返回数据请求方。当上述数据操作请求为数据更新请求时,操作执行单元13,用于将获取的第一目标数据进行替换更新。
进一步的,当数据操作请求为数据获取请求且用户希望获得更详细的数据时,所述装置还包括:
第二目标数据确定单元14,用于根据所述目标文档标识在所述磁盘索引数据中进行查询获得第二目标数据;
最终数据确定单元15,用于根据所述第一目标数据替换所述第二目标数据中的对应部分,生成最终目标数据以返回至数据请求方。
当然,本申请中第一目标数据确定单元12还可以用于在内存中获取多个数据进行交集计算,以确定第一目标数据。
考虑索引的需求不同,内存索引中创建有内存正排索引数据和内存倒排索引数据。其中内存正排索引数据和内存倒排索引数据均可以以数组形式表示。内存正排索引数据由文档id和对应的关键词集合组成。内存倒排索引数据由关键词和对应的文档id集合组成。文档id对应一业务主键如商品等。其中一个业务主键可以对应多个文档id,但一个文档id只对应一个业务主键。
其中内存正排索引数据可以由二维数组构成;所述数组的第一维为与第一类关键词(如商品)对应的所述文档id,第二维为与第一类关键词(如商品)对应的第二类关键词(如价格)。更优选的,数组的下标位置还可以对应第三类关键词(如城市)
当对内存正排索引数据进行数据更新时,所述第一目标数据确定单元12包括:
目标数组确定单元,用于根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组;
第一目标数据确定子单元,用于根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述操作执行单元13用于对所述第一目标数据进行更新。
当数据请求为对内存正排索引数据进行数据获取时,所述第一目标数据确定单元12具体用于
根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组并根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述操作执行单元13用于获取所述第一目标数据以发送至所述请求发送方。
针对内存倒排索引数据,所述装置还包括倒排索引创建单元,用于
获取第四类关键词(如优惠券)以及与第四类关键词对应的第五类关键词(如商品)集合,根据预存的所述文档标识与第五类关键词(如商品)的对应关系建立第四类关键词与其对应的文档标识集合,形成内存倒排索引数据。
若所述第四类关键词为优惠券规则,所述第五类关键词为商品;
则倒排索引创建单元具体用于,获取优惠券规则以及与优惠券规则对应的商品集合,根据预存的所述文档标识与商品的对应关系建立优惠券规则与其对应的文档标识集合的对应关系,形成所述内存倒排索引数据。
实施例五
对应上述方法和装置,本申请再一方面还公开一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
根据所述操作指令对所述第一目标数据执行相应的操作。
其中,图12示例性的展示出了计算机系统的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机系统1500运行的操作系统1521,用于控制计算机系统1500的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器1523,数据存储管理系统1524,以及图标字体处理系统1525等等。上述图标字体处理系统1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。
输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机系统1500还可以从虚拟资源对象领取条件信息数据库1541中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的数据处理方法、装置及设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据操作方法,其特征在于,所述方法包括:
接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
根据所述操作指令对所述第一目标数据执行相应的操作。
2.如权利要求1所述的数据操作方法,其特征在于,所述数据操作请求为数据获取请求;
所述方法还包括:
根据所述目标文档标识在所述磁盘索引数据中进行查询获得第二目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
根据所述第一目标数据替换所述第二目标数据中的对应部分,生成最终目标数据并返回至数据请求方。
3.如权利要求1所述的数据操作方法,其特征在于,所述内存索引包括由二维数组构成的内存正排索引数据;所述数组的第一维为与第一类关键词对应的所述文档标识,第二维为与所述第一类关键词对应的第二类关键词。
4.如权利要求3所述的数据操作方法,其特征在于,所述数据操作请求为数据更新请求;
所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组;
根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
对所述第一目标数据进行更新。
5.如权利要求3所述的数据操作方法,其特征在于,所述数据操作请求为数据获取请求;
所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据与所述查询词中第一类关键词对应的文档标识在内存正排索引数据中确定目标数组;
根据所述查询词中第二类关键词从所述目标数组中确定对应的第一目标数据;
所述根据所述操作指令对所述第一目标数据执行相应的操作包括:
获取所述第一目标数据并发送至所述请求发送方。
6.如权利要求3所述的数据操作方法,其特征在于,所述二维数组由商品对应的文档标识数组和全国各城市的商品价格数组组成;数组中所述商品价格的下标为所述商品价格对应的城市;
所述根据所述查询词在内存索引数据中进行查询,确定第一目标数据包括:
根据所述目标商品确定对应的目标文档标识;
确定所述目标文档标识对应的全国各城市的目标商品价格数组;
确定所述目标城市在目标商品价格数组中的目标下标;
确定所述目标商品价格数组中的目标下标位置的价格为第一目标数据。
7.如权利要求1至6任意一项所述的数据操作方法,其特征在于,所述内存索引包括内存倒排索引数据;所述方法还包括:
接收所述内存倒排索引数据建立过程:
获取第四类关键词以及与第四类关键词对应的第五类关键词集合;
根据预存的所述文档标识与第五类关键词的对应关系建立第四类关键词与其对应的文档标识集合,形成内存倒排索引数据。
8.如权利要求7所述的数据操作方法,其特征在于,所述第四类关键词为优惠券规则,所述第五类关键词为商品;
所述内存倒排索引数据建立过程包括:
获取优惠券规则以及与优惠券规则对应的商品集合;
根据预存的所述文档标识与商品的对应关系建立优惠券规则与其对应的文档标识集合的对应关系,形成所述内存倒排索引数据。
9.一种数据操作装置,其特征在于,所述装置包括:
请求接收单元,用于接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
第一目标数据确定单元,用于根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
操作执行单元,用于根据所述操作指令对所述第一目标数据执行相应的操作。
10.一种计算机系统,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收请求方发送的数据操作请求;所述数据操作请求中包括查询词和操作指令;
根据所述查询词在内存索引数据中进行查询,确定包含有目标文档标识的第一目标数据;所述内存索引数据基于磁盘索引数据中的文档标识与部分关键词的对应关系建立;
根据所述操作指令对所述第一目标数据执行相应的操作。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910862672.6A CN110737747A (zh) | 2019-09-12 | 2019-09-12 | 一种数据操作方法、装置及系统 |
PCT/CN2020/105957 WO2021047323A1 (zh) | 2019-09-12 | 2020-07-30 | 一种数据操作方法、装置及系统 |
CA3154763A CA3154763A1 (en) | 2019-09-12 | 2020-07-30 | Data operation method, device and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910862672.6A CN110737747A (zh) | 2019-09-12 | 2019-09-12 | 一种数据操作方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737747A true CN110737747A (zh) | 2020-01-31 |
Family
ID=69267581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910862672.6A Pending CN110737747A (zh) | 2019-09-12 | 2019-09-12 | 一种数据操作方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110737747A (zh) |
CA (1) | CA3154763A1 (zh) |
WO (1) | WO2021047323A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488342A (zh) * | 2020-04-07 | 2020-08-04 | 小红书科技有限公司 | 一种建立数据索引的方法及系统 |
CN112232903A (zh) * | 2020-09-27 | 2021-01-15 | 北京五八信息技术有限公司 | 一种业务对象的展示方法和装置 |
CN112380416A (zh) * | 2020-11-25 | 2021-02-19 | 北京慕华信息科技有限公司 | 一种更新课程索引的方法、课程搜索方法和装置 |
WO2021047323A1 (zh) * | 2019-09-12 | 2021-03-18 | 苏宁云计算有限公司 | 一种数据操作方法、装置及系统 |
CN114035974A (zh) * | 2021-10-14 | 2022-02-11 | 杭州隆埠科技有限公司 | 数据操作方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118154140B (zh) * | 2024-05-13 | 2024-08-02 | 山东中翰软件有限公司 | 一种基于源端静态数据的智能数据建模管理系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646130A (zh) * | 2012-03-12 | 2012-08-22 | 华中科技大学 | 一种海量历史数据的存储及索引方法 |
CN103294731A (zh) * | 2012-03-05 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 实时索引建立、实时搜索方法及装置 |
CN104281717A (zh) * | 2014-10-31 | 2015-01-14 | 晶赞广告(上海)有限公司 | 一种建立海量id映射关系的方法 |
CN104504030A (zh) * | 2014-12-12 | 2015-04-08 | 国家电网公司 | 一种面向电力调度自动化海量报文的索引方法 |
US20170351697A1 (en) * | 2016-06-03 | 2017-12-07 | Dell Products L.P. | Maintaining data deduplication reference information |
CN107992569A (zh) * | 2017-11-29 | 2018-05-04 | 北京小度信息科技有限公司 | 数据访问方法、装置、电子设备及计算机可读存储介质 |
CN108573063A (zh) * | 2018-04-27 | 2018-09-25 | 宁波银行股份有限公司 | 一种数据查询方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444343B2 (en) * | 2006-03-31 | 2008-10-28 | Microsoft Corporation | Hybrid location and keyword index |
CN104408097B (zh) * | 2014-11-17 | 2018-07-20 | 深圳市比一比网络科技有限公司 | 一种基于字符段热更新的混合索引方法及系统 |
CN108694188B (zh) * | 2017-04-07 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 一种索引数据更新的方法以及相关装置 |
CN110737747A (zh) * | 2019-09-12 | 2020-01-31 | 苏宁云计算有限公司 | 一种数据操作方法、装置及系统 |
-
2019
- 2019-09-12 CN CN201910862672.6A patent/CN110737747A/zh active Pending
-
2020
- 2020-07-30 CA CA3154763A patent/CA3154763A1/en active Pending
- 2020-07-30 WO PCT/CN2020/105957 patent/WO2021047323A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294731A (zh) * | 2012-03-05 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 实时索引建立、实时搜索方法及装置 |
CN102646130A (zh) * | 2012-03-12 | 2012-08-22 | 华中科技大学 | 一种海量历史数据的存储及索引方法 |
CN104281717A (zh) * | 2014-10-31 | 2015-01-14 | 晶赞广告(上海)有限公司 | 一种建立海量id映射关系的方法 |
CN104504030A (zh) * | 2014-12-12 | 2015-04-08 | 国家电网公司 | 一种面向电力调度自动化海量报文的索引方法 |
US20170351697A1 (en) * | 2016-06-03 | 2017-12-07 | Dell Products L.P. | Maintaining data deduplication reference information |
CN107992569A (zh) * | 2017-11-29 | 2018-05-04 | 北京小度信息科技有限公司 | 数据访问方法、装置、电子设备及计算机可读存储介质 |
CN108573063A (zh) * | 2018-04-27 | 2018-09-25 | 宁波银行股份有限公司 | 一种数据查询方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021047323A1 (zh) * | 2019-09-12 | 2021-03-18 | 苏宁云计算有限公司 | 一种数据操作方法、装置及系统 |
CN111488342A (zh) * | 2020-04-07 | 2020-08-04 | 小红书科技有限公司 | 一种建立数据索引的方法及系统 |
CN112232903A (zh) * | 2020-09-27 | 2021-01-15 | 北京五八信息技术有限公司 | 一种业务对象的展示方法和装置 |
CN112232903B (zh) * | 2020-09-27 | 2022-01-11 | 北京五八信息技术有限公司 | 一种业务对象的展示方法和装置 |
CN112380416A (zh) * | 2020-11-25 | 2021-02-19 | 北京慕华信息科技有限公司 | 一种更新课程索引的方法、课程搜索方法和装置 |
CN114035974A (zh) * | 2021-10-14 | 2022-02-11 | 杭州隆埠科技有限公司 | 数据操作方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CA3154763A1 (en) | 2021-03-18 |
WO2021047323A1 (zh) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737747A (zh) | 一种数据操作方法、装置及系统 | |
CN101689201B (zh) | 联合搜索 | |
CN110019292B (zh) | 一种数据的查询方法及装置 | |
CN110020086B (zh) | 一种用户画像查询方法及装置 | |
CN109614402B (zh) | 多维数据查询方法和装置 | |
CN107122431A (zh) | 一种实时计算平台及基于实时计算平台的数据计算方法 | |
CN111241108B (zh) | 基于键值对kv系统的索引方法、装置、电子设备和介质 | |
US20210382896A1 (en) | High Efficiency Data Querying | |
CN106326243B (zh) | 一种数据处理方法及装置 | |
US10134067B2 (en) | Autocomplete of searches for data stored in multi-tenant architecture | |
CN109359237A (zh) | 一种用于搜索寄宿程序的方法与设备 | |
CN114564620A (zh) | 图数据存储方法、系统及计算机设备 | |
CN110515979B (zh) | 数据查询方法、装置、设备和存储介质 | |
CN105574010B (zh) | 数据查询方法及装置 | |
CN102193988A (zh) | 一种图形数据库节点数据的检索方法及系统 | |
CN111125156A (zh) | 数据的查询方法、装置和电子设备 | |
CN108763524A (zh) | 电子装置、聊天数据处理方法和计算机可读存储介质 | |
CN113626032B (zh) | 列表页的配置方法、装置及存储介质 | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
CN111427910A (zh) | 数据处理方法及装置 | |
JP2011216029A (ja) | 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム | |
CN116186337A (zh) | 一种业务场景数据处理方法、系统及电子设备 | |
CN113761102B (zh) | 数据处理方法、装置、服务器、系统和存储介质 | |
CN117425887A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN110781375A (zh) | 一种用户状态标识确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |