CN108153825A - 数据访问方法及装置 - Google Patents

数据访问方法及装置 Download PDF

Info

Publication number
CN108153825A
CN108153825A CN201711282244.3A CN201711282244A CN108153825A CN 108153825 A CN108153825 A CN 108153825A CN 201711282244 A CN201711282244 A CN 201711282244A CN 108153825 A CN108153825 A CN 108153825A
Authority
CN
China
Prior art keywords
result data
data
child servers
database
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
CN201711282244.3A
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.)
PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp
Original Assignee
PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp
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 PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp filed Critical PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp
Priority to CN201711282244.3A priority Critical patent/CN108153825A/zh
Publication of CN108153825A publication Critical patent/CN108153825A/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

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

Abstract

本发明提供一种数据访问方法及装置,包括:接收客户端发送的第一查询请求;根据第一查询请求在缓存中进行查找,判断是否查找成功,若查找成功,将第一查询结果数据发送给客户端,若查找不成功,向数据库发送第二查询请求;根据第二查询请求在数据库中进行查找,判断是否查找成功,若查找成功,接收数据库返回的第二查询结果数据;将第一查询结果数据发送给客户端。上述方法及装置,只有在缓存中查找不到所需数据时,才向数据库进行访问,避免了每次查询都会查询整个数据库,尤其在高并发的情况下,大大降低了数据库的访问压力。

Description

数据访问方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据访问方法及装置。
背景技术
随着互联网技术的发展,网络带宽、计算机硬件性能不断提高,随着电子商务的迅速发展,相应的数据规模、并发用户呈几何级数增长。企业间的物资采购数据量日益庞大,有限的服务器资源与传输大量采购商与供应商的竞价拍卖业务数据的需求之间的矛盾日益突出,给企业的日常采购流程带来了极大的困难。基于云平台的企业电子商务竞价拍卖采购管理系统作为解决这一问题的有效途径,尤其对于企业采购商来说,允许数以万计的供应商同时与其进行竞价拍卖采购业务。
由于用户在登录时,需要访问数据库,以获取数据库中的所有竞拍信息,并将最近时间段的竞拍信息显示在页面,当在登录的用户过多时,数据库的访问压力很大,因此,为了减轻数据库的访问压力,亟需一种新的数据访问方法。
发明内容
本发明提供一种数据访问方法及装置,用以解决现有技术中,当用户过多时,数据库的访问压力大的技术问题。
本发明一方面提供一种数据访问方法,包括:
步骤101,服务器接收客户端发送的第一查询请求;
步骤102,服务器根据所述第一查询请求在缓存中进行查找,以获取第一查询结果数据,判断是否查找成功,若查找成功,转步骤106执行,以将第一查询结果数据发送给客户端,若查找不成功,转步骤103执行;
步骤103,服务器向数据库发送第二查询请求;所述第二查询请求包括所述第一查询请求;
步骤104,服务器根据所述第二查询请求在所述数据库中进行查找,以获取第二查询结果数据,判断是否查找成功,若查找成功,转步骤105执行;
步骤105,服务器接收所述数据库返回的第二查询结果数据;所述第二查询结果数据包括所述第一查询结果数据;
步骤106,服务器将所述第一查询结果数据发送给所述客户端。
进一步的,步骤101具体包括:
步骤1011,第一子服务器接收所述客户端发送的所述第一查询请求;所述服务器包括第一子服务器和多个第二子服务器;
步骤1012,所述第一子服务器判断各所述第二子服务器的当前负载情况,并将所述第一查询请求发送给根据预选方式选择的所述第二子服务器,由选择的第二子服务器在缓存中进行查找。
进一步的,所述预选方式为选择当前负载比重最小的所述第二子服务器或者选择剩余任务量最大的所述第二子服务器,其中,所述当前负载比重为所述第二子服务器的当前任务量与其任务总量的比值;所述剩余任务量为所述第二子服务器的任务总量与其当前任务量的差值。
进一步的,所述第二查询请求还包括数据更新请求;
所述第二查询结果数据还包括更新结果数据,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据;
在步骤105之后还包括步骤106’,服务器将所述更新结果数据存储至所述缓存中。
进一步的,上述方法还包括,服务器每隔预设时间,向数据库发送数据更新请求,并接收所述更新结果数据,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据。
本发明另一方面提供一种数据访问装置,包括服务器和数据库;
所述服务器包括第一接收模块、第一判断模块、第一发送模块、第二判断模块、第二接收模块和第二发送模块;
其中,第一接收模块,用于接收客户端发送的第一查询请求;
第一判断模块,用于根据所述第一查询请求在缓存中进行查找,以获取第一查询结果数据,判断是否查找成功,若不成功,触发第一发送模块,若成功,触发第二发送模块,以将第一查询结果数据发送给客户端;
第一发送模块,用于向数据库发送第二查询请求,所述第二查询请求包括所述第一查询请求;
第二判断模块,用于根据所述第二查询请求在所述数据库中进行查找,以获取第二查询结果数据,判断是否查找成功,若成功,触发第二接收模块;
第二接收模块,用于接收所述数据库返回的第二查询结果数据;所述第二查询结果数据包括所述第一查询结果数据;
第二发送模块,用于将所述第一查询结果数据发送给所述客户端。
进一步的,所述服务器包括第一子服务器和多个第二子服务器,其中,第一子服务器包括第一接收模块和第二发送模块,第二子服务器包括第一判断模块、第一发送模块、第二判断模块和第二接收模块;
第一接收模块具体包括:
第一接收子模块,用于接收所述客户端发送的所述第一查询请求;
第二接收子模块,用于判断各所述第二子服务器的当前负载情况,并将所述第一查询请求发送给根据预选方式选择的所述第二子服务器,由该所述第二子服务器在缓存中进行查找。
进一步的,所述预选方式为选择当前负载比重最小的所述第二子服务器或者选择剩余任务量最大的所述第二子服务器,其中,所述当前负载比重为所述第二子服务器的当前任务量与其任务总量的比值;所述剩余任务量为所述第二子服务器的任务总量与其当前任务量的差值。
进一步的,所述第二查询请求还包括数据更新请求;
所述第二查询结果数据还包括更新结果数据,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据;
所述服务器还包括第一缓存更新模块,用于将所述更新结果数据存储至所述缓存中。
进一步的,所述服务器还包括第二缓存更新模块,用于每隔预设时间,向数据库发送数据更新请求,接收所述数据库返回的所述更新结果数据,并将所述更新结果数据存储至所述缓存中,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据。
本发明提供的数据访问方法及装置,服务器接收客户端发送的第一查询请求后,首先在缓存中进行查找,当查找不到时,才会向数据库发送第二查询请求,以在数据库中进行查找。即上述对数据的访问方法,不会每次都向数据库进行请求,只有在缓存中查找不到所需数据时,才向数据库进行访问,避免了每次查询都会查询整个数据库,尤其在高并发的情况下,大大降低了数据库的访问压力。
附图说明
在下文中将基于实施例并参考附图来对本发明进行更详细的描述。其中:
图1为本发明实施例一提供的数据访问方法的流程示意图;
图2为本发明实施例二提供的数据访问方法的流程示意图;
图3为本发明实施例三提供的数据访问装置的结构示意图;
图4为本发明实施例四提供的数据访问装置的结构示意图。
在附图中,相同的部件使用相同的附图标记。附图并未按照实际的比例绘制。
具体实施方式
下面将结合附图对本发明作进一步说明。
以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
实施例一
图1为本发明实施例一提供的数据访问方法的流程示意图;如图1所示,本实施例提供一种数据访问方法,包括步骤101-步骤106。
步骤101,服务器接收客户端发送的第一查询请求。
本实施例中的数据访问方法,用于企业电子商务竞价采购,当然也可用于其他事件中,在此不做限定。一般的,企业电子商务竞价采购的公告类型包括以下七种类型:招标公告、资格预审公告、中标公示、公开询价公告、公开询价结果、竞价公告、竞价结果。第一查询请求包括待查询内容和客户端IP地址,当然也可包括其他内容,在此不做限定。
步骤102,服务器根据所述第一查询请求在缓存中进行查找,以获取第一查询结果数据,判断是否查找成功,若查找成功,转步骤106执行,以将第一查询结果数据发送给客户端,若查找不成功,转步骤103执行。
具体的,缓存可视为存储在本地的公共缓存,如使用开放缓存服务(Open CacheService,简称OCS),OCS是基于内存的缓存服务,支持海量小数据的高速访问。缓存中存储有从数据库中查找到的所有的客户端待访问数据。缓存中存储有数据库中的所有待查询的内容,服务器收到客户端发送的第一查询请求后,首先在缓存中查找,若能够在缓存中查找到,将查找到的第一查询结果数据发送给客户端即可,此时不用再访问数据库,减少了数据库访问的次数,减轻了数据库的负载压力。当根据第一查询请求在缓存中查找失败时,才需要在数据库中查找,此时转步骤103执行。
第一查询结果数据为根据第一查询请求查找到的需要返回给客户端的数据。
步骤103,服务器向数据库发送第二查询请求,所述第二查询请求包括所述第一查询请求。
第二查询请求为服务器发送给数据库的请求查询信息。第二查询请求可包括第一查询请求,还可包括其他信息,比如数据更新请求,用于更新缓存。
步骤104,服务器根据所述第二查询请求在所述数据库中进行查找,以获取第二查询结果数据,判断是否查找成功,若查找成功,转步骤105执行;若查找不成功,流程结束。
服务器向数据库发送第二查询请求后,数据库根据第二查询请求进行查找,若仍旧查找不到所需数据,则流程结束。若查找成功,则转步骤105执行。
步骤105,服务器接收所述数据库返回的第二查询结果数据;所述第二查询结果数据包括所述第一查询结果数据。
第二查询结果数据除了包括第一查询结果数据外,还可包括其他数据,例如当第二查询请求还包括数据更新请求时,第二查询结果数据还包括更新结果数据,更新结果数据为从所述数据库中查找到的所有客户端待访问数据,服务器接收到更新结果数据后,会将更新结果数据存储至缓存中。
步骤106,服务器将所述第一查询结果数据发送给所述客户端。
本实施例中的数据访问方法,服务器接收客户端发送的第一查询请求后,首先在缓存中进行查找,当查找不到时,才会向数据库发送第二查询请求,在数据库中进行查找。即,对数据的访问方法,不会每次都是向数据库进行请求,只有在缓存中查找不到所需数据时,才向数据库进行访问,避免了每一次查询都会查询整个数据库,尤其在高并发的情况下,大大降低了数据库的访问压力。
实施例二
图2为本发明实施例二提供的数据访问方法的流程示意图;如图2所示,本实施例提供一种数据访问方法,包括下述步骤1011-步骤107a。
步骤1011,第一子服务器接收所述客户端发送的所述第一查询请求;所述服务器包括第一子服务器和多个第二子服务器。
本实施例中的数据访问方法,用于企业电子商务竞价采购,当然也可用于其他事件中,在此不做限定。一般的,企业电子商务竞价采购的公告类型包括以下七种类型:招标公告、资格预审公告、中标公示、公开询价公告、公开询价结果、竞价公告、竞价结果。第一查询请求包括待查询内容和客户端IP地址,当然也可包括其他内容,在此不做限定。
在本实施例中,服务器包括一个或多个第一子服务器和多个第二子服务器,具体的,第一子服务器用于接收客户端的请求和向所述客户端发送第一查询结果数据。
步骤1012,所述第一子服务器判断各所述第二子服务器的当前负载情况,并将所述第一查询请求发送给根据预选方式选择的所述第二子服务器,由该所述第二子服务器在缓存中进行查找。
具体的,第一子服务器还用于分析各第二子服务器的当前负载情况,例如第一子服务器中存储有一张任务记录表,用于存储各第二子服务器及其对应的当前任务量和可承载的任务总量,第一子服务器每次向某一第二子服务器发送第一查询请求时,在任务记录表中为相应的第二子服务器进行记录,将该第二子服务器对应的当前任务量加1,当第一子服务器接收到来自某一第二子服务器返回的第一查询结果数据时,第一子服务器将任务记录表中该第二子服务器的当前任务量减1。
进一步的,预选方式为选择当前负载比重最小的所述第二子服务器或者选择剩余任务量最大的所述第二子服务器,其中,所述当前负载比重为所述第二子服务器的当前当前任务量与其任务总量的比值;所述剩余任务量为所述第二子服务器的任务总量与其当前任务量的差值。
第一子服务器通过查找该任务记录表即可获知需要分发给哪一个第二子服务器,进一步的,第一子服务器将第一查询请求发送给当前负载比重最小的第二子服务器,当前负载比重即第二子服务器当前任务量与第二子服务器所能承担的任务总量的比值,该比值越小,说明该第二子服务器当前越空闲,可无负担的接收新任务。当然,也可根据各第二子服务器当前剩余任务量来进行选择,当前剩余任务量即第二子服务器的可承载的任务总量减去当前任务量所得的值,第一子服务器优先选择剩余任务量最大的第二子服务器,并将第一查询请求发送给该第二子服务器。
步骤102a,第二服务器根据所述第一查询请求在缓存中进行查找,缓存可视为存储在本地的公共缓存,如使用开放缓存服务(Open Cache Service,简称OCS),OCS是基于内存的缓存服务,支持海量小数据的高速访问。缓存中存储有从数据库中查找到的所有的客户端待访问数据。判断是否查找成功,若查找成功,转步骤106a执行,以将第一查询结果数据发送给客户端,若查找不成功,转步骤103a执行。
具体的,缓存中存储有数据库中的所有待查询的内容,第二服务器服务器收到第一服务器发送的第一查询请求后,首先在缓存中查找,若能够在缓存中查找到,将查找到的第一查询结果数据发送给第一服务器,由第一服务器返回给客户端即可,此时不用去访问数据库,减少了数据库访问的次数,减轻了数据库的负载压力。当根据第一查询请求在缓存中查找失败时,需要在数据库中查找,此时转步骤103a执行。
各第二子服务器组成一个集群服务器,因此,各第二子服务器共用一个缓存即可,该缓存可为任意一个第二子服务器的本地缓存。
第一查询结果数据为根据第一查询请求查找到的需要返回给客户端的数据。
步骤103a,第二子服务器向数据库发送第二查询请求,所述第二查询请求包括所述第一查询请求。
第二查询请求为服务器发送给数据库的请求查询信息。第二查询请求可包括第一查询请求,还可包括其他信息,比如数据更新请求,用于更新缓存。
步骤104a,第二子服务器根据所述第二查询请求在所述数据库中进行查找,判断是否查找成功,若查找成功,转步骤105a执行;若查找不成功,流程结束。
服务器向数据库发送第二查询请求后,数据库根据第二查询请求进行查找,若仍旧查找不到所需数据,则流程结束。若查找成功,则转步骤105a执行。
步骤105a,第二子服务器接收所述数据库返回的第二查询结果数据;所述第二查询结果数据包括所述第一查询结果数据。
第二查询结果数据除了包括第一查询结果数据外,还可包括其他数据,例如当第二查询请求还包括数据更新请求时,第二查询结果数据还包括更新结果数据,更新结果数据为从所述数据库中查找到的所有客户端待访问数据,服务器接收到更新结果数据后,会将更新结果数据存储至缓存中。
步骤106a,第一子服务器将所述第一查询结果数据发送给所述客户端。
本实施例中的数据访问方法,由第一子服务器专门负责接收和转发第一查询请求,第一子服务器不对第一查询请求做事务性处理,仅仅起到接收和转发的作用,第一子服务器根据预选方式选择接收第一查询请求的第二子服务器,由第二子服务器根据第一查询请求进行相关查询。第一子服务器在向第二子服务器转发第一查询请求时,会综合考虑各第二子服务器当前的负载情况,以均衡第二子服务器的当前任务量,实现各第二子服务器的负载均衡。第二子服务器收到第一查询请求后,首先在缓存中进行查找,若查找成功,向第一子服务器返回第一查询结果数据,由第一子服务器将第一查询结果数据发送给客户端;若查找不成功,第一子服务器向数据库发送第二查询请求,以从数据库中进行查找,并接收数据库返回的第二查询结果数据,第二查询结果数据除了包括第一查询结果数据,还包括更新结果数据,更新结果数据为从数据库中查找到的所有客户端待访问数据,第二子服务器将更新结果数据存放在缓存中,以实现缓存的更新。
在本发明一个具体实施例中,上述方法还包括步骤107a,服务器每隔预设时间,向数据库发送数据更新请求,并接收所述更新结果数据。步骤107a可在上述任何步骤前或后执行。预设时间可根据实际情况进行设置,在此不做限定。
实施例三
本实施例用于执行实施例一中的方法。
图3为本发明实施例三提供的数据访问装置的结构示意图;如图3所示,本实施例提供一种数据访问装置,包括服务器和数据库,其中,服务器包括第一接收模块201、第一判断模块202、第一发送模块203、第二判断模块204、第二接收模块205和第二发送模块206。
其中,第一接收模块201,用于接收客户端发送的第一查询请求。
第一判断模块202,用于根据第一查询请求在缓存中进行查找,以获取第一查询结果数据,判断是否查找成功,若不成功,触发第一发送模块203,若成功,触发第二发送模块206。
第一发送模块203,用于向数据库发送第二查询请求。
第二判断模块204,根据第二查询请求在数据库中进行查找,以获取第二查询结果数据,判断是否查找成功,若成功,触发第二接收模块205。
第二接收模块205,用于接收所述数据库返回的第二查询结果数据;所述第二查询请求包括所述第一查询请求,所述第二查询结果数据包括所述第一查询结果数据。
第二发送模块206,用于将所述第一查询结果数据发送给所述客户端。
本实施例是与方法实施例一对应的装置实施例,具体可参见实施例一中的描述,在此不再赘述。
实施例四
本实施例是在实施例三的基础上进行的补充说明,用于执行实施例二中的方法。
图4为本发明实施例四提供的数据访问装置的结构示意图;如图4所示,本实施例提供一种数据访问装置,其中,第一接收模块201具体包括第一接收子模块2011和第二接收子模块2012。服务器包括第一子服务器和多个第二子服务器,其中,第一子服务器包括第一接收模块201和第二发送模块206,第二子服务器包括第一判断模块202、第一发送模块203、第二判断模块204和第二接收模块205。
具体的,第一接收子模块2011,用于第一子服务器接收所述客户端发送的所述第一查询请求;服务器包括第一子服务器和多个第二子服务器。
第二接收子模块2012,用于第一子服务器判断各所述第二子服务器的当前负载情况,并将所述第一查询请求发送给当前负载比重最小的所述第二子服务器,由该所述第二子服务器在缓存中进行查找。
在本发明一个具体实施例中,第二查询请求还包括数据更新请求;所述第二查询结果数据还包括更新结果数据,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据;上述服务器还包括第一缓存更新模块207,用于将更新结果数据存储至所述缓存中。
在本发明另一个具体实施例中,上述服务器还包括第二缓存更新模块208,用于每隔预设时间,向数据库发送数据更新请求,接收所述更新结果数据,并将更新结果数据存储至所述缓存中,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据。
本实施例是与方法实施例二对应的装置实施例,具体可参见实施例二中的描述,在此不再赘述。
应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
此外,所描述的特征、结构或特性可以任何其他合适的方式结合到一个或多个实施例中。在上面的描述中,提供一些具体的细节,例如材料等,以提供对本发明的实施例的全面理解。然而,相关领域的技术人员将明白,本发明无需上述一个或多个具体的细节便可实现,或者也可采用其它方法、组件、材料等实现。在其它示例中,周知的结构、材料或操作并未详细示出或描述以免模糊本发明的各个方面。
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。

Claims (10)

1.一种数据访问方法,其特征在于,包括:
步骤101,服务器接收客户端发送的第一查询请求;
步骤102,服务器根据所述第一查询请求在缓存中进行查找,以获取第一查询结果数据,判断是否查找成功,若查找成功,转步骤106执行,以将第一查询结果数据发送给客户端,若查找不成功,转步骤103执行;
步骤103,服务器向数据库发送第二查询请求;所述第二查询请求包括所述第一查询请求;
步骤104,服务器根据所述第二查询请求在所述数据库中进行查找,以获取第二查询结果数据,判断是否查找成功,若查找成功,转步骤105执行;
步骤105,服务器接收所述数据库返回的第二查询结果数据;所述第二查询结果数据包括所述第一查询结果数据;
步骤106,服务器将所述第一查询结果数据发送给所述客户端。
2.根据权利要求1所述的数据访问方法,其特征在于,步骤101具体包括:
步骤1011,第一子服务器接收所述客户端发送的所述第一查询请求;所述服务器包括第一子服务器和多个第二子服务器;
步骤1012,所述第一子服务器判断各所述第二子服务器的当前负载情况,并将所述第一查询请求发送给根据预选方式选择的所述第二子服务器,由选择的第二子服务器在缓存中进行查找。
3.根据权利要求2所述的数据访问方法,其特征在于,所述预选方式为选择当前负载比重最小的所述第二子服务器或者选择剩余任务量最大的所述第二子服务器,其中,所述当前负载比重为所述第二子服务器的当前任务量与其任务总量的比值;所述剩余任务量为所述第二子服务器的任务总量与其当前任务量的差值。
4.根据权利要求1所述的数据访问方法,其特征在于,所述第二查询请求还包括数据更新请求;
所述第二查询结果数据还包括更新结果数据,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据;
在步骤105之后还包括步骤106’,服务器将所述更新结果数据存储至所述缓存中。
5.根据权利要求1-4中任一项所述的数据访问方法,其特征在于,还包括,服务器每隔预设时间,向数据库发送数据更新请求,并接收所述数据库反馈的更新结果数据,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据。
6.一种数据访问装置,其特征在于,包括服务器和数据库;
所述服务器包括第一接收模块、第一判断模块、第一发送模块、第二判断模块、第二接收模块和第二发送模块;其中,第一接收模块,用于接收客户端发送的第一查询请求;
第一判断模块,用于根据所述第一查询请求在缓存中进行查找,以获取第一查询结果数据,判断是否查找成功,若不成功,触发第一发送模块,若成功,触发第二发送模块,以将第一查询结果数据发送给客户端;
第一发送模块,用于向数据库发送第二查询请求,所述第二查询请求包括所述第一查询请求;
第二判断模块,用于根据所述第二查询请求在所述数据库中进行查找,以获取第二查询结果数据,判断是否查找成功,若成功,触发第二接收模块;
第二接收模块,用于接收所述数据库返回的第二查询结果数据;所述第二查询结果数据包括所述第一查询结果数据;
第二发送模块,用于将所述第一查询结果数据发送给所述客户端。
7.根据权利要求6所述的数据访问装置,其特征在于,所述服务器包括第一子服务器和多个第二子服务器,其中,所述第一子服务器包括所述第一接收模块和所述第二发送模块,所述第二子服务器包括所述第一判断模块、所述第一发送模块、所述第二判断模块和所述第二接收模块;
第一接收模块具体包括:
第一接收子模块,用于接收所述客户端发送的所述第一查询请求;
第二接收子模块,用于判断各所述第二子服务器的当前负载情况,并将所述第一查询请求发送给根据预选方式选择的所述第二子服务器,由该所述第二子服务器在缓存中进行查找。
8.根据权利要求7所述的数据访问装置,其特征在于,所述预选方式为选择当前负载比重最小的所述第二子服务器或者选择剩余任务量最大的所述第二子服务器,其中,所述当前负载比重为所述第二子服务器的当前任务量与其任务总量的比值;所述剩余任务量为所述第二子服务器的任务总量与其当前任务量的差值。
9.根据权利要求6所述的数据访问装置,其特征在于,所述第二查询请求还包括数据更新请求;
所述第二查询结果数据还包括更新结果数据,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据;
所述服务器还包括第一缓存更新模块,用于将所述更新结果数据存储至所述缓存中。
10.根据权利要求6-9中任一项所述的数据访问装置,其特征在于,所述服务器还包括第二缓存更新模块,用于每隔预设时间,向数据库发送数据更新请求,接收所述数据库返回的所述更新结果数据,并将所述更新结果数据存储至所述缓存中,所述更新结果数据为从所述数据库中查找到的所有客户端待访问数据。
CN201711282244.3A 2017-12-07 2017-12-07 数据访问方法及装置 Pending CN108153825A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711282244.3A CN108153825A (zh) 2017-12-07 2017-12-07 数据访问方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711282244.3A CN108153825A (zh) 2017-12-07 2017-12-07 数据访问方法及装置

Publications (1)

Publication Number Publication Date
CN108153825A true CN108153825A (zh) 2018-06-12

Family

ID=62466528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711282244.3A Pending CN108153825A (zh) 2017-12-07 2017-12-07 数据访问方法及装置

Country Status (1)

Country Link
CN (1) CN108153825A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244912A (zh) * 2019-06-20 2019-09-17 上海数据交易中心有限公司 数据配送系统的缓存方法
CN112307059A (zh) * 2020-10-30 2021-02-02 腾讯科技(深圳)有限公司 一种排行榜管理方法、装置、计算机设备和存储介质
CN112749192A (zh) * 2021-01-24 2021-05-04 武汉卓尔信息科技有限公司 一种数据集成服务系统及数据处理方法
CN113377817A (zh) * 2021-06-28 2021-09-10 深圳市华曦达科技股份有限公司 数据处理方法、系统、设备及存储介质
CN115828308A (zh) * 2023-02-13 2023-03-21 本原数据(北京)信息技术有限公司 数据访问方法、数据访问装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508703A (zh) * 2002-12-18 2004-06-30 华为技术有限公司 一种数据库访问方法及实现该方法的客户机/服务器系统
CN101119414A (zh) * 2007-09-19 2008-02-06 华为技术有限公司 访问数据库的方法及系统
CN101576918A (zh) * 2009-06-19 2009-11-11 用友软件股份有限公司 具备负载均衡功能的数据缓存系统
US8725951B2 (en) * 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
CN105279240A (zh) * 2015-09-28 2016-01-27 暨南大学 客户端起源信息关联感知的元数据预取方法及系统
CN105468707A (zh) * 2015-11-19 2016-04-06 北京锐安科技有限公司 一种基于缓存的数据处理方法及装置
CN105653356A (zh) * 2016-01-05 2016-06-08 世纪禾光科技发展(北京)有限公司 处理多服务器并发操作的方法及装置
CN107066570A (zh) * 2017-04-07 2017-08-18 聚好看科技股份有限公司 数据管理方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508703A (zh) * 2002-12-18 2004-06-30 华为技术有限公司 一种数据库访问方法及实现该方法的客户机/服务器系统
CN101119414A (zh) * 2007-09-19 2008-02-06 华为技术有限公司 访问数据库的方法及系统
CN101576918A (zh) * 2009-06-19 2009-11-11 用友软件股份有限公司 具备负载均衡功能的数据缓存系统
US8725951B2 (en) * 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
CN105279240A (zh) * 2015-09-28 2016-01-27 暨南大学 客户端起源信息关联感知的元数据预取方法及系统
CN105468707A (zh) * 2015-11-19 2016-04-06 北京锐安科技有限公司 一种基于缓存的数据处理方法及装置
CN105653356A (zh) * 2016-01-05 2016-06-08 世纪禾光科技发展(北京)有限公司 处理多服务器并发操作的方法及装置
CN107066570A (zh) * 2017-04-07 2017-08-18 聚好看科技股份有限公司 数据管理方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244912A (zh) * 2019-06-20 2019-09-17 上海数据交易中心有限公司 数据配送系统的缓存方法
CN110244912B (zh) * 2019-06-20 2022-06-21 上海数据交易中心有限公司 数据配送系统的缓存方法
CN112307059A (zh) * 2020-10-30 2021-02-02 腾讯科技(深圳)有限公司 一种排行榜管理方法、装置、计算机设备和存储介质
CN112307059B (zh) * 2020-10-30 2023-11-28 腾讯科技(深圳)有限公司 一种排行榜管理方法、装置、计算机设备和存储介质
CN112749192A (zh) * 2021-01-24 2021-05-04 武汉卓尔信息科技有限公司 一种数据集成服务系统及数据处理方法
CN113377817A (zh) * 2021-06-28 2021-09-10 深圳市华曦达科技股份有限公司 数据处理方法、系统、设备及存储介质
CN115828308A (zh) * 2023-02-13 2023-03-21 本原数据(北京)信息技术有限公司 数据访问方法、数据访问装置、电子设备及存储介质
CN115828308B (zh) * 2023-02-13 2023-05-12 本原数据(北京)信息技术有限公司 数据访问方法、数据访问装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108153825A (zh) 数据访问方法及装置
US7047301B2 (en) Method and system for enabling persistent access to virtual servers by an LDNS server
US10491702B2 (en) Proxy-based cache content distribution and affinity
US6457047B1 (en) Application caching system and method
CN102647482B (zh) 一种访问网站的方法和系统
CN104823170B (zh) 分布式缓存群集管理
US8583810B2 (en) Session affinity cache and manager
CN104378452B (zh) 一种用于域名解析的方法、装置及系统
CN109669960A (zh) 在微服务中通过多级缓存避免缓存雪崩的系统及方法
US7953887B2 (en) Asynchronous automated routing of user to optimal host
US8620926B2 (en) Using a hashing mechanism to select data entries in a directory for use with requested operations
CN110138606B (zh) 容器网络配置方法及系统
CN107943594A (zh) 数据获取方法和装置
CN103596066B (zh) 一种数据处理方法及装置
CN104346345B (zh) 数据的存储方法及装置
US9774676B2 (en) Storing and moving data in a distributed storage system
CN107070988A (zh) 报文处理方法及装置
CN107528894A (zh) 一种存储系统实时数据获取方法及平台
CN109618003A (zh) 一种服务器规划方法、服务器及存储介质
CN105897754A (zh) 一种数据处理系统、数据拉取方法以及客户端
CN106534390B (zh) 权威域名系统服务器数据的存储和管理方法及系统
CN109783499A (zh) 一种数据缓存方法、装置和服务器
CN110493291A (zh) 一种处理http请求的方法和装置
CN105245375A (zh) 一种基于网络的高效存储方法
CN111125580A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180612