CN104281579B - 进行网站数据查询的方法及服务器 - Google Patents
进行网站数据查询的方法及服务器 Download PDFInfo
- Publication number
- CN104281579B CN104281579B CN201310273585.XA CN201310273585A CN104281579B CN 104281579 B CN104281579 B CN 104281579B CN 201310273585 A CN201310273585 A CN 201310273585A CN 104281579 B CN104281579 B CN 104281579B
- Authority
- CN
- China
- Prior art keywords
- data
- composite component
- caching
- option
- end data
- 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.)
- Active
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了进行网站数据查询的方法及服务器,其中,该方法包括:接收来自用户终端的第一次数据查询请求,所述第一次数据查询请求包含从N个下拉项中选择的N个元素,N为2以上的自然数;将N个下拉项划分为N‑1个选项和第N个选项,对N‑1个选项的各元素进行组合,得到组合元素M;从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N‑1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B;从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,并将与Xn1和Xm1对应的后台数据发送给用户终端。本发明方案能够在节省资源的前提下提高缓存使用率。
Description
技术领域
本发明涉及网站数据处理,尤其涉及进行网站数据查询的方法及服务器。
背景技术
目前,进行网站数据查询时,用户在网页显示的多个下拉选项中选择元素,点击“查询”按钮,以向查询服务器发送包含选项元素的数据查询请求。如图1所示,为进行网站数据查询的选项实例,该实例中,包括片区(华北、华东、华南)和年份(2011、2012、2013)两个下拉项,每个下拉项分别有三个选项,这里,用户选择的元素为华北和2013。
服务器接收来自用户终端的包含选择元素的数据查询请求后,从后台服务器查询出与华北2013对应的后台数据,发送给用户终端;本实例中的后台数据例如为各片区相应年份的记录数据。
后台数据存储在后台服务器中,查询服务器一般都具有缓存功能,为了提高查询速度,查询服务器在接收第一次数据查询请求后将相关的后台数据放入缓存;这样,接收到后续的查询请求时,便可从缓存中直接提取需要的后台数据,反馈给用户终端。现有的缓存方式主要有下面两种,下面分别进行说明。
方式一:
该方式在缓存中只存储用户请求的后台数据。这种方式的优点是缓存的数据量较小,缺点是被使用的机率较小,必须遇到再次请求同样数据时才会被使用。以图1情况为例,用户请求了华北2013的后台数据,缓存中只存入关于华北2013的后台数据;这样,直到下次再请求华北2013的数据,缓存才能起作用,该方式不能有效提高查询速度。
方式二:
用户请求什么数据,查询服务器便获取用户请求的数据以及与用户要求相关的全部数据,存入缓存。这种方式的优点是缓存的使用机率大大提高。以图1情况为例,用户请求了华北2013的后台数据,则查询服务器获取华北2013+华北2012+华北2011+华东2013+华东2012+华东2011+华南2013+华南2012+华南2011总共9项数据存入缓存。这样,用户下次请求任何数据,都可从缓存中直接提取。但缺点是:缓存的数据量太大,而实际运用中,一个用户通常不可能查询每一项数据,大多数情况下只用到其中一项或两项,将其余没用到的数据放在缓存中造成了资源浪费;以图1情况为例,用户需要获取的是2013年各片区的财务数据,在第一次数据查询之后,还会用到两项数据,即华东2013的数据和华南2013的数据,对其他数据的缓存浪费了存储资源。
综上可见,方式一缓存使用率不高,方式二的缓存使用率高,但数据使用率低,资源浪费大;如果能在方案一和方案二之间取长补短,在节省资源的前提下提高缓存使用率,将进一步满足需求,但目前还没有这方面的技术。
发明内容
本发明提供了一种进行网站数据查询的方法及服务器,该方法能够在节省资源的前提下提高缓存使用率。
本发明提供了一种进行网站数据查询的查询服务器,该服务器能够在节省资源的前提下提高缓存使用率。
一种进行网站数据查询的方法,该方法包括:
接收来自用户终端的第一次数据查询请求,所述第一次数据查询请求包含从N个下拉项中选择的N个元素,N为2以上的自然数;
将N个下拉项划分为N-1个选项和第N个选项,对N-1个选项的各元素进行组合,得到组合元素M;
从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N-1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B;
从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,对相同的数据不重复存储,并将与Xn1和Xm1对应的后台数据发送给用户终端。
一种进行网站数据查询的查询服务器,该查询服务器包括请求接收单元、组合处理单元、数据获取单元和数据下发单元;
所述请求接收单元,接收来自用户终端的第一次数据查询请求,所述第一次数据查询请求包含从N个下拉项中选择的N个元素,N为2以上的自然数;将数据查询请求发送给所述组合处理单元;
所述组合处理单元,接收来自所述请求接收单元的数据查询请求,将N个下拉项划分为N-1个选项和第N个选项,对N-1个选项的各元素进行组合,得到组合元素M;从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N-1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B;向所述数据获取单元发送包含组合元素A和B的获取请求,并向所述数据下发单元发送包含Xn1和Xm1下发请求;
所述数据获取单元,从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,对相同的数据不重复存储;
所述数据下发单元,从缓存中提取与Xn1和Xm1对应的后台数据,发送给用户终端。
从上述方案可以看出,本发明中,接收第一次数据查询请求后,将N个下拉项划分为N-1个选项和第N个选项,对N-1个选项的各元素进行组合,得到组合元素M;从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N-1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B;从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,并将与Xn1和Xm1对应的后台数据发送给用户终端。采用本发明方案,接收第一次数据查询请求后,将部分后台数据放入缓存,所述部分后台数据为用户后续最有可能查看的数据;这样,在方案一和方案二之间取长补短,实现了在节省资源的前提下提高缓存使用率,进一步满足了需求。
附图说明
图1为现有技术进行网站数据查询的选项实例;
图2为本发明进行网站数据查询的方法示意性流程图;
图3为本发明进行网站数据查询的下拉项选择实例一;
图4为本发明进行网站数据查询的下拉项选择实例二;
图5为本发明进行网站数据查询的下拉项选择实例三;
图6为本发明进行网站数据查询的下拉项选择实例四;
图7为本发明进行网站数据查询的下拉项选择实例五;
图8为本发明进行网站数据查询的查询服务器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
发明人在实际应用中发现,通常地,进行第一次数据查询请求后,后续多更改其中一项元素进行再次查询;如果接收第一次数据查询请求后,只将最有可能查看的数据放入缓存,可实现在现有方式一和方式二之间取长补短,达到在节省资源的前提下提高缓存使用率。
参见图2,为本发明进行网站数据查询的方法示意性流程图,其包括以下步骤:
步骤201,接收来自用户终端的第一次数据查询请求,所述第一次数据查询请求包含从N个下拉项中选择的N个元素,N为2以上的自然数。
进入查询页面,用户在每个下拉项中选择一个元素,点击“查询”按钮,以向查询服务器发送包含选项元素的数据查询请求。
这里假设有N个下拉项:第1项有X1个元素,第2项有X2个元素……第N-1项有X(n-1)个元素,第N项有Xn个元素。
步骤202,将N个下拉项划分为N-1个选项和第N个选项,对N-1个选项的各元素进行组合,得到组合元素M。
对N-1个选项的各元素进行组合时,可先将第1和第2项组合成一项,组合后的新项含X1*X2个元素;它再与第3项组合,即X1*X2*X3个元素;以此类推,将第1到第N-1项组合成一个大项M,即X1*X2*X3*…*X(n-1)个元素;最终只剩下两项:即这个大项M和第N项。
步骤203,从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N-1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B。
步骤204,从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,对相同的数据不重复存储,并将与Xn1和Xm1对应的后台数据发送给用户终端。
Xn1和Xm1,为数据查询请求中包含的所有元素。
查询服务器还可对缓存中存储的数据进行统一清理,具体包括:本步骤所述放入缓存后,还启动定时器,到达定时器设定时间时,删除缓存中存储的后台数据。
之后,还可能接收到来自用户终端的后续数据查询请求,称为下一次数据查询请求,其处理方案包括:
接收包含N个元素的下一次数据查询请求,从所述下一次数据查询请求中提取出第N个选项的元素,表示为Xn2,将其他N-1个选项的元素表示为Xm2;
从缓存中提取出与Xn2和Xm2对应的后台数据,发送给用户终端。
一般情况下,缓存中存储了满足用户后续需求的数据,根据输入下拉项的元素便可直接从缓存中提取,发送给用户终端;之后,还判断是第1至N-1项元素发生更换还是第N项元素发生更换:
如果是第1至N-1项元素发生更改,则将Xm2与第N项中各元素进行组合,得到组合元素C,从后台服务器获取组合元素C对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储;
如果是第N项发生更改,则将Xn2与M中各元素进行组合,得到组合元素D,从后台服务器获取组合元素D对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储。
对于少数情况,如果缓存中没有存储与Xn2和Xm2对应的后台数据,且第1至N-1项元素发生更换,第N项元素也发生更换,则返回执行步骤202。
现有技术中,方式一缓存使用率不高,方式二的缓存使用率高,但数据使用率低,资源浪费大。本发明中,接收第一次数据查询请求后,将部分后台数据放入缓存,所述部分后台数据为用户后续最有可能查看的数据;这样,在方案一和方案二之间取长补短,实现了在节省资源的前提下提高缓存使用率,进一步满足了需求。
下面同样以图1所示两个下拉项的实例,对本发明方案进行说明。该实例中,下拉项包括片区(华北、华东、华南)和年份(2011、2012、2013),每个下拉项分别有三个选项。
1、接收第一次查询请求:
这里,向查询服务器发送的第一次查询请求中包含的元素为华北和2013。也可以将打开初始页面时的默认请求作为第一次数据查询请求。
查询服务器生成组合元素A:华北2013、华北2012、华北2011;组合元素B:华北2013、华东2013、华南2013。从后台服务器获取与A中各组合元素对应的后台数据,放入缓存;获取与B中各组合元素对应的后台数据,其中华北2013对应的数据只存储一次;并将华北2013对应的后台数据发送给用户终端进行显示。这样,缓存中存储了华北2013、华北2012、华北2011、华东2013和华南2013这5项的后台数据;这5项数据恰好只包含用户下一次改变下拉框的全部可能性,即用户在看完华北2013的数据后,无论是切换片区还是年份,第二次请求的数据一定在这4项之中(华北2012、华北2011、华东2013和华南2013)。这样一来,如果这个用户改变了下拉框选项,缓存必然会用到,而且缓存的数据是最小范围的。如图3所示,灰色框为当前选中的元素,直线表示当前缓存的数据项。
2、接收只改变片区的下一次查询请求:
第二次请求时,假设用户从华北切到华东,此时下拉框的选中值为华东+2013,因缓存中已有华东2013的后台数据,则直接从缓存中取出返回给用户。查询服务器还将检查缓存中是否有华东2012和华东2011的后台数据,将没有的取出并存入缓存。
这样做有两点好处:
1)从华北切到华东时,数据是从缓存取的,响应速度快,保证了良好的用户体验。
2)将华东2012和华东2011的数据取出并存入缓存,不仅不影响用户体验,而且能保证缓存中的数据继续包含用户下一次改变下拉框的全部可能性(缓存失效或人为清空等因素除外),为用户下一次切换做准备。
此时下拉框的选中值是华东+2013,缓存中的数据是:华北2013、华北2012、华北2011、华东2013、华南2013、华东2012和华东2011共7项。如图4所示,灰色框为当前选中值,细直线表示第一次查询时缓存的数据项,粗直线表示这次查询时缓存的数据项。
如果用户切换下拉框后华东2013的数据在缓存中不存在(失效或人为删除或其他原因),则后台程序再检查缓存中是否有华东2012和华东2011对应的后台数据,将这2项中没有的以及华东2013对应的后台数据从后台服务器提取出,将华东2013对应的后台数据返回给用户终端,将取出的全部数据存入缓存。
3、接收只改变年份的下一次查询请求:
接下来,第三次请求时,如果用户把年份从2013切到2012,此时下拉框的选中值为华东+2012,因缓存中已有华东2012对应的后台数据,则直接从缓存中取出返回给用户终端,然后查询服务器再检查缓存中是否有华北2012和华南2012对应的后台数据,将没有的取出并存入缓存。
这样做的目的跟上一步一样:
1)从2013切到2012时,数据是从缓存取的,响应速度快,保证了良好的用户体验。
2)将华北2012和华南2012的数据取出并存入缓存,不仅不影响用户体验,而且能保证缓存中的数据继续包含用户下一次改变下拉框的全部可能性(缓存失效或人为清空等因素除外),为用户下一次切换做准备。另外华北2012因为在第一次请求时已经存在于缓存中,所以这次缓存只新增了华南2012的数据。
此时下拉框的选中值是华东+2012,缓存中的数据是:华北2013、华北2012、华北2011、华东2013、华南2013、华东2012、华东2011和华南2012共8项。
如图5所示,灰色框为当前选中值,细直线表示第一次请求时缓存的数据项,粗直线表示第2次请求时缓存的数据项,虚线为表示本次请求时缓存的数据项。
第2次和3次查询时,是在知道用户切换了某一个下拉框后的做法。如果这个条件不成立或同时改变了两个下拉框,例如:进入初始页面、手动刷新当前页面、通过输入url+参数的方式直接访问查询页面,对于这些情况则按照第一次查询时的方式进行处理。
由上述实例可见,本发明的渐进式缓存方案,永远只比用户先走一步。
引申到一般具有两个下拉框的情况:下拉框A(包含a个选项A1-Aa)和B(包含b个选项B1-Bb),如图6所示;A和B是独立的、固定的、非联动的。
①进行查询时选中A1B1,如果缓存中有A1B1则从缓存取,没有则从后台服务器取,然后返回给用户;并将a+b-1-k项数据(0<=k<=a+b-1,A1B1+A1B2+…+A1Bb+B1A2+B1A3+…+B1Aa共a+b-1项,除去缓存中已有的k项,故共a+b-1-k项)从后台服务器取出并存入缓存。此时缓存中的数据恰好只包含用户下一次改变下拉框的全部可能性。缓存定期清理,进行查询时,如果缓存中有相应的数据,则直接从缓存中提取。
②如果用户切换A,从A1改为Ax(1<x<=a),此时下拉框选中值变成Ax+B1。如果缓存中有AxB1则从缓存取,没有则从后台服务器取,然后返回给用户,并将b-n项数据(0<=n<=b,AxB1+AxB2+…+AxBb共b项,除去缓存中已有的n项,故共b-n项)取出并存入缓存。此时缓存中的数据继续包含用户下一次改变下拉框的全部可能性(理想情况,缓存失效或人为清空等因素除外)。
③如果用户切换B,从B1改为By(1<y<=b),此时下拉框选中值变成Ax+By。如果缓存中有AxBy则从缓存取,没有则从后台服务器取,然后返回给用户,并将a-m项数据(0<=m<=a,ByA1+ByA2+…+ByAa共a项,除去缓存中已有的m项,故共a-m项)取出并存入缓存。此时缓存中的数据继续包含用户下一次改变下拉框的全部可能性(理想情况,缓存失效或人为清空等因素除外)。
④如果用户继续切换A,则重复步骤2的操作;继续切换B,则重复步骤3的操作。
⑤对于不确定改变了哪一个下拉框或同时改变了两个下拉框的情况,例如:进入初始页面、手动刷新当前页面和通过输入url+参数的方式直接访问页面等;对于这些情况则按照步骤1来处理。
下面再对三个下拉框的情况进行说明:下拉框A(包含a个选项A1-Aa)、B(包含b个选项B1-Bb)和C(包含c个选项C1-Cc);A、B和C是独立的,固定的,非联动的。
处理三个下拉框的核心思想是在算法上把其中两个合并成一个,然后再和另一个按照上述两个下拉框的方法来处理,如图7所示。
①将B和C看成一个选项,叫BC。此时BC包含b*c个选项(B1C1+B1C2+…+BbCc)。
②初始页面默认选中A1B1C1,如果缓存中有A1B1C1则从缓存取,没有则从数据库取,然后返回给用户,并将a+b*c-1-k项数据存入缓存。此时缓存中的数据恰好只包含用户下一次改变下拉框的全部可能性。
③如果用户切换A,从A1改为Ax(1<x<=a),此时下拉框选中值变成Ax+B1+C1。如果缓存中有AxB1C1则从缓存取,没有则从数据库取,然后返回给用户,并将b*c-n项数据取出并存入缓存。此时缓存中的数据继续包含用户下一次改变下拉框的全部可能性(理想情况,缓存失效或人为清空等因素除外)。
④如果用户切换B,从B1改为By(1<y<=b),此时下拉框选中值变成Ax+By+C1。如果缓存中有AxByC1则从缓存取,没有则从数据库取,然后返回给用户,并将a-m项数据取出并存入缓存。此时缓存中的数据继续包含用户下一次改变下拉框的全部可能性(理想情况,缓存失效或人为清空等因素除外)。
⑤如果用户切换C,从C1改为Cz(1<z<=c),此时下拉框选中值变成Ax+By+Cz。如果缓存中有AxByCz则从缓存取,没有则从数据库取,然后返回给用户,并将a-m项数据取出并存入缓存。此时缓存中的数据继续包含用户下一次改变下拉框的全部可能性(理想情况,缓存失效或人为清空等因素除外)。
实际上改动B或C都被看成是改动了BC,方法是一样的。
另外,三个下拉框中选哪两个组合,对后面缓存数据的数量也是有影响的。例如上图中A有4项B有3项C有2项,B与C组合,初始页面缓存的数据项最多是9:4+3*2-1-0=9。如果是A与B组合,则最多是13:2+4*3-1-0=13。
一般地,不用项数最多的做组合,这样使得初始页面缓存的数据最少。
两个或三个下拉项是目前网站常用的数据选择方式。本发明采用渐进式缓存的设计方案,其核心思想是永远只比用户先走一步。随着用户交互的进行而追加和更新缓存数据,保证缓存使用率的同时,尽可能提高数据的使用率,减少资源浪费。
四个以及更多的下拉框都是可以采用本发明方案进行数据查找,但实际应用中并不多见,其方法类似,这里不再详述。
参见图8,为本发明进行网站数据查询的查询服务器结构示意图,该查询服务器包括请求接收单元、组合处理单元、数据获取单元和数据下发单元;
所述请求接收单元,接收来自用户终端的第一次数据查询请求,所述第一次数据查询请求包含从N个下拉项中选择的N个元素,N为2以上的自然数;将数据查询请求发送给所述组合处理单元;
所述组合处理单元,接收来自所述请求接收单元的数据查询请求,将N个下拉项划分为N-1个选项和第N个选项,对N-1个选项的各元素进行组合,得到组合元素M;从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N-1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B;向所述数据获取单元发送包含组合元素A和B的获取请求,并向所述数据下发单元发送包含Xn1和Xm1下发请求;
所述数据获取单元,从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,对相同的数据不重复存储;
所述数据下发单元,从缓存中提取与Xn1和Xm1对应的后台数据,发送给用户终端。
较佳地,所述请求接收单元还用于接收包含N个元素的下一次数据查询请求,发送给所述组合处理单元;
所述组合处理单元,从所述下一次数据查询请求中提取出第N个选项的元素,表示为Xn2,将其他N-1个选项的元素表示为Xm2,向所述数据下发单元发送包含Xn2和Xm2下发请求;
所述数据下发单元,还用于从缓存中提取出与Xn2和Xm2对应的后台数据,发送给用户终端。
较佳地,所述组合处理单元包括判断子单元,将Xn2和Xm2对应的后台数据发送给用户终端之后,判断是第1至N-1项元素发生更换还是第N项元素发生更换:如果是第1至N-1项元素发生更改,则将Xm2与第N项中各元素进行组合,得到组合元素C,向所述数据获取单元发送包含组合元素C的获取请求,并向所述数据获取发单元发送包含Xn1和Xm1下发请求;如果是第N项发生更改,则将Xn2与M中各元素进行组合,得到组合元素D,向所述数据获取单元发送包含组合元素C的获取请求,并向所述数据获取发单元发送包含Xn2和Xm2下发请求;
所述数据获取单元,接收包含组合元素C的获取请求,从后台服务器获取组合元素C对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储;还接收包含组合元素D的获取请求,从后台服务器获取组合元素D对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储。
较佳地,所述判断子单元,确定出缓存中没有存储与Xn2和Xm2对应的后台数据,且第1至N-1项元素发生更换,第N项元素也发生更换时,返回执行所述将N个下拉项划分为N-1个选项和第N个选项。
较佳地,所述数据获取单元还包括数据清除子单元,将后台数据放入缓存后,启动定时器,到达定时器设定时间时,删除缓存中存储的后台数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种进行网站数据查询的方法,其特征在于,该方法包括:
接收来自用户终端的第一次数据查询请求,所述第一次数据查询请求包含从N个下拉项中选择的N个元素,N为2以上的自然数;
将N个下拉项划分为N-1个选项和第N个选项,对N-1个选项的各元素进行组合,得到组合元素M;
从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N-1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B;
从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,对相同的数据不重复存储,并将与Xn1和Xm1的组合元素对应的后台数据发送给用户终端。
2.如权利要求1所述的方法,其特征在于,所述将与Xn1和Xm1的组合元素对应的后台数据发送给用户终端之后,该方法还包括:
接收包含N个元素的下一次数据查询请求,从所述下一次数据查询请求中提取出第N个选项的元素,表示为Xn2,将其他N-1个选项的元素表示为Xm2;
从缓存中提取出与Xn2和Xm2的组合元素对应的后台数据,发送给用户终端。
3.如权利要求2所述的方法,其特征在于,将Xn2和Xm2的组合元素对应的后台数据发送给用户终端之后,该方法还包括:判断是第1至N-1项元素发生更换还是第N项元素发生更换:
如果是第1至N-1项元素发生更改,则将Xm2与第N项中各元素进行组合,得到组合元素C,从后台服务器获取组合元素C对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储;
如果是第N项发生更改,则将Xn2与M中各元素进行组合,得到组合元素D,从后台服务器获取组合元素D对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储。
4.如权利要求3所述的方法,其特征在于,如果缓存中没有存储与Xn2和Xm2 的组合元素对应的后台数据,且第1至N-1项元素发生更换,第N项元素也发生更换,则返回执行所述将N个下拉项划分为N-1个选项和第N个选项的步骤。
5.如权利要求1所述的方法,其特征在于,所述放入缓存后,该方法还包括:
启动定时器,到达定时器设定时间时,删除缓存中存储的后台数据。
6.一种进行网站数据查询的查询服务器,其特征在于,该查询服务器包括请求接收单元、组合处理单元、数据获取单元和数据下发单元;
所述请求接收单元,接收来自用户终端的第一次数据查询请求,所述第一次数据查询请求包含从N个下拉项中选择的N个元素,N为2以上的自然数;将数据查询请求发送给所述组合处理单元;
所述组合处理单元,接收来自所述请求接收单元的数据查询请求,将N个下拉项划分为N-1个选项和第N个选项,对N-1个选项的各元素进行组合,得到组合元素M;从数据查询请求中提取出第N个选项的元素,表示为Xn1,将其他N-1个选项的元素表示为Xm1;将Xm1与第N项中各元素进行组合,得到组合元素A,将Xn1与M中各元素进行组合,得到组合元素B;向所述数据获取单元发送包含组合元素A和B的获取请求,并向所述数据下发单元发送包含Xn1和Xm1下发请求;
所述数据获取单元,从后台服务器获取与组合元素A对应的后台数据以及与组合元素B对应的后台数据,放入缓存,对相同的数据不重复存储;
所述数据下发单元,从缓存中提取与Xn1和Xm1的组合元素对应的后台数据,发送给用户终端。
7.如权利要求6所述的查询服务器,其特征在于,所述请求接收单元还用于接收包含N个元素的下一次数据查询请求,发送给所述组合处理单元;
所述组合处理单元,从所述下一次数据查询请求中提取出第N个选项的元素,表示为Xn2,将其他N-1个选项的元素表示为Xm2,向所述数据下发单元发送包含Xn2和Xm2下发请求;
所述数据下发单元,还用于从缓存中提取出与Xn2和Xm2的组合元素对应的后台数据,发送给用户终端。
8.如权利要求7所述的查询服务器,其特征在于,所述组合处理单元包括判断子单元,将Xn2和Xm2的组合元素对应的后台数据发送给用户终端之后,判断是第1 至N-1项元素发生更换还是第N项元素发生更换:如果是第1至N-1项元素发生更改,则将Xm2与第N项中各元素进行组合,得到组合元素C,向所述数据获取单元发送包含组合元素C的获取请求,并向所述数据获取发单元发送包含Xn1和Xm1下发请求;如果是第N项发生更改,则将Xn2与M中各元素进行组合,得到组合元素D,向所述数据获取单元发送包含组合元素C的获取请求,并向所述数据获取发单元发送包含Xn2和Xm2下发请求;
所述数据获取单元,接收包含组合元素C的获取请求,从后台服务器获取组合元素C对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储;还接收包含组合元素D的获取请求,从后台服务器获取组合元素D对应的后台数据,放入缓存,对缓存中已有的后台数据不再重复存储。
9.如权利要求8所述的查询服务器,其特征在于,所述判断子单元,确定出缓存中没有存储与Xn2和Xm2的组合元素对应的后台数据,且第1至N-1项元素发生更换,第N项元素也发生更换时,返回执行所述将N个下拉项划分为N-1个选项和第N个选项。
10.如权利要求6所述的查询服务器,其特征在于,所述数据获取单元还包括数据清除子单元,将后台数据放入缓存后,启动定时器,到达定时器设定时间时,删除缓存中存储的后台数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310273585.XA CN104281579B (zh) | 2013-07-02 | 2013-07-02 | 进行网站数据查询的方法及服务器 |
PCT/CN2014/081465 WO2015000409A1 (en) | 2013-07-02 | 2014-07-02 | Method and system for preparing website data in response to webpage request |
US14/843,791 US10268768B2 (en) | 2013-07-02 | 2015-09-02 | Method and system for preparing website data in response to a webpage request |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310273585.XA CN104281579B (zh) | 2013-07-02 | 2013-07-02 | 进行网站数据查询的方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104281579A CN104281579A (zh) | 2015-01-14 |
CN104281579B true CN104281579B (zh) | 2019-01-29 |
Family
ID=52143109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310273585.XA Active CN104281579B (zh) | 2013-07-02 | 2013-07-02 | 进行网站数据查询的方法及服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10268768B2 (zh) |
CN (1) | CN104281579B (zh) |
WO (1) | WO2015000409A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281579B (zh) * | 2013-07-02 | 2019-01-29 | 腾讯科技(北京)有限公司 | 进行网站数据查询的方法及服务器 |
US10504119B2 (en) * | 2016-06-23 | 2019-12-10 | Custombike Ag | System and method for executing remote electronic authentication |
US10423583B1 (en) * | 2016-12-27 | 2019-09-24 | EMC IP Holding Company LLC | Efficient caching and configuration for retrieving data from a storage system |
CN107590275B (zh) * | 2017-09-27 | 2021-05-14 | 北京时之砂科技有限公司 | 一种数据查询方法和装置 |
US10579696B2 (en) * | 2018-02-22 | 2020-03-03 | Inernational Business Machines Corporation | Save session storage space by identifying similar contents and computing difference |
CN110413918B (zh) * | 2019-08-01 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 数据发送方法、装置、设备及存储介质 |
CN110543270B (zh) * | 2019-08-02 | 2020-11-10 | 苏州浪潮智能科技有限公司 | 一种页面表单、同时输入多个下拉选择框的方法及系统 |
CN110535966B (zh) * | 2019-09-05 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关设备 |
CN111814045A (zh) * | 2020-06-30 | 2020-10-23 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650820A (zh) * | 2009-09-24 | 2010-02-17 | 浙江大学 | 基于多核架构的大图像实时浏览方法 |
CN101877000A (zh) * | 2009-12-21 | 2010-11-03 | 山东中创软件商用中间件股份有限公司 | 一种数据展现的方法和装置 |
CN102214192A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种实现Web页面数据曲线图显示的方法及服务器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987254A (en) * | 1997-07-14 | 1999-11-16 | Hewlett Packard Company | System-wide memoization of array dependence information |
US20040249799A1 (en) * | 2003-06-06 | 2004-12-09 | Demarcken Carl G. | Query caching for travel planning systems |
US7694212B2 (en) * | 2005-03-31 | 2010-04-06 | Google Inc. | Systems and methods for providing a graphical display of search activity |
US20100185644A1 (en) * | 2009-01-21 | 2010-07-22 | Microsoft Corporatoin | Automatic search suggestions from client-side, browser, history cache |
CN102411493A (zh) * | 2010-09-21 | 2012-04-11 | 金蝶软件(中国)有限公司 | 通用选择辅助系统及方法 |
CN104281579B (zh) * | 2013-07-02 | 2019-01-29 | 腾讯科技(北京)有限公司 | 进行网站数据查询的方法及服务器 |
-
2013
- 2013-07-02 CN CN201310273585.XA patent/CN104281579B/zh active Active
-
2014
- 2014-07-02 WO PCT/CN2014/081465 patent/WO2015000409A1/en active Application Filing
-
2015
- 2015-09-02 US US14/843,791 patent/US10268768B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650820A (zh) * | 2009-09-24 | 2010-02-17 | 浙江大学 | 基于多核架构的大图像实时浏览方法 |
CN101877000A (zh) * | 2009-12-21 | 2010-11-03 | 山东中创软件商用中间件股份有限公司 | 一种数据展现的方法和装置 |
CN102214192A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种实现Web页面数据曲线图显示的方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN104281579A (zh) | 2015-01-14 |
WO2015000409A1 (en) | 2015-01-08 |
US20150379143A1 (en) | 2015-12-31 |
US10268768B2 (en) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104281579B (zh) | 进行网站数据查询的方法及服务器 | |
CN103370709A (zh) | 用于分段多媒体的缓存管理器以及用于缓存管理的相应方法 | |
CN103530189B (zh) | 一种面向流式数据的自动伸缩及迁移的方法及装置 | |
AU2010232614B2 (en) | Architectural pattern for persistent web application design | |
US8819080B2 (en) | System and method for collection, retrieval, and distribution of data | |
US6792510B1 (en) | System and method for updating a cache | |
CN106888381B (zh) | 一种数据资源存储方法及装置 | |
US20090307329A1 (en) | Adaptive file placement in a distributed file system | |
CN107491545A (zh) | 一种分布式存储系统的目录读取方法及客户端 | |
CN101072205A (zh) | 一种聊天信息的检索方法及检索系统 | |
CN106331148A (zh) | 一种客户端数据读取时的缓存管理方法及其装置 | |
CN102449602A (zh) | 用于降低软件应用的启动成本的系统和方法 | |
CN106790552B (zh) | 一种基于内容分发网络的内容提供系统 | |
CN108900626A (zh) | 一种云环境下数据存储方法、装置及系统 | |
CN106681995B (zh) | 数据缓存方法、数据查询方法及装置 | |
CN109299122A (zh) | 一种数据同步方法、设备和计算机可存储介质 | |
CN107015884A (zh) | 一种数据存储方法及装置 | |
CN104424119B (zh) | 存储空间配置方法和装置 | |
CN106708992A (zh) | 一种数据查询方法、装置及系统 | |
CN106227679B (zh) | 一种数据缓存替换方法及装置 | |
CN105471630B (zh) | 大容量分组传送系统下的北向系统消息分发系统及方法 | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
US20040054751A1 (en) | Method for processing and accessing data in a computerised reservation system and system therefor | |
CN103023820B (zh) | 一种可分片预留接纳控制方法 | |
CN103248649B (zh) | 应用的分类管理方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |