CN1916892A - 非同步数据查询方法与系统以及执行该方法的电脑程序的储存媒体 - Google Patents
非同步数据查询方法与系统以及执行该方法的电脑程序的储存媒体 Download PDFInfo
- Publication number
- CN1916892A CN1916892A CN 200510092737 CN200510092737A CN1916892A CN 1916892 A CN1916892 A CN 1916892A CN 200510092737 CN200510092737 CN 200510092737 CN 200510092737 A CN200510092737 A CN 200510092737A CN 1916892 A CN1916892 A CN 1916892A
- Authority
- CN
- China
- Prior art keywords
- querying
- asynchronous data
- parameter
- database
- query result
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种非同步数据查询方法与系统,以及执行该方法的电脑程序的储存媒体,适用于网络化的企业信息系统或一般网际网络信息提供业者所建置的网站,以解决众多使用者重复查询相同数据所造成的等待与效能瓶颈。该方法的主要步骤如下。首先,根据预设规则定时查询数据库,取得查询结果,利用查询结果更新伺服器的变数。然后提供上述变数至用户端。
Description
技术领域
本发明有关一种适用于企业信息领域或一般信息提供业者网站的数据查询方法与系统,且特别是关于一种非同步(asynchronous)的数据查询方法与系统。
背景技术
在现代的企业中,经常使用报表查询网页(report query web page)来查询企业中的各种信息。图1绘示使用者在先前技术的系统查询数据的过程。使用者会用浏览器(browser)101,通过网络102连结伺服器(server)103提供的报表查询网页。报表查询网页会向数据库(database)104查询数据,然后通过网络102将结果回传给使用者的浏览器101。
在这一类网页当中,有些信息是所有使用者都会重复查询的,例如出现在下拉选单的选择项目。随着企业规模扩大,数据量不断增加,有些重复出现的信息必须经过庞大而复杂的数据库查询才能取得。例如大型企业的每一个据点都会有上百万笔数据,整个企业就会有上千万笔数据。而传统的数据查询都是同步(synchronous)处理,也就是说,报表查询网页收到使用者的请求(request)之后才会对数据库发出查询指令,使用者必须等到庞大而复杂的查询指令执行完毕才会看到结果。
于是,在图1的过程中,瓶颈会出现在伺服器103以及数据库104之间的数据查询。如果经常有多位使用者重复查询相同的数据,会让瓶颈现象更加严重,不但加重数据库的负担,也会大幅延长使用者的等待时间。
发明内容
本发明的目的是提供一种非同步数据查询方法,以减少数据库查询次数,降低数据库的负担。
本发明的另一目的是提供一种电脑可读取的储存媒体,储存执行非同步数据查询方法的电脑程序,以降低数据库使用量,加速取得数据时间。
本发明的又一目的是提供一种非同步数据查询系统,以减少伺服器的存储器负担,并且缩短使用者的等待时间。
为达成上述及其他目的,本发明提出一种非同步数据查询方法,包括下列步骤:(a)根据预设规则定时执行下列两个步骤:(a1)查询数据库,取得查询结果;以及(a2)利用查询结果更新变数。然后(b)提供上述变数至用户端。
上述的非同步数据查询方法,在一实施例中,上述预设规则为依照预设周期执行步骤(a1)与(a2)。
上述的非同步数据查询方法,在一实施例中,步骤(a1)还包括连结数据库,以及对数据库下达结构查询语言(structure query language,简称为SQL)指令,取得查询结果。
上述的非同步数据查询方法,在一实施例中,若用户端的登入识别码没有读取变数的权限,则拒绝提供上述变数。
上述的非同步数据查询方法,在一实施例中还包括至少加密上述变数的名称与内容的其中之一。
从另一观点来看,本发明另提出一种电脑可读取的储存媒体,储存可执行上述的非同步数据查询方法的电脑程序。
再从另一观点来看,本发明另提出一种非同步数据查询系统,包括数据库、伺服器、以及查询程序。其中,伺服器提供变数至用户端。查询程序则根据预设规则定时查询数据库,取得查询结果,并且利用上述查询结果更新上述变数。
依照本发明的较佳实施例所述,本发明是以非同步方式定时查询数据库以更新伺服器的变数,然后在用户端查询时,伺服器可立即提供变数至用户端,所以能缩短使用者的等待时间。因为本发明是将来自众多使用者的重复查询集中简化为定时查询,所以能减少数据库查询次数,降低数据库的负担,并且减少伺服器的存储器使用。
为让本发明的上述和其他目的、特点和优点能更明显易懂,下文特举本发明的较佳实施例并配合附图进行详细说明。
附图说明
图1为先前技术的数据查询方法示意图。
图2为根据于本发明一实施例的非同步数据查询系统示意图。
图3与图4为根据于本发明一实施例的非同步数据查询方法流程图。
图5为图2的查询程序的架构示意图。
具体实施方式
以下参照图2至图4说明本发明的一个实施例。首先,图2绘示根据于本实施例的非同步数据查询系统203。非同步数据查询系统203包括伺服器204、查询程序205、以及数据库206。
其中,数据库206负责储存数据并回应查询。伺服器204负责通过网络202提供变数至用户端201。以上的变数内容是预先查询过的数据,可供用户端201直接使用,细节后述。在本实施例中,伺服器204为安装微软公司(Microsoft)的网际网络信息服务(Internet Information Service,简称为IIS)的个人电脑。网络202可以是区域网络(local area network)或网际网络。而用户端201可以是浏览器的网页或独立的应用程序。
在本实施例中,查询程序205是以电脑可读取的储存媒体形式,例如储存于存储器、硬盘、或光盘中,而存在于伺服器204或另一台独立的电脑(未绘示于图2中)。本发明的非同步数据查询主要是由查询程序205执行。所谓的非同步是指从用户端201到伺服器204的查询以及从伺服器204到数据库206的查询是分别独立作业,而不是像图1有一定的先后顺序。简单的说,查询程序205会根据预设规则定时查询数据库206,取得查询结果,然后利用查询结果更新伺服器204的变数,这样一来使用者能够在伺服204内查询到最新的数据。查询程序205的查询,是原本用户端201就会重复发出的查询。将结果储存在伺服器204的变数中,以后用户端201连结伺服器204就能直接取得结果,所以本发明能大幅缩短使用者的等待时间。另一方面,因为查询程序205将原本由众多使用者重复发出的查询,集中简化为单一程序的定时查询,所以本发明能大幅降低数据库的负担。
在本实施例中,上述的预设规则是依照预设周期查询数据库206,例如每隔三分钟或五分钟查询一次,当然也可以用更复杂的定时规则。查询程序205每秒钟都会检查是否要执行查询作业。
在本实施例中,查询程序205会向数据库206下达SQL指令以取得查询结果。至于查询结果,可以是单一文字、单一数字、阵列(array)、数据集合(data set)、数据表(data table)、数据视集(data view)、或可扩充标记语言(extensible markup language,简称为XML)。
为了数据安全起见,在更新伺服器204的变数时,查询程序205可以替变数名称或变数内容加密(encryption),或两者同时加密。在用户端201连结伺服器204时,若用户端201的登入识别码没有读取变数的权限,查询程序205会拒绝提供变数。此外查询程序205也包含事件记录(event log)的功能。如果顺利更新变数,查询程序205会写入正常状态至事件记录。反之,如果从查询数据库206到更新变数的过程中发生例外事件(exception),查询程序205会写入异常状态至事件记录。
接下来,图3与图4为本实施例中,查询程序205所执行的非同步数据查询方法的详细流程图。图3为定时更新变数的流程。
首先,在步骤310读取设定文件。这个设定文件包含查询程序205会用到的所有信息,例如预设的定时规则、定时规则是否执行、连结哪一个数据库、连结数据库所需的帐号与密码、对数据库下达的SQL指令、查询结果的种类等。当然,在本发明的范围中,可以用其他方式取得上述信息,不限于设定文件。例如可以从网络上的数据库、网络上的另一台电脑、或内建于程序中的常数或变数,取得上述信息的全部或其中一部分。
读取设定文件之后,流程进入步骤320,根据预设的定时规则,检查是否要执行查询作业。如果不是,流程至此结束。如果是,流程会进入步骤325取得查询用的SQL指令,在步骤330连结数据库206,然后进入步骤340,对数据库206下达SQL指令,取得查询结果。接着流程进入步骤350,利用前面的查询结果更新变数。在更新变数时,可以顺便为变数名称或变数内容加密,或两者都加密。最后,流程会进入步骤360,写入正常状态至事件记录。另一方面,如果从步骤310到350的过程中发生例外事件,流程会进入步骤370,写入异常状态至事件记录。
接下来,图4为用户端201查询数据时,查询程序205所执行的流程。
首先,在步骤410,用户端201会连结伺服器204,登入报表查询网页。接着在步骤420,查询程序205会检查用户端201的登入识别码是否有读取变数的权限。如果有,查询程序205会在步骤430提供变数给用户端201,否则查询程序205会在步骤440拒绝提供变数。
图5为本实施例的查询程序205的架构示意图。查询程序205包括六个模块:排程模块(schedule module)501、条件数据收集模块(conditional datacollection module)502、数据库连结模块(database connection module)503、查询模块(query module)504、事件记录模块(log module)505、以及安全模块(security module)506。
排程模块501负责定时检查预设规则,判断是否该进行查询作业,也就是执行图3的步骤302。条件数据收集模块502负责取得查询所需的SQL指令,也就是执行图3的步骤325。数据库连结模块503负责连结数据库,也就是执行图3的步骤330。查询模块504负责下达SQL指令,取得查询结果,也就是执行图3的步骤340。事件记录模块505负责记录整个查询作业中的异常状态以及顺利结束后的正常状态,也就是执行图3的步骤360与370。最后,安全模块506负责在用户端201欲取得伺服器204的变数时确保数据安全性,也就是执行图4的步骤420、430、以及440。
在本发明的范围中,并未限定查询程序采用上述的模块架构,重点是只要查询程序能定时查询数据库,更新伺服器的变数,并且将变数提供给用户端,即可达成本发明的功效。
综上所述,本发明是以非同步方式定时查询数据库以更新伺服器的变数,然后在用户端查询时,伺服器可立即提供变数至用户端,所以能缩短使用者的等待时间。因为本发明是将来自众多使用者的重复查询,集中简化为单一程序的定时查询,所以能减少数据库查询次数,降低数据库的负担,并且减少伺服器的存储器使用。
虽然本发明已以较佳实施例揭示如上,然而其并非用以限定本发明,任何熟悉本技术的人员,在不脱离本发明的精神和范围内,当可作出种种的等效的变化或替换,因此本发明的保护范围当视后附的本申请权利要求范围所界定的为准。
Claims (19)
1.一种非同步数据查询方法,包括:
(a)根据一预设规则定时执行下列两个步骤:
(a1)查询一数据库,取得一查询结果;
(a2)利用该查询结果更新一变数;以及
(b)提供该变数至一用户端。
2.如权利要求1所述的非同步数据查询方法,其特征在于该预设规则为依照一预设周期执行步骤(a1)与(a2)。
3.如权利要求1所述的非同步数据查询方法,其特征在于步骤(a1)还包括:
连结该数据库;以及
对该数据库下达一结构查询语言指令,取得该查询结果。
4.如权利要求1所述的非同步数据查询方法,其特征在于该查询结果为下列其中之一:单一文字、单一数字、阵列、数据集合、数据表、数据视集、以及可扩充标记语言。
5.如权利要求1所述的非同步数据查询方法,其特征在于还包括:
若步骤(a1)与(a2)顺利结束,则写入正常状态至一事件记录。
6.如权利要求1所述的非同步数据查询方法,其特征在于还包括:
若执行步骤(a1)或(a2)时发生例外事件,则写入异常状态至一事件记录。
7.如权利要求1所述的非同步数据查询方法,其特征在于还包括:
若该用户端的登入识别码没有读取该变数的权限,则拒绝提供该变数。
8.如权利要求7所述的非同步数据查询方法,其特征在于还包括:
至少加密该变数名称与该变数内容的其中之一。
9.如权利要求1所述的非同步数据查询方法,其特征在于该用户端为网页与应用程序其中之一。
10.一种电脑可读取的储存媒体,储存一电脑程序,该电脑程序可执行如权利要求1所述的非同步数据查询方法。
11.一种非同步数据查询系统,包括:
一数据库;
一伺服器,提供一变数至一用户端;以及
一查询程序,根据一预设规则定时查询该数据库,取得一查询结果,并且利用该查询结果更新该变数。
12.如权利要求11所述的非同步数据查询系统,其特征在于该预设规则为依照一预设周期查询该数据库。
13.如权利要求11所述的非同步数据查询系统,其特征在于该查询结果是借助一结构查询语言指令自该数据库取得。
14.如权利要求11所述的非同步数据查询系统,其特征在于该查询结果为下列其中之一:单一文字、单一数字、阵列、数据集合、数据表、数据视集、以及可扩充标记语言。
15.如权利要求11所述的非同步数据查询系统,其特征在于该查询程序的作用还包括:若顺利更新该变数,则写入正常状态至一事件记录。
16.如权利要求11所述的非同步数据查询系统,其特征在于该查询程序的作用还包括:若自查询该数据库至更新该变数的过程中发生例外事件,则写入异常状态至一事件记录。
17.如权利要求11所述的非同步数据查询系统,其特征在于该查询程序的作用还包括:若该用户端的登入识别码没有读取该变数的权限,则拒绝提供该变数。
18.如权利要求17所述的非同步数据查询系统,其特征在于该查询程序的作用还包括:至少加密该变数名称与该变数内容的其中之一。
19.如权利要求11所述的非同步数据查询系统,其特征在于该用户端为网页与应用程序其中之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510092737 CN1916892A (zh) | 2005-08-19 | 2005-08-19 | 非同步数据查询方法与系统以及执行该方法的电脑程序的储存媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510092737 CN1916892A (zh) | 2005-08-19 | 2005-08-19 | 非同步数据查询方法与系统以及执行该方法的电脑程序的储存媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1916892A true CN1916892A (zh) | 2007-02-21 |
Family
ID=37737890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510092737 Pending CN1916892A (zh) | 2005-08-19 | 2005-08-19 | 非同步数据查询方法与系统以及执行该方法的电脑程序的储存媒体 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1916892A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957849A (zh) * | 2010-09-21 | 2011-01-26 | 用友软件股份有限公司 | 静态报表生成方法和装置 |
CN104216986A (zh) * | 2014-09-03 | 2014-12-17 | 陈飞 | 以数据更新周期进行预操作提高数据查询效率的装置及方法 |
-
2005
- 2005-08-19 CN CN 200510092737 patent/CN1916892A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957849A (zh) * | 2010-09-21 | 2011-01-26 | 用友软件股份有限公司 | 静态报表生成方法和装置 |
CN104216986A (zh) * | 2014-09-03 | 2014-12-17 | 陈飞 | 以数据更新周期进行预操作提高数据查询效率的装置及方法 |
CN104216986B (zh) * | 2014-09-03 | 2017-11-10 | 陈飞 | 以数据更新周期进行预操作提高数据查询效率的装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6775675B1 (en) | Methods for abstracting data from various data structures and managing the presentation of the data | |
US6832222B1 (en) | Technique for ensuring authorized access to the content of dynamic web pages stored in a system cache | |
US7930215B2 (en) | Contextual computing system | |
US7593960B2 (en) | System and method for least work publishing | |
US8095644B2 (en) | System and method for analyzing web paths | |
JP5443615B2 (ja) | モデル駆動手法を使用する柔軟性のあるデータ・アーカイブのための方法、並びにそのシステム、及びコンピュータ・プログラム | |
US20020174126A1 (en) | Methods and apparatus for real-time business visibility using persistent schema-less data storage | |
US20100217777A1 (en) | System for Automatic Arrangement of Portlets on Portal Pages According to Semantical and Functional Relationship | |
US20070239799A1 (en) | Analyzing log files | |
WO2001082142A1 (en) | System and method for determining user identity fraud using similarity searching | |
ZA200503578B (en) | Adaptively interfacing with a data repository | |
Varga et al. | Introducing Microsoft SQL Server 2016: Mission-Critical Applications, Deeper Insights, Hyperscale Cloud | |
CN102200996A (zh) | 对动态报告进行解析和索引 | |
US20080109441A1 (en) | Topic Map for Navigational Control | |
US20040153748A1 (en) | Method for configuring a data processing system for fault tolerance | |
US20070100914A1 (en) | Automated process for identifying and delivering domain specific unstructured content for advanced business analysis | |
US8429609B2 (en) | Method and system for web-based enterprise change and configuration management reports | |
CN1916892A (zh) | 非同步数据查询方法与系统以及执行该方法的电脑程序的储存媒体 | |
CN101206649B (zh) | 多任务解析系统及方法 | |
US20050229162A1 (en) | Systems and methods for providing multi-environment test automation | |
US20030225722A1 (en) | Method and apparatus for providing multiple views of virtual documents | |
EP1748366A1 (en) | A data processing system and method | |
Cisco | CiscoSecure ACS 2.2(3) for UNIX Installation Guide | |
Cisco | CiscoSecure ACS 2.2(3) for UNIX Installation Guide | |
Papakonstantinou et al. | The Enosys Markets data integration platform: lessons from the trenches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |