CN106649304A - 数据查询的方法、装置及*** - Google Patents

数据查询的方法、装置及*** Download PDF

Info

Publication number
CN106649304A
CN106649304A CN201510713899.6A CN201510713899A CN106649304A CN 106649304 A CN106649304 A CN 106649304A CN 201510713899 A CN201510713899 A CN 201510713899A CN 106649304 A CN106649304 A CN 106649304A
Authority
CN
China
Prior art keywords
inquiry
request
marks
data
inquiry request
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
Application number
CN201510713899.6A
Other languages
English (en)
Inventor
王卫慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510713899.6A priority Critical patent/CN106649304A/zh
Publication of CN106649304A publication Critical patent/CN106649304A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据查询的方法、装置及***,涉及电通信技术领域,为解决客户端无法输出在先查询结果的问题而发明。本发明的方法包括:为待发送的查询请求生成不重复的请求标记;向服务端发送携带请求标记的查询请求;接收服务端返回的查询响应,查询响应中携带有查询数据,以及对应查询响应的查询请求所携带的请求标记;根据接收的请求标记查找对应查询响应的查询请求;通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。本发明主要应用于基于HTTP协议的数据查询过程中。

Description

数据查询的方法、装置及***
技术领域
本发明涉及电通信技术领域,尤其涉及一种数据查询的方法、装置及***。
背景技术
数据查询是现代互联网技术中最为基本的数据交互手段,在浏览器应用及数据库查询***中得到了广泛的使用。典型的数据查询过程涉及作为查询发起方的客户端和作为查询响应方的服务端两侧。客户端发起一个查询请求,将查询条件(例如需要访问的主机地址)添加到查询请求中发送给服务端。服务端对查询请求的内容进行解析,根据查询条件进行数据查询,并通过返回查询响应的方式将查询结果(例如网页数据)返回给客户端。
在现有的数据查询过程中发明人发现:受网络传输条件或者服务端负荷情况的影响,客户端接收查询响应可能会发生延时。当客户端在短时间内先后发起多次查询请求时,在在先查询请求对应的查询响应返回之前用户就进行了下一次查询操作。在此之后,当客户端先后返回了各个查询响应时,为保证查询结果匹配于用户当前的查询操作,现有技术仅会向用户返回最后一次查询操作对应的查询结果,由此导致在先查询操作所请求的查询结果无法输出显示。
发明内容
本发明提供了一种数据查询的方法、装置及***,能够解决客户端无法输出在先查询结果的问题。
为解决上述问题,一方面,本发明提供了一种数据查询的方法,包括:
为待发送的查询请求生成不重复的请求标记;
向服务端发送携带请求标记的查询请求;
接收服务端返回的查询响应,查询响应中携带有查询数据,以及对应查询响应的查询请求所携带的请求标记;
根据接收的请求标记查找对应查询响应的查询请求;
通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
另一方面,本发明还提供了一种数据查询的装置,包括:
生成单元,用于为待发送的查询请求生成不重复的请求标记;
发送单元,用于向服务端发送携带请求标记的查询请求;
接收单元,用于接收服务端返回的查询响应,查询响应中携带有查询数据,以及对应查询响应的查询请求所携带的请求标记;
查找单元,用于根据接收的请求标记查找对应查询响应的查询请求;
显示单元,用于通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
再一方面,本发明还提供了一种数据查询的***,包括:客户端和服务端;
客户端,用于为待发送的查询请求生成不重复的请求标记,向服务端发送携带请求标记的查询请求;
服务端,用于响应查询请求进行数据查询,解析查询请求获得请求标记,将请求标记及数据查询获得的查询数据添加到对应查询请求的查询响应中返回给客户端;
客户端,还用于接收服务端返回的查询响应,根据接收的请求标记查找对应查询响应的查询请求,通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
本发明提供的数据查询的方法、装置及***,能够在向服务端发送的查询请求中添加一个唯一的请求标记,由服务端将该请求标记添加到对应该查询请求的查询响应中返回给客户端。在接收到查询响应时,客户端根据查询响应中的请求标记查找对应该查询响应的查询请求,并通过弹窗的方式关联显示在先的查询条件及查询数据。与现有技术相比,本发明能够在不影响用户当前查询操作的同时对往次查询结果予以显示,保证查询服务的完整和有效。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据查询的方法流程图;
图2示出了本发明实施例提供的另一种数据查询的方法流程图;
图3示出了本发明实施例提供的一种数据查询的装置的组成框图;
图4示出了本发明实施例提供的另一种数据查询的装置的组成框图;
图5示出了本发明实施例提供的一种数据查询的***框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据查询的方法,如图1所示,该方法包括:
101、为待发送的查询请求生成不重复的请求标记。
客户端在每次发起查询请求前,均为待发送的查询请求生成一个请求标记,该请求标记不重复生成也不重复使用,由此保证每个查询请求的请求标记唯一有效。
实际应用中,客户端可以在发送查询请求前,临时生成一个请求标记,也可以预先生成多个不重复的请求标记,将其预存在标记列表或标记队列中,当发起查询请求时从中选取一个请求标记分配给待发送的查询请求。本实施例不对生成请求标记的时机进行限制。
102、向服务端发送携带请求标记的查询请求。
客户端将生成的请求标记添加到查询请求的预设字段中,并向服务端发送携带请求标记的查询请求。实际应用中,可以在客户端与服务端两侧配置相同的私有协议,指定客户端添加请求标记的具体字段位置,以及服务端解析请求标记的具体字段位置。而对于无法通过改写协议指定字段位置的情况,也可以将请求标记脱离于查询请求进行单独发送。但是为保证请求标记与查询请求之间的强关联性,需要对发送请求标记和查询请求之间的时间间隔进行严格限制。较为理想的,该时间间隔应当远小于人为触发两次查询请求之间可能存在的最小时间间隔。
需要说明的是,本实施例中所述的私有协议是指传输层使用的协议类型,包括但不限于是传输控制协议(Transmission Control Protocol,简称TCP)及用户数据报协议(User Datagram Protocol,简称UDP),本实施例并不对应用层使用的诸如超文本传输协议(Hypertext Transfer Protocol,简称HTTP)等公有协议进行排斥。
103、接收服务端返回的查询响应。
服务端在接收到查询请求后,从中解析出查询条件信息,并从指定的字段位置中解析出客户端添加的请求标记。然后根据查询条件信息查找对应的查询数据,并将查询数据作为查询结果添加到查询响应中。区别于现有技术的是,服务端还会将解析出的请求标记添加到查询响应中,以便客户端后续识别查询响应之用。
与步骤102类似的,服务端添加请求标记的字段位置也可以由私有协议自由指定。在一种较为简便的实现方式中,可以将客户端及服务端添加请求标记的字段位置指定为同一位置。
104、根据接收的请求标记查找对应查询响应的查询请求。
为实现对请求标记的比对,客户端需要按照发起时序对已发送的查询请求进行缓存。在接收到查询响应时,客户端从查询响应中解析出查询数据以及服务端添加的请求标记,并对缓存的查询请求逐条解析以获得其中的请求标记。然后在从缓存中解析出的请求标记中查找接收到的请求标记,并将该接收到的请求标记所对应的查询请求确定为作为本步骤查找对象的查询请求。通过请求标记,客户端可以找出相互关联的查询请求和查询响应。
105、通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
在找出与查询响应对应的查询请求后,客户端从查询请求中解析出查询条件,例如查询字符串、查询字段等。然后在当前显示的查询界面中显示一个弹出窗口,对查询请求中的查询数据以及查询请求中的查询条件进行关联显示。在本实施例的一种实现方式中,如果客户端可以与数据查询软件或者浏览器的开发方进行页面定制,那么可以将弹出窗口设置在查询页面之中。具体而言,对于超文本标记语言(Hypertext Markup Language,简称HTML)页面而言,可以通过定制的形式将弹出窗口的程序代码植入到页面源代码中,以HTML页面内嵌的形式显示弹出窗口。而在本实施例的另一种实现方式中,如若无法进行页面定制,则可以通过在页面图层之上覆盖新图层的方式,显示Flash类型的弹出窗口。对于后者实现方式弹出窗口的位置不受原页面尺寸范围的限制。
本实施例中所述的关联显示是指通过不同的可视化显示形式对查询条件和查询数据进行标注,以使得用户可以通过该种显示形式辨认出哪个查询条件对应哪个查询数据。一般可以采用菜单列表的形式进行显示。其中,列表纵向至少包含“查询条件”和“查询数据”两个字段,当然也可以包含查询操作序号等其他辅助字段;列表横向包含与接收到的查询响应数量相同的数据行,每一行用于显示一对“查询条件+查询数据”,通常数据行的数量不大于已发送的查询请求的数量。此外,客户端可以按照预设规则对数据行的排列顺序进行调整,预设规则包括但不限于是:发起查询请求的先后顺序、接收查询响应的先后顺序。
实际应用中,查询数据的数据量通常较大(例如文档数据),或者查询数据无法通过文本形式进行显示(例如网页链接、图片等),这种情况下,客户端可以在“查询数据”字段中仅显示查询数据的超链接地址或链接控件等操作对象。当用户点击该操作对象时客户端跳转到新页面对查询数据的具体内容予以展示。
对于弹出窗口的尺寸和显示位置,以不影响用户对当前页面的使用为原则进行设置。较为实用的实现方式为,将长宽分别不超过页面长宽二分之一的弹出窗口显示于页面的左/右下角。此外,对于具有固定布局结构页面,例如专利检索页面或者定制的数据库查询页面,客户端也可以调取页面源代码,通过对层叠样式表(Cascading Style Sheets,简称CSS)文件的解析自动识别页面中的空白区域,并依据空白区域的大小将弹出窗口动态设置于该区域中。本实施例所述的空白区域是指页面中不显示文字、图片等数据内容,并且不包含操作控件的尺寸较为规整的页面位置。
而在本实施例的另一种实现方式中,为进一步减少弹出窗口对用户操作的影响,客户端还可以仅显示一个提示对话框,提示用户接收到了新的查询结果,如若用户点击该对话框,则客户端显示弹出窗口。实际应用中,适宜设置对话框的位置包括但不限于是:页面边角位置、页面中央、工具栏中以及信息提示栏中。
本实施例中,客户端可以在每接收到一个查询响应时进行一次弹窗显示,也可以在接收到部分或全部查询响应时批量进行弹窗显示。其中,接收到部分查询响应的情况包括:1、接收到不大于查询请求数量的任一预设数量的查询响应;2、在一个预设的时段周期内接收到的查询响应;3、接收来自同一主机的查询响应;4、接收属于同一查询主题的查询响应。
本实施例提供的方法适用于实际生活中的所有数据查询场景,这些场景包括但不限于是:通过浏览器请求网页内容、通过APP进行垂直搜索以及在私有网络中进行数据库查询等。下面通过一个简单的示例对现有技术和图1方法进行比较说明:
假设用户向垂直搜索服务器发送查询请求1,请求查询16款奥迪A4L全系车型的价格H,由于此时服务器负载较高,因此没有对查询请求1做出及时响应;此后用户又向服务器发送查询请求2,请求查询15款奔驰C200全系车型的价格L。在客户端发送查询请求2之后,服务器先后对查询请求1和查询请求2做出响应,将价格H和价格L返回给客户端。在现有技术中,客户端在接收到查询响应1后,判断其不为用户最后一次查询操作的响应,因此不输出价格H。而当接收到查询响应2后,由于该响应对应于用户最后一次的查询操作,因此客户端输出价格L。而在图1所示方法中,客户端在发送的查询请求1中添加了请求标记“110”,在发送的查询请求2中添加了请求标记“203”。服务器在响应查询请求1时,将其中的请求标记“110”添加到查询响应1中,连同价格H一同返回给客户端。客户端在接收到查询响应1后,根据其中的请求标记“110”查找到查询请求1,然后通过弹出窗口显示“16款奥迪A4L全系车型价格”+“价格H”的响应结果;而后当接收到查询响应2时,客户端通过请求标记“203”查找到查询请求2,并在弹出窗口中进一步显示“15款奔驰C200全系车型价格”+“价格L”的响应结果。
通过上述示例可以看出:现有技术中,客户端仅输出了最后一次查询操作对应的查询结果,虽然该查询结果是用户在进行第二次查询操作之后的所期待的内容,但是却牺牲了第一次查询操作对应的查询结果。相对而言,图1所示方法则能够将历次查询操作对应的查询结果,按照查询响应返回的先后顺序进行输出。无论用户进行了几次查询操作,客户端均可以将所有的查询结果反馈给用户。
进一步的,作为对图1所示方法的细化,本发明实施例还提供了一种数据查询的方法,如图2所示,该方法包括:
201、为待发送的查询请求生成不重复的请求标记。
本实施例中,能够作为请求标记使用的参数可以是伪随机数、信息摘要算法(Message-Digest Algorithm 5,简称MD5)值或者时间戳。下面分别对着三种参数的使用进行介绍:
1、伪随机数
客户端侧植入有一个伪随机数发生函数,该函数本身的特点在于每次生成的伪随机数互相不重复。在进行数据查询时,客户端可以单起一个线程监控浏览器等程序的运行状态。当产生查询请求时,该线程通过hook函数将发送动作截获,并跳转调用伪随机数发生函数生成伪随机数。
在本实施例的一种实现方式中,当使用C语言进行编译时,可以直接使用C语言编译器提供的、基于ansi标准的伪随机数发生器函数。这个函数由srand()和rand()两个子函数组成。在生成伪随机数时,首先为srand()提供一个名为“种子值”、类型为unsigned int的初始值,该初始值的取值范围为0~65535。通常情况下可以使用快速计数寄存器或移位寄存器随机分配该种子值。然后调用rand(),根据srand()的种子值返回一个伪随机数,该伪随机数是在0~32767的取值范围内随机选择的。当需要生成下一个伪随机数时重复调用rand(),仍从上述取值范围内随机选择出一个新的伪随机数。由于rand()理论上具有不重复选择的机制(即多次调用rand()选择出的伪随机数虽然都落于上述范围内,但是相互之间不会重复),因此本实施例中可以基于一个种子值生成多个不同的伪随机数。
但是在实际应用中,上述不重复选择的机制并不是一个全概率事件,即选择的多个伪随机数存在较小概率重复的可能(这也是“伪随机数”名称的由来)。特别是随着生成伪随机数数量的不断增多,后续选择伪随机数的取值范围将会越来越小,因此重复选择伪随机数的概率就会越来越大。为防止出现重复的伪随机数,在本实施例的一种改进方案中,可以根据预设的生成次数更换种子值。例如在通过一个种子值生成了1000个伪随机数后,重新为srand()随机分配一个新的种子值,并由rand()根据新的种子值继续生成伪随机数。种子值的随机改变可以进一步提高rand()的随机化程度,由此降低伪随机数重复的概率。
实际应用中,可以根据伪随机数的取值范围设定预设的生成次数,例如可以将生成次数设定为32768/2=16384,或者32768/4=8192。当然生成次数也可以是一个固定值,例如上述示例中的1000次,本实施例不对预设生成次数的具体数值进行限制。
2、MD5值
本实施例中,还可以对查询请求中的查询条件进行MD5运算,将获得的MD5值作为请求标记使用。由于不同查询请求的查询条件互不相同,因此计算出来的MD5值不会重复。
实际应用中,对于请求网页内容的查询请求,可以对其中携带的统一资源定位符(Uniform Resource Locator,简称URL)做MD5运算,例如对URL“http://localhost:7777/user.do?name=uu&sex=male”做MD5运算;也可以仅对URL中的查询字符串进行MD5运算,例如对上述URL中的“name=uu&sex=male”做MD5运算。对于数据库查询请求,则可以将其中的查询字段进行MD5运算。本实施例不对MD5运算的具体对象进行限制。
3、时间戳
本实施例中还可以根据查询请求产生的时间生成时间戳,将时间戳用作为请求标记。通常,基于用户操作产生的查询请求的产生时间互不相同,或者说用户一般无法在同一时刻上同时发起多次查询请求。因此查询请求的产生时间是唯一的。实际应用中,客户端可以在生成查询请求时请求获取当前的***时钟,将获取的***时刻值作为时间戳使用。此外,客户端也可以在启动后通过一个独立的线程进行计数,在生成查询请求时,读取当前的计数值作为相对时间戳使用。
需要说明的是,实际应用中可能存在由应用进程同时触发多个后台查询请求的情况,即存在非人为触发的并发查询请求。由于并发查询请求的时间戳相同,因此无法用作请求标记。对此这种情况,客户端可以将时间戳与其他能够体现查询请求的相对唯一性的信息进行组合,作为请求标记使用。示例性的,可用作请求标记的信息组合可以为“时间戳+进程编号/名称”或者“时间戳+主机域名”。
以上对伪随机数、MD5值以及时间戳用作请求标记的实现方式进行了介绍。实际应用中,上述三种参数可以单独或相互组合作为请求标记使用。
202、将请求标记添加到查询请求中。
目前,数据查询技术使用的最为广泛的应用层协议为HTTP协议,本实施例将以HTTP协议为例进行说明。
HTTP请求包含请求行、头字段(head)和体字段(body)三部分。其中,请求行用以记录请求类型、访问资源以及HTTP版本等信息,头字段用以说明服务器使用的附加信息,体字段中则可以添加任意的数据信息。本实施例中客户端可以将请求标记添加到体字段中。此外,由于头字段中的内容也可以进行适当修改,因此实际应用中将请求标记添加到头字段中也是可行的。
203、向服务端发送携带请求标记的查询请求。
204、对已发送的查询请求进行缓存。
查询请求在被发送到服务端后,需要保存在客户端本地,用于后续比对请求标记之用。本实施例中,客户端按照发送的先后顺序对不同的查询请求进行缓存。在一种可行的实现方式中,客户端可以将多个查询请求顺序保存于堆栈中。堆栈具有“先进后出”的特性,最早发送的查询请求存放于栈底,最晚发送的查询请求则存放于栈顶。在读取查询请求时,客户端从栈顶保存的查询请求开始,依次读取堆栈中的各个查询请求,直至读取到栈底的查询请求为止。而在本实施例的另一种实现方式中,客户端还可以将多个查询请求顺序保存于队列中。队列具有“先进先出”的特性,客户端从队列的首部存储查询请求,从队列的尾部读取查询请求。
存放于堆栈和队列区别在于:对于堆栈而言,客户端读取查询请求的顺序和存储查询请求的顺序相反,或者说客户端读取查询请求的顺序和发送查询请求的顺序相反,即最先发送的查询请求被最后读取;而对于队列而言,客户端读取查询请求的顺序和存储查询请求的顺序一致,或者说客户端读取查询请求的顺序和发送查询请求的顺序一致,即最先发送的查询请求被最先读取。
上述读取查询请求的顺序的差异会影响后续比对请求标记的顺序,但是,本实施例中客户端是将接收到的请求标记与所有保存的查询请求中的请求标记分别进行比对,因此比对请求标记的先后顺序不会对方案实现的结果造成影响,实际应用中可以选择使用堆栈或队列进行查询请求的保存。
205、接收服务端返回的查询响应。
对于单个客户端而言,通过对伪随机数、MD5值等参数的使用可以保证各个查询请求中的请求标记不重复。但是服务端会与大量的客户端进行交互,各个客户端之间生成请求标记的过程是相互独立的,无法保证不同客户端的查询请求中的请求标记没有重复。在本实施例中,没有必要保证不同客户端生成的请求标记一定不同,服务端无需对不同客户端的请求标记进行区分,甚至无需关注请求标记的具体内容,只需要将查询请求中解析出的请求标记“原封不动”的添加到对应该查询请求的查询响应中即可。
206、根据接收的请求标记查找对应查询响应的查询请求。
受网络时延或服务端负载状况影响,查询响应返回顺序可能会被打乱。但是客户端无需判断也无法判断接收的查询响应对应于哪一个查询请求,在每接收到一个查询响应之后,客户端读取一次缓存,将缓存的所有查询请求全部读出,并从各个查询请求中分别解析出请求标记,解析出的请求标记的数量与缓存的查询请求数量相等。在获得各个查询请求的请求标记后,客户端从解析的请求标记中查找与接收的请求标记相同的请求标记,然后获取携带查找到的请求标记的查询请求。由此获得与接收的查询响应对应的查询请求。
示例性的,某用户先后发起了A、B、C三次查询请求,客户端为查询请求A、B、C生成的请求标记分别为a、b、c。在发送完查询请求C之后,客户端首先接收到了对应查询请求B的查询响应2,其中携带有请求标记b。客户端从缓存中读取查询请求A、B、C,并解析出请求标记a、b、c。然后客户端将接收的查询响应2中的请求标记b与解析出的三个请求标记进行比对,确定查询响应2为对应查询请求B的查询响应。
上述实现方式中,客户端每接收到一个查询响应后都需要对所有缓存的查询请求进行读取和标记解析,实际应用中当缓存的请求数量较大时,这种实现的方式会延长查询结果的反馈时间。为提高查询结果的反馈速度,在本实施例的一种改进方案中,客户端在保存查询请求时,可以直接将查询请求对应的请求标记作为该查询请求的序号或标识一同进行保存,例如以映射关系表的形式将请求标记和对应的查询请求保存在同一数据行中。当接收到查询响应时,客户端可以直接以接收到的请求标记作为索引,定向读取对应的查询请求。这种改进方式无需客户端读取全部的查询请求,可以大大降低对缓存I/O口的调用次数,并且不需要对查询请求进行解析,可以减少CPU处理资源的消耗。由于降低了I/O口的调用次数及CPU处理资源的消耗,因此本方式可以大大缩短查询结果的反馈时间。特别是当反馈的查询响应的数量较多时,这种方式的优势更为明显。
207、在不遮挡查询界面的操作控件的位置上显示弹出窗口。
对于在页面中植入弹出窗口的方式,弹出窗口的位置和尺寸通过与浏览器开发者或其他应用开发者协商确定。对于通过覆盖图层显示弹出窗口的方式,则可以根据页面布局惯例自行确定窗口位置和尺寸,例如在页面右下角显示弹出窗口。
进一步的,对于后者实现方式,当弹出窗口不可避免的遮挡了原页面中的部分内容时,还可以考虑调整弹出窗口的透明度,以方便用户对原页面内容的查看。
208、通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
209、在弹出窗口显示了预设时长后,隐藏弹出窗口。
作为图2所示流程的一个可选方案,考虑到用户可能不需要对接收到的查询结果立即进行查看,这种情况下,弹出窗口可以在显示了预设时长后自动隐藏或关闭,由此避免因频繁关闭弹出窗口影响用户对客户端的正常使用。
进一步的,作为对图1或图2所示方法的实现,本发明另一实施例还提供了一种数据查询的装置。本装置实施例与前述方法实施例对应,能够实现前述方法实施例中的全部内容。为便于阅读,本装置实施例仅对前述方法实施例中的内容进行概要性描述,不对方法实施例中的细节内容进行逐一赘述。如图3所示,该装置包括:生成单元31、发送单元32、接收单元33、查找单元34以及显示单元35。其中,
生成单元31,用于为待发送的查询请求生成不重复的请求标记;
发送单元32,用于向服务端发送携带请求标记的查询请求;
接收单元33,用于接收服务端返回的查询响应,查询响应中携带有查询数据,以及对应查询响应的查询请求所携带的请求标记;
查找单元34,用于根据接收的请求标记查找对应查询响应的查询请求;
显示单元35,用于通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
进一步的,如图4所示,生成单元31,包括:
第一生成模块311,用于通过伪随机数发生函数生成伪随机数;
第二生成模块312,用于对查询请求中的查询条件进行信息摘要算法MD5计算,生成MD5值;
第三生成模块313,用于根据查询请求产生的时间生成时间戳。
进一步的,如图4所示,该装置进一步包括存储单元36,用于在接收服务端返回的查询响应之前,对已发送的查询请求进行缓存;
查找单元34,用于:
解析缓存的查询请求中的请求标记;
从解析的请求标记中查找与接收的请求标记相同的请求标记;
获取携带查找到的请求标记的查询请求。
进一步的,显示单元35,用于在通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示之前,在不遮挡查询界面的操作控件的位置上显示弹出窗口。
进一步的,显示单元35,还用于在通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示之后,在弹出窗口显示了预设时长后,隐藏弹出窗口。
所述数据查询的装置包括处理器和存储器,上述生成单元31、发送单元32、接收单元33、查找单元34以及显示单元35等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数输出历次查询操作对应的查询结果。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:为待发送的查询请求生成不重复的请求标记;向服务端发送携带请求标记的查询请求;接收服务端返回的查询响应,查询响应中携带有查询数据,以及对应查询响应的查询请求所携带的请求标记;根据接收的请求标记查找对应查询响应的查询请求;通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
进一步的,作为对图1或图2所示方法的实现,本发明另一实施例还提供了一种数据查询的***。本***实施例与前述方法实施例对应,能够实现前述方法实施例中的全部内容。为便于阅读,本***实施例仅对前述方法实施例中的内容进行概要性描述,不对方法实施例中的细节内容进行逐一赘述。如图5所示,该***包括:客户端51和服务端52;
客户端51,用于为待发送的查询请求生成不重复的请求标记,向服务端52发送携带请求标记的查询请求;
服务端52,用于响应查询请求进行数据查询,解析查询请求获得请求标记,将请求标记及数据查询获得的查询数据添加到对应查询请求的查询响应中返回给客户端51;
客户端51,还用于接收服务端52返回的查询响应,根据接收的请求标记查找对应查询响应的查询请求,通过弹出窗口对查询请求中的查询条件以及查询数据进行关联显示。
本发明实施例提供的数据查询的装置及***,能够在向服务端发送的查询请求中添加一个唯一的请求标记,由服务端将该请求标记添加到对应该查询请求的查询响应中返回给客户端。在接收到查询响应时,客户端根据查询响应中的请求标记查找对应该查询响应的查询请求,并通过弹窗的方式关联显示在先的查询条件及查询数据。与现有技术相比,本发明实施例能够在不影响用户当前查询操作的同时对往次查询结果予以显示,保证查询服务的完整和有效。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据查询的方法,其特征在于,所述方法包括:
为待发送的查询请求生成不重复的请求标记;
向服务端发送携带所述请求标记的查询请求;
接收所述服务端返回的查询响应,所述查询响应中携带有查询数据,以及对应所述查询响应的查询请求所携带的请求标记;
根据接收的请求标记查找对应所述查询响应的查询请求;
通过弹出窗口对所述查询请求中的查询条件以及所述查询数据进行关联显示。
2.根据权利要求1所述的方法,其特征在于,所述为待发送的查询请求生成不重复的请求标记,包括:
通过伪随机数发生函数生成伪随机数;或者,
对所述查询请求中的查询条件进行信息摘要算法MD5计算,生成MD5值;或者,
根据所述查询请求产生的时间生成时间戳。
3.根据权利要求1所述的方法,其特征在于,在所述接收所述服务端返回的查询响应之前,所述方法进一步包括:
对已发送的查询请求进行缓存;
所述根据接收的请求标记查找对应所述查询响应的查询请求,包括:
解析缓存的查询请求中的请求标记;
从解析的请求标记中查找与接收的请求标记相同的请求标记;
获取携带查找到的请求标记的查询请求。
4.根据权利要求1所述的方法,其特征在于,在所述通过弹出窗口对所述查询请求中的查询条件以及所述查询数据进行关联显示之前,所述方法进一步包括:
在不遮挡查询界面的操作控件的位置上显示所述弹出窗口。
5.根据权利要求4所述的方法,其特征在于,在所述通过弹出窗口对所述查询请求中的查询条件以及所述查询数据进行关联显示之后,所述方法进一步包括:
在所述弹出窗口显示了预设时长后,隐藏所述弹出窗口。
6.一种数据查询的装置,其特征在于,所述装置包括:
生成单元,用于为待发送的查询请求生成不重复的请求标记;
发送单元,用于向服务端发送携带所述请求标记的查询请求;
接收单元,用于接收所述服务端返回的查询响应,所述查询响应中携带有查询数据,以及对应所述查询响应的查询请求所携带的请求标记;
查找单元,用于根据接收的请求标记查找对应所述查询响应的查询请求;
显示单元,用于通过弹出窗口对所述查询请求中的查询条件以及所述查询数据进行关联显示。
7.根据权利要求6所述的装置,其特征在于,所述生成单元,包括:
第一生成模块,用于通过伪随机数发生函数生成伪随机数;
第二生成模块,用于对所述查询请求中的查询条件进行信息摘要算法MD5计算,生成MD5值;
第三生成模块,用于根据所述查询请求产生的时间生成时间戳。
8.根据权利要求6所述的装置,其特征在于,所述显示单元,用于在通过弹出窗口对所述查询请求中的查询条件以及所述查询数据进行关联显示之前,在不遮挡查询界面的操作控件的位置上显示所述弹出窗口。
9.根据权利要求8所述的装置,其特征在于,所述显示单元,还用于在通过弹出窗口对所述查询请求中的查询条件以及所述查询数据进行关联显示之后,在所述弹出窗口显示了预设时长后,隐藏所述弹出窗口。
10.一种数据查询的***,其特征在于,所述***包括客户端和服务端;
所述客户端,用于为待发送的查询请求生成不重复的请求标记,向所述服务端发送携带所述请求标记的查询请求;
所述服务端,用于响应所述查询请求进行数据查询,解析所述查询请求获得所述请求标记,将所述请求标记及数据查询获得的查询数据添加到对应所述查询请求的查询响应中返回给所述客户端;
所述客户端,还用于接收所述服务端返回的查询响应,根据接收的请求标记查找对应所述查询响应的查询请求,通过弹出窗口对所述查询请求中的查询条件以及所述查询数据进行关联显示。
CN201510713899.6A 2015-10-28 2015-10-28 数据查询的方法、装置及*** Pending CN106649304A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510713899.6A CN106649304A (zh) 2015-10-28 2015-10-28 数据查询的方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510713899.6A CN106649304A (zh) 2015-10-28 2015-10-28 数据查询的方法、装置及***

Publications (1)

Publication Number Publication Date
CN106649304A true CN106649304A (zh) 2017-05-10

Family

ID=58830663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510713899.6A Pending CN106649304A (zh) 2015-10-28 2015-10-28 数据查询的方法、装置及***

Country Status (1)

Country Link
CN (1) CN106649304A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491315A (zh) * 2017-08-31 2017-12-19 广东欧珀移动通信有限公司 消息提示方法、装置及终端
CN107766413A (zh) * 2017-09-05 2018-03-06 珠海宇能云企科技有限公司 一种实时数据流聚合查询的实现方法
CN107918673A (zh) * 2017-12-12 2018-04-17 腾讯科技(深圳)有限公司 订阅数据处理方法、装置、存储介质和计算机设备
CN109428919A (zh) * 2017-08-28 2019-03-05 阿里巴巴集团控股有限公司 网页处理请求的处理方法和装置以及电子设备
CN112818202A (zh) * 2019-11-18 2021-05-18 北京京东振世信息技术有限公司 一种数据查询方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236726A1 (en) * 2003-05-19 2004-11-25 Teracruz, Inc. System and method for query result caching
CN101938693A (zh) * 2010-08-18 2011-01-05 惠州Tcl移动通信有限公司 一种移动终端位置信息的查询方法和***
CN102880685A (zh) * 2012-09-13 2013-01-16 北京航空航天大学 一种时间密集大数据量的b/s分区间分页查询方法
CN104462455A (zh) * 2014-12-16 2015-03-25 北京京东尚科信息技术有限公司 网络数据的展示处理方法和装置
CN104657364A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 一种日志结构数据库***查询请求消息处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236726A1 (en) * 2003-05-19 2004-11-25 Teracruz, Inc. System and method for query result caching
CN101938693A (zh) * 2010-08-18 2011-01-05 惠州Tcl移动通信有限公司 一种移动终端位置信息的查询方法和***
CN102880685A (zh) * 2012-09-13 2013-01-16 北京航空航天大学 一种时间密集大数据量的b/s分区间分页查询方法
CN104657364A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 一种日志结构数据库***查询请求消息处理方法及装置
CN104462455A (zh) * 2014-12-16 2015-03-25 北京京东尚科信息技术有限公司 网络数据的展示处理方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109428919A (zh) * 2017-08-28 2019-03-05 阿里巴巴集团控股有限公司 网页处理请求的处理方法和装置以及电子设备
CN109428919B (zh) * 2017-08-28 2022-02-25 阿里巴巴集团控股有限公司 网页处理请求的处理方法和装置以及电子设备
CN107491315A (zh) * 2017-08-31 2017-12-19 广东欧珀移动通信有限公司 消息提示方法、装置及终端
CN107491315B (zh) * 2017-08-31 2020-02-11 Oppo广东移动通信有限公司 消息提示方法、装置及终端
CN107766413A (zh) * 2017-09-05 2018-03-06 珠海宇能云企科技有限公司 一种实时数据流聚合查询的实现方法
CN107766413B (zh) * 2017-09-05 2023-07-07 珠海宇能云企科技有限公司 一种实时数据流聚合查询的实现方法
CN107918673A (zh) * 2017-12-12 2018-04-17 腾讯科技(深圳)有限公司 订阅数据处理方法、装置、存储介质和计算机设备
CN107918673B (zh) * 2017-12-12 2022-11-04 腾讯科技(深圳)有限公司 订阅数据处理方法、装置、存储介质和计算机设备
CN112818202A (zh) * 2019-11-18 2021-05-18 北京京东振世信息技术有限公司 一种数据查询方法和装置

Similar Documents

Publication Publication Date Title
US11663176B2 (en) Data field extraction model training for a data intake and query system
US20220036177A1 (en) Data field extraction by a data intake and query system
CN106649301A (zh) 数据查询的方法、装置及***
CN106649304A (zh) 数据查询的方法、装置及***
US7069497B1 (en) System and method for applying a partial page change
US20160149832A1 (en) Method and apparatus for increasing subresource loading speed
CN102075570B (zh) 一种基于关键字的http报文缓存机制的实现方法
CN104714965B (zh) 静态资源去重方法、静态资源管理方法及装置
CN104572968B (zh) 一种页面更新方法和装置
US20060026194A1 (en) System and method for enabling indexing of pages of dynamic page based systems
CN110275983A (zh) 交通监控数据的检索方法及装置
CN106575298A (zh) 包含动态内容和陈旧内容的网站的快速呈现
CN106294379A (zh) 一种页面的加载方法、装置和***
US20080147875A1 (en) System, method and program for minimizing amount of data transfer across a network
US8176097B2 (en) Maintaining data coherency within related multi-perspective user interfaces via session-less queries
CN104516920B (zh) 数据查询方法和数据查询***
US9058392B1 (en) Client state result de-duping
CN108256888A (zh) 落地页的获取方法、网站服务器以及网络广告监测***
CN109343975A (zh) 用于页面间异步通信的方法和装置
US7613693B1 (en) Preferential ranking of code search results
CN105718559A (zh) 查找表单页面和目标页面转化关系的方法和装置
CN109063142A (zh) 网页资源推送方法及服务器
CN113330432A (zh) 搜索结果中列出的内容的异步预测性缓存
WO2022026984A1 (en) Data field extraction model training for a data intake and query system
US8121991B1 (en) Identifying transient paths within websites

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170510