网络数据查询方法、装置和系统与流程

文档序号:12824808阅读:306来源:国知局
网络数据查询方法、装置和系统与流程

本申请涉及互联网技术领域,尤其涉及一种网络数据查询方法、装置和系统。



背景技术:

用户在使用移动应用时,会遇到需要向服务端查询数据的情况。例如,用户通过移动应用的客户端向服务端查询店铺详情数据。目前每次进行数据查询时,都会返回基本一致的完整数据。但是,完整数据的部分数据是在很长时间内保持不变的,例如地址、电话等。如果每次查询都要返回这些基本不变的数据,无疑会增加不必要的流量开销,可以增加用户等待时间。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的一个目的在于提出一种网络数据查询方法,该方法可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

本申请的另一个目的在于提出一种网络数据查询装置。

本申请的另一个目的在于提出一种网络数据查询系统。

为达到上述目的,本申请第一方面实施例提出的网络数据查询方法,包括:接收客户端发送的查询请求,并获取所述查询请求对应的查询数据;计算所述查询数据中固定数据集合的特征值,所述固定数据集合是预先选定的数据字段组成的集合;如果所述查询请求中包含特征值,且计算得到的特征值与所述查询请求中包含的特征值相同,则从所述查询数据中删除所述固定数据集合,并将删除固定数据集合的查询数据以及计算得到的特征值作为查询结果发送给客户端。

本申请第一方面实施例提出的网络数据查询方法,通过计算固定数据集合的特征值,并在查询请求中包含相同的特征值时不再发送固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

为达到上述目的,本申请第二方面实施例提出的网络数据查询方法,包括:向服务端发送查询请求,以使所述服务端获取所述查询请求对应的查询数据;接收所述服务端发送的查询结果,其中,当所述查询请求中包含特征值,且与服务端计算得到的所述查询数据中固定数据集合的特征值相同时,所述查询结果包括:所述查询数据中删除所述固定数据集合后的数据及所述服务端计算得到的特征值;缓存所述查询结果。

本申请第二方面实施例提出的网络数据查询方法,通过在服务端计算的特征值与查询请求中包含的特征值相同时,在接收的服务端发送的查询结果中不包含固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

为达到上述目的,本申请第三方面实施例提出的网络数据查询装置,包括:接收模块,用于接收客户端发送的查询请求,并获取所述查询请求对应的查询 数据;计算模块,用于计算所述查询数据中固定数据集合的特征值,所述固定数据集合是预先选定的数据字段组成的集合;第一发送模块,用于如果所述查询请求中包含特征值,且计算得到的特征值与所述查询请求中包含的特征值相同,则从所述查询数据中删除所述固定数据集合,并将删除固定数据集合的查询数据以及计算得到的特征值作为查询结果发送给客户端。

本申请第三方面实施例提出的网络数据查询装置,通过计算固定数据集合的特征值,并在查询请求中包含相同的特征值时不再发送固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

为达到上述目的,本申请第四方面实施例提出的网络数据查询装置,包括:发送模块,用于向服务端发送查询请求,以使所述服务端获取所述查询请求对应的查询数据;接收模块,用于接收所述服务端发送的查询结果,其中,当所述查询请求中包含特征值,且与服务端计算得到的所述查询数据中固定数据集合的特征值相同时,所述查询结果包括:所述查询数据中删除所述固定数据集合后的数据及所述服务端计算得到的特征值;缓存模块,用于缓存所述查询结果。

本申请第四方面实施例提出的网络数据查询装置,通过在服务端计算的特征值与查询请求中包含的特征值相同时,在接收的服务端发送的查询结果中不包含固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

为达到上述目的,本申请第五方面实施例提出的网络数据查询系统,包括:本申请第三方面实施例提出的网络数据查询装置,以及,本申请第四方面实施例提出的网络数据查询装置。

本申请第五方面实施例提出的网络数据查询系统,通过计算固定数据集合的特征值,并在查询请求中包含相同的特征值时不再发送固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

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

图1是本申请一实施例提出的网络数据查询方法的流程示意图;

图2是本申请另一实施例提出的网络数据查询方法的流程示意图;

图3是本申请另一实施例提出的网络数据查询方法的流程示意图;

图4是本申请另一实施例提出的网络数据查询方法的流程示意图;

图5是本申请另一实施例提出的网络数据查询装置的结构示意图;

图6是本申请另一实施例提出的网络数据查询装置的结构示意图;

图7是本申请另一实施例提出的网络数据查询装置的结构示意图;

图8是本申请另一实施例提出的网络数据查询装置的结构示意图;

图9是本申请另一实施例提出的网络数据查询装置的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模 块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本申请一实施例提出的网络数据查询方法的流程示意图,该方法包括:

s11:接收客户端发送的查询请求,并获取所述查询请求对应的查询数据。

当用户需要获取数据时,例如需要查看店铺详情数据时,可以通过客户端向服务端发送查询请求,以获取相应的查询数据。

服务端接收到客户端发送的查询请求后,可以根据查询请求中包含的信息获取对应的查询数据。例如,查询请求中会包含要查询店铺详情数据的指示信息以及具体的店铺标识信息,服务端根据指示信息可以确定要查询店铺详情数据,并从保存店铺详情数据的数据库中查询到店铺标识信息对应的店铺详情数据,从而得到查询请求对应的查询数据。

s12:计算所述查询数据中固定数据集合的特征值,所述固定数据集合是预先选定的数据字段组成的集合。

预先选定的数据字段组成的固定数据集合例如是根据经验得到的具有关联性的不易变化的数据字段的集合。例如,商家的基本信息可以成为一个固定数据集合,包含商家名字、地址、电话。

特征值例如为哈希(hash)值。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。或者,

特征值例如为数据的最后被修改时间。本申请实施例中将以特征值是哈希值为例。

s13:如果所述查询请求中包含特征值,且计算得到的特征值与所述查询请求中包含的特征值相同,则从所述查询数据中删除所述固定数据集合,并将删除固定数据集合的查询数据以及计算得到的特征值作为查询结果发送给客户端。

例如,根据查询请求得到的对应的查询数据如下所示:

假设固定数据集合包括:

“image”:”http://xxxxxxx.jpg”,

“name”:”外婆家”,

“address”:”万塘路1号”,

“tel”:”0571-888888”,

“longitude”:”120.2”,

“latitude”:”30.3”,

“support”:[“wifi”,”停车位”,”信用卡支付”],

且根据上述的固定数据集合计算的哈希值为:“hash1”:”aa21ebb1f3k”。

则当查询请求中包含上述的“hash1”:”aa21ebb1f3k”,则返回给客户端的查询结果中将不包含上述的固定数据集合,具体的,查询结果包括:

一些实施例中,参见图2,该方法还可以包括:

s14:如果所述查询请求中不包含特征值,或者,计算得到的特征值与包含的特征值不同,则将所述查询数据和计算得到的特征值作为查询结果发送给客户端。

例如,如果查询请求中不包含上述的“hash1”:”aa21ebb1f3k”,则返回的查询结果是:

本实施例中,通过计算固定数据集合的特征值,并在查询请求中包含相同的特征值时不再发送固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

图3是本申请另一实施例提出的网络数据查询方法的流程示意图,该方法包括:

s31:向服务端发送查询请求,以使所述服务端获取所述查询请求对应的查询数据。

当客户端需要从服务端获取数据时,可以向服务端发送查询请求以获取对应的查询数据。

s32:接收所述服务端发送的查询结果,其中,当所述查询请求中包含特征值,且与服务端计算得到的所述查询数据中固定数据集合的特征值相同时,所述查询结果包括:所述查询数据中删除所述固定数据集合后的数据及所述服务端计算得到的特征值。

例如,如上一实施例所示,当服务端计算得到的特征值与查询请求中包含的特征值相同时,服务端不再向客户端发送固定数据集合,以降低重复数据传输。

固定数据集合具有关联性的不易变化的数据字段组成的集合,例如商家基本信息。

特征值例如为哈希值或者数据的最后被修改时间。

另一方面,当所述查询请求中包含特征值,或者,所述查询请求中包含的特征值与所述服务端计算得到的特征值不同时,所述查询结果包括:所述查询数据及所述服务端计算得到的特征值。

例如,服务端计算得到的特征值与查询请求中的特征值不同,或查询请求中不包含特征值时,服务端向客户端发送的查询结果中将包括固定数据集合及对应的特征值以及其他的查询数据。

s33:缓存所述查询结果。

客户端接收到服务端发送的查询结果后,可以缓存该查询结果。从而缓存的查询结果可以作为后续流程的本地历史缓存。

一些实施例中,参见图4,该方法包括:

s41:查询本地历史缓存中是否存在特征值。

例如,客户端在本地历史缓存中进行查询以判断是否存在特征值。

相应的,向服务端发送查询请求包括:

s42:如果存在,则将存在的特征值包含在查询请求中发送给服务端。

例如,本地历史缓存中存在一个或多个特征值时,客户端将本地历史缓存中存在的所有特征值都包含在查询请求中并发送给服务端。

s43:如果不存在,则直接发送不包含特征值的查询请求给服务端。

例如,本地历史缓存中不存在特征值时,则客户端直接发送通常的查询请求给服务端。

服务端接收到查询请求后的处理流程可以参见上一实施例,在此不再赘述。

经过服务端的查询和处理,服务端可以向客户端返回查询结果。

一些实施例中,参见图4,在客户端接收并缓存服务端发送的查询结果(s44)之后,该方法还可以包括:

s45:判断本地历史缓存中是否存在特征值,若是,执行s46,否则执行s48。

例如,通过查看本地历史缓存可以判断出是否存在特征值。

s46:判断本地历史缓存中是否存在与接收的特征值相同的特征值,若是,执行s47,否则,执行s48。

通过将本地历史缓存中的特征值与接收的特征值进行比较,可以得到判断结果。

s47:从本地历史缓存中获取与接收的特征值对应的固定集合数据,并将固定集合数据和接收的查询数据作为用于后续业务处理的业务处理数据。

其中,本地历史缓存中可以对应保存特征值与数据集合,从而根据该对应关系,可以获取与接收的特征值对应的固定集合数据。

在从本地历史缓存中可以对应的固定集合数据后,可以与接收的查询数据一起组成业务处理数据,之后可以根据该业务处理数据进行后续的业务处理。

例如,本地历史缓存以及接收的查询结果中都包含:“hash1”:”aa21ebb1f3k”,则可以从本地历史缓存中获取hash1对应的固定数据集合,例如固定数据集合是:

另外,接收的查询结果中的查询数据是:

则通过组合从本地历史缓存中获取的固定集合数据和接收的查询数据,得到业务处理数据:

s48:将接收的查询数据作为用于后续业务处理的业务处理数据。

例如,接收的查询数据是:

则将上述的查询数据作为业务处理数据,用于后续的业务处理。

本实施例中,通过在服务端计算的特征值与查询请求中包含的特征值相同时,在接收的服务端发送的查询结果中不包含固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

图5是本申请另一实施例提出的网络数据查询装置的结构示意图,该装置50包括:接收模块51、计算模块52和第一发送模块53。

接收模块51,用于接收客户端发送的查询请求,并获取所述查询请求对应的查询数据。

当用户需要获取数据时,例如需要查看店铺详情数据时,可以通过客户端向服务端发送查询请求,以获取相应的查询数据。

服务端接收到客户端发送的查询请求后,可以根据查询请求中包含的信息获取对应的查询数据。例如,查询请求中会包含要查询店铺详情数据的指示信息以及具体的店铺标识信息,服务端根据指示信息可以确定要查询店铺详情数据,并从保存店铺详情数据的数据库中查询到店铺标识信息对应的店铺详情数据,从而得到查询请求对应的查询数据。

计算模块52,用于计算所述查询数据中固定数据集合的特征值,所述固定数据集合是预先选定的数据字段组成的集合。

预先选定的数据字段组成的固定数据集合例如是根据经验得到的具有关联性的不易变化的数据字段的集合。例如,商家的基本信息可以成为一个固定数据集合,包含商家名字、地址、电话。

特征值例如为哈希(hash)值。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。或者,特征值例如为数据的最后被修改时间。

第一发送模块53,用于如果所述查询请求中包含特征值,且计算得到的 特征值与所述查询请求中包含的特征值相同,则从所述查询数据中删除所述固定数据集合,并将删除固定数据集合的查询数据以及计算得到的特征值作为查询结果发送给客户端。

一些实施例中,参见图6,该装置还包括:

第二发送模块54,用于如果所述查询请求中不包含特征值,或者,计算得到的特征值与包含的特征值不同,则将所述查询数据和计算得到的特征值作为查询结果发送给客户端。

具体的查询结果的内容可以参见上述方法实施例中的相关描述,在此不再赘述。

本实施例中,通过计算固定数据集合的特征值,并在查询请求中包含相同的特征值时不再发送固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

图7是本申请另一实施例提出的网络数据查询装置的结构示意图,该装置70包括:发送模块71、接收模块72和缓存模块73。

发送模块71,用于向服务端发送查询请求,以使所述服务端获取所述查询请求对应的查询数据。

当客户端需要从服务端获取数据时,可以向服务端发送查询请求以获取对应的查询数据。

接收模块72,用于接收所述服务端发送的查询结果,其中,当所述查询请求中包含特征值,且与服务端计算得到的所述查询数据中固定数据集合的特征值相同时,所述查询结果包括:所述查询数据中删除所述固定数据集合后的数据及所述服务端计算得到的特征值。

一些实施例中,当所述查询请求中包含特征值,或者,所述查询请求中包 含的特征值与所述服务端计算得到的特征值不同时,所述查询结果包括:所述查询数据及所述服务端计算得到的特征值。

例如,当服务端计算得到的特征值与查询请求中包含的特征值相同时,服务端不再向客户端发送固定数据集合,以降低重复数据传输。

固定数据集合具有关联性的不易变化的数据字段组成的集合,例如商家基本信息。

特征值例如为哈希值或者数据的最后被修改时间。

另一方面,当所述查询请求中包含特征值,或者,所述查询请求中包含的特征值与所述服务端计算得到的特征值不同时,所述查询结果包括:所述查询数据及所述服务端计算得到的特征值。

例如,服务端计算得到的特征值与查询请求中的特征值不同,或查询请求中不包含特征值时,服务端向客户端发送的查询结果中将包括固定数据集合及对应的特征值以及其他的查询数据。

缓存模块73,用于缓存所述查询结果。

客户端接收到服务端发送的查询结果后,可以缓存该查询结果。从而缓存的查询结果可以作为后续流程的本地历史缓存。

一些实施例中,参见图8,该装置70还包括:

查询模块74,用于查询本地历史缓存中是否存在特征值;

例如,客户端在本地历史缓存中进行查询以判断是否存在特征值。

相应的,发送模块71具体用于:

如果查询模块的判断结果是存在,则将存在的特征值包含在查询请求中发送给服务端;

如果查询模块的判断结果是不存在,则直接发送不包含特征值的查询请求 给服务端。

例如,本地历史缓存中存在一个或多个特征值时,客户端将本地历史缓存中存在的所有特征值都包含在查询请求中并发送给服务端。

例如,本地历史缓存中不存在特征值时,则客户端直接发送通常的查询请求给服务端。

一些实施例中,参见图8,该装置70还包括:

第一判断模块75,用于判断本地历史缓存中是否存在特征值。

例如,通过查看本地历史缓存可以判断出是否存在特征值。

第二判断模块76,用于如果第一判断模块的判断结果是存在,判断本地历史缓存中是否存在与接收的特征值相同的特征值。

通过将本地历史缓存中的特征值与接收的特征值进行比较,可以得到判断结果。

第一处理模块77,用于如果第二判断模块的判断结果是存在相同的特征值,从本地历史缓存中获取相同的特征值对应的固定集合数据,并将固定集合数据和接收的查询数据作为用于后续业务处理的业务处理数据。

其中,本地历史缓存中可以对应保存特征值与数据集合,从而根据该对应关系,可以获取与接收的特征值对应的固定集合数据。

在从本地历史缓存中可以对应的固定集合数据后,可以与接收的查询数据一起组成业务处理数据,之后可以根据该业务处理数据进行后续的业务处理。

第二处理模块78,用于如果第一判断模块的判断结果是本地历史缓存中不存在特征值或第二判断模块的判断结果是不存在与接收的特征值相同的特征值,将接收的查询数据作为用于后续业务处理的业务处理数据。

具体的业务处理数据的内容可以参见上述方法实施例中的相关描述,在此 不再赘述。

本实施例中,通过在服务端计算的特征值与查询请求中包含的特征值相同时,在接收的服务端发送的查询结果中不包含固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

图9是本申请另一实施例提出的网络数据查询装置的结构示意图,该装置90包括:客户端装置91和服务端装置92。

其中,客户端装置91可以如图7或图8所示,服务端装置92可以如图5或图6所示。

本实施例中,通过计算固定数据集合的特征值,并在查询请求中包含相同的特征值时不再发送固定数据集合,可以减少不必要的重复数据的传输,从而降低不必要的网络流量开销及用户等待时间。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方 式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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