CN110191168A - 在线业务数据的处理方法、装置、计算机设备和存储介质 - Google Patents
在线业务数据的处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110191168A CN110191168A CN201910432966.5A CN201910432966A CN110191168A CN 110191168 A CN110191168 A CN 110191168A CN 201910432966 A CN201910432966 A CN 201910432966A CN 110191168 A CN110191168 A CN 110191168A
- Authority
- CN
- China
- Prior art keywords
- business datum
- request
- data
- written
- local cache
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种在线数据的处理方法及其相关设备。其中,该方法包括:接收用户请求,并确定用户请求中的访问地址;当用户请求为数据读取请求时,采用同步交互方式获取访问地址对应的业务数据;当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。该方法通过本地缓存批量写入的方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,减少不必要的错误检查,大幅度降低网络交互带来的时延问题。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种在线业务数据的处理方法、装置、计算机设备和存储介质。
背景技术
随着移动互联网技术的发展,针对大流量的业务产品而言,会存在上千万日活用户,业务线需要实时针对根据用户的实时行为信息(如搜索行为、浏览行为等)结合历史挖掘个性化信息(如兴趣点、学历、常驻地等)进行向用户推送资讯、新闻、问题、广告等,以提升用户的归属感和用户粘度。
相关技术中,采用将用户的个性化信息缓存在离线存储服务中,即使使用先进的存储服务(如Mola2/3或RDict)及固态硬盘等低延迟硬件,提取时间也无法保证在10s内(存储服务内部的“更新”延迟及网络延迟)。
相关技术中提到的问题,关键点都是网络交互引起的。在时效性能允许的前提下,若能减少或消除网络交互,将一定程度上缓解或消除以上问题。因此,如何减少或消除网络交互,将一定程度上缓解或消除以上问题,已经成为亟待解决的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种在线业务数据的处理方法,该方法通过本地缓存批量写入的方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,减少不必要的错误检查,大幅度降低网络交互带来的时延问题。
本发明的第二个目的在于提出一种在线数据的处理装置。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
为达到上述目的,本发明第一方面实施例提出的在线业务数据的处理方法,所述方法包括:接收用户请求,并确定所述用户请求中的访问地址;当所述用户请求为数据读取请求时,采用同步交互方式获取所述访问地址对应的业务数据;当所述用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将所述待写入业务数据以批量写入方式写入到本地缓存,并将写入到所述本地缓存的所述待写入业务数据同步至网络数据库服务器。
根据本发明实施例的在线业务数据的处理方法,可接收用户请求,并确定用户请求中的访问地址,当用户请求为数据读取请求时,采用同步交互方式获取访问地址对应的业务数据;当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。该方法通过本地缓存批量写入的方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,减少不必要的错误检查,大幅度降低网络交互带来的时延问题。
为达到上述目的,本发明第二方面实施例提出的在线业务数据的处理装置,包括:请求接收模块,用于接收用户请求,并确定所述用户请求中的访问地址;数据读取模块,用于在所述用户请求为数据读取请求时,采用同步交互方式获取所述访问地址对应的业务数据;数据写入模块,用于在所述用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将所述待写入业务数据以批量写入方式写入到本地缓存,并将写入到所述本地缓存的所述待写入业务数据同步至网络数据库服务器。
根据本发明实施例的在线业务数据的处理装置,可接收用户请求,并确定用户请求中的访问地址,当用户请求为数据读取请求时,采用同步交互方式获取访问地址对应的业务数据;当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。由此,可通过本地缓存批量写入的方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,减少不必要的错误检查,大幅度降低网络交互带来的时延问题。
为达到上述目的,本发明第三方面实施例提出的计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本发明第一方面实施例所述的在线业务数据的处理方法。
为达到上述目的,本发明第四方面实施例提出的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面实施例所述的在线业务数据的处理方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的在线业务数据的处理方法的流程图。
图2是根据本发明一个具体实施例所提供的在线业务数据的处理方法的流程图。
图3是根据本发明实施例的从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中的流程图。
图4是根据本发明实施例的整体***结构的结构示意图。
图5为根据本发明实施例的用户请求为数据纯读请求方法的示例图。
图6为根据本发明实施例的用户请求为数据纯写请求方法的示例图。
图7为根据本发明实施例的用户请求为数据读写请求的示例图。
图8是根据本发明实施例的在线业务***的结构示意图。
图9是根据本发明一个实施例的在线业务数据的处理装置的结构示意图。
图10是根据本发明一个实施例的在线业务数据的处理装置的结构示意图。
图11是根据本发明一个实施例的计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的在线业务数据的处理方法、装置、计算机设备、计算机可读存储介质。
图1是根据本发明一个实施例的在线业务数据的处理方法的流程图。需要说明的是,本发明实施例的在线业务数据的处理方法可应用于本发明实施例的在线业务数据的处理装置,该装置可被配置于计算机设备上。
如图1所示,该在线业务数据的处理方法可以包括:
S110,接收用户请求,并确定用户请求中的访问地址。
需要说明的是,用户请求可以是用户的访问请求,例如,用户请求访问购物网站、社交网站、游戏平台或者搜索平台等。
在本发明的实施例中,用户通过终端设备发出请求访问时,可通过服务器接收用户请求,其中,用户请求包括用户请求中的访问地址。
举例而言,当用户打开终端设备的浏览器进行访问时,即向服务器发送访问请求,服务器可接收用户访问请求,其中,每个访问请求都有对应的访问地址。
S120,当用户请求为数据读取请求时,采用同步交互方式获取访问地址对应的业务数据。
需要说明的是,同步交互方式是指服务器在接收到用户请求后,需对该请求进行响应,并将结果返回,然后再接收下一个请求。
在本发明的实施例中,在接收到用户请求时,可根据用户请求内容确定用户请求是否为数据读取请求,例如,用户请求内容为“查看小说A的内容”,即用户请求为数据读取请求,当用户请求为数据读取请求时,采用同步交互方式获取访问地址对应的业务数据,其中,业务数据是针对业务***产生的数据。
举例而言,服务器在接收到用户请求时,可知用户请求内容为“查看企业A的相关介绍”,可确定用户请求为数据读取请求,采用同步交互方式获取“查看企业A的相关介绍”地址对应的企业类型、所在城市、注册资金并返回。
基于业务服务的缓存更新机制,可选地,在本发明的一个实施例中,当用户请求为数据读取请求时,采用同步交互方式获取所述访问地址对应的业务数据,即当用户请求为数据读取请求时,可在本地缓存中查询是否存在访问地址对应的业务数据,若存在,则从本地缓存中读取业务数据,若不存在,则从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中。具体实现过程可参见后续实施例的描述。
S130,当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。
需要说明的是,异步交互方式是指服务器在接收到用户请求后,无需等待服务器的响应,可再接收下一个请求。
在本发明的实施例中,在接收到多个用户请求时,可根据多个用户请求内容确定多个用户请求是否为数据写入请求,当多个用户请求均为数据写入请求时,可获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。
举例而言,服务器在接收到多个用户请求时,可获取每个用户请求中的待写入业务数据,并采用异步交互方式将每个用户请求中的待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。由此,通过本地缓存批量写入方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,大幅度降低网络交互带来的时延问题。
为了大幅度降低在线存储资源的占用,在本发明的实施例中,在将待写入业务数据写入到本地缓存之前,对待写入业务数据进行压缩,并将压缩后的待写入业务数据写入到本地缓存。
也就是说,当用户请求为数据写入请求时,获取待写入业务数据,并对待写入业务数据进行压缩,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。
根据本发明实施例的在线业务数据的处理方法,可接收用户请求,并确定用户请求中的访问地址,当用户请求为数据读取请求时,采用同步交互方式获取访问地址对应的业务数据;当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。该方法通过本地缓存批量写入的方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,减少不必要的错误检查,大幅度降低网络交互带来的时延问题。
图2是根据本发明一个具体实施例所提供的在线业务数据的处理方法的流程图。如图2所示,该在线业务数据的处理方法可以包括:
S210,接收用户请求,并确定用户请求中的访问地址。
需要说明的是,用户请求可以是用户的访问请求,例如,用户请求访问购物网站、社交网站、游戏平台或者搜索平台等。
在本发明的实施例中,用户通过终端设备发出请求访问时,可通过服务器接收用户请求,其中,用户请求包括用户请求中的访问地址。
举例而言,当用户打开终端设备的浏览器进行访问时,即向服务器发送访问请求,服务器可接收用户访问请求,其中,每个访问请求都有对应的访问地址。
S220,当用户请求为数据读取请求时,在本地缓存中查询是否存在访问地址对应的业务数据。
在本发明的实施例中,在接收到用户请求时,可根据用户请求内容确定用户请求是否为数据读取请求,当用户请求为数据读取请求时,在本地缓存中查询是否存在访问地址对应的业务数据。
举例而言,在接收到用户请求时,可知用户请求内容为“查看明星A的相关资料”,即用户请求为数据读取请求,在本地缓存中查询是否存在“查看明星A的相关资料”地址对应的简介、代表作品。
S230,如果本地缓存中存在访问地址对应的业务数据,则从本地缓存中读取业务数据。
举例而言,在本地缓存中存在“查看明星A的相关资料”地址对应的简介、代表作品等业务数据,可直接从本地缓存中读取简介、代表作品等业务数据。
S240,如果本地缓存中不存在访问地址对应的业务数据,则从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中。
为了实现实时级别的个性化业务计算,在本发明的实施例中,本地缓存中不存在访问地址对应的业务数据,可确定需要读取数据,通过检测网络数据库服务器读取需要读取数据的操作是否成功来确定从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中。具体的实现过程如下:
图3是根据本发明实施例的从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中的流程图。如图3所示,从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中的具体实现过程可包括如下步骤:
S310,将访问地址对应的业务数据确定为需要读取数据。
在本发明实施例中,在本地缓存中不存在访问地址对应的业务数据,将访问地址对应的业务数据确定为需要读取数据。
也就是说,当用户请求为数据读取请求时,在本地缓存中查询不到读取请求访问地址对应的业务数据,可将访问地址对应的业务数据确定为需要读取数据。
举例而言,当用户请求为数据读取请求时,可知用户的请求内容是“查看学校A的资料”,在本地缓存中查询不到“查看学校A的资料”访问地址对应的“学校A的简介”的业务数据,可将“学校A的简介”的业务数据确定为需要读取数据。
S320,将需要读取数据的码键KEY放入高优先级读队列以向网络数据库服务器请求需要读取数据。
其中,在本发明的实施例中,数据库是指Key-Value(KV,存储数据库)。
需要说明的是,读取数据的码键KEY类似于索引,每一条读取数据对应唯一KEY。
也就是说,将需要读取数据的索引放入高优先级读队列,其中,每条数据对应唯一索引,通过索引可知对应的数据,以向网络数据库服务器请求需要读取数据。
举例而言,读取数据的索引为key1,将该读取数据的索引key1放入高优先级读队列,可知key1对应的数据为“数据1”,以向网络数据库服务器请求需要读取“数据1”。
S330,检测向网络数据库服务器请求读取需要读取数据的操作是否成功。
在本发明的实施例中,将需要读取数据的索引放入高优先级读队列,以向网络数据库服务器请求需要读取数据之后,可通过检测函数检测服务器是否有返回数据,以判断向网络数据库服务器请求读取需要读取数据的操作是否成功。
举例而言,通过检测函数检测服务器有返回数据,则向网络数据库服务器请求读取需要读取数据的操作成功,通过检测函数检测服务器没有返回数据,则向网络数据库服务器请求读取需要读取数据的操作失效。
S340,网络数据库服务器请求读取需要读取数据的操作成功,则获取网络数据库服务器返回的访问地址对应的业务数据。
也就是说,本地缓存通过检测函数检测到服务器有返回数据,从而可获取服务器返回的访问地址对应的业务数据。
S350,将网络数据库服务器返回的访问地址对应的业务数据以批量写入方式写入到本地缓存。
也就是说,将获取到的网络数据库服务器返回的访问地址对应的业务数据以批量写入方式写入到本地缓存。
为了进一步体现***的稳定性,在本发明的一个实施例中,在检测到向网络数据库服务器请求读取需要读取数据的操作失效时,将需要读取数据的码键KEY放入低优先级读队列。
也就是说,本地缓存通过检测函数检测到服务器没有返回数据,将需要读取数据的码键KEY放入低优先级读队列,其中,每条数据对应唯一KEY,通过KEY可知对应的数据,并获取网络数据库服务器返回的访问地址对应的业务数据,之后将网络数据库服务器返回的访问地址对应的业务数据以批量写入方式写入到本地缓存。
举例而言,读取数据的KEY为key2,将该读取数据的索引key2放入低优先级读队列,可知key2对应的数据为“数据2”,并获取网络数据库服务器返回的访问地址对应的业务数据“数据2”,之后将网络数据库服务器返回的访问地址对应的业务数据“数据2”以批量写入方式写入到本地缓存。
为了保证内存数据的安全,节省存储资源的占用,实时更新本地缓存的数据,可选地,在本发明的实施例中,确定存在于本地缓存中的业务数据的时效,淘汰本地缓存中时效超过预设时长的业务数据。
也就是说,将网络数据库服务器返回的访问地址对应的业务数据写入到本地缓存,可实时监测本地缓存中的业务数据的时效,并通过在本地缓存设置时效,将本地缓存中时效超过预设时长的业务数据进行淘汰。其中,在本发明的实施例中,所述业务数据的时效可根据所述业务数据的类型来决定,例如,假设业务数据为历史数据,则可根据时间来决定该业务数据的时效,例如,可检测并淘汰本地缓存中时效超过1个星期的历史数据。
S250,当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。
需要说明的是,异步交互方式是指服务器在接收到用户请求后,无需等待服务器的响应,可再接收下一个请求。
在本发明的实施例中,在接收到多个用户请求时,可根据多个用户请求内容确定多个用户请求是否为数据写入请求,当多个用户请求均为数据写入请求时,可获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。
举例而言,服务器在接收到多个用户请求时,可获取每个用户请求中的待写入业务数据,并采用异步交互方式将每个用户请求中的待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。由此,通过本地缓存批量写入方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,大幅度降低网络交互带来的时延问题。
根据本发明实施例的在线业务数据的处理方法,可接收用户请求,并确定用户请求中的访问地址,当用户请求为数据读取请求时,在本地缓存中查询是否存在访问地址对应的业务数据,本地缓存中存在访问地址对应的业务数据,则从本地缓存中读取业务数据,若不存在,则从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中;当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。该方法通过本地缓存批量写入的方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,减少不必要的错误检查,大幅度降低网络交互带来的时延问题,同时在最节省硬件资源的前提下,实现用户实时行为信息与历史个性化信息的快速对接,实现实时级别的个性化也误计算。
为了方便本领域技术人员更加清楚的了解本发明的整体结构,图4是根据本发明实施例的整体***结构的结构示意图,如图4所示,在本发明的实施例中,用户接口响应中包含全部dblib的操作接口,在用户请求为数据读取请求时,采用同步的方式获取数据并返回,其中,若数据在cache中存在,直接返回;若否,将需要读取数据的码键key放入高优先读队列,并不停检查数据是否更新成功,成功后返回,将返回的数据以批量写入方式写入到本地缓存,通过失效检测模块按照失效策略进行处理和后台的线程交互,采取异步交互的形式,将读失效key放入低优先读队列,通过后台同步读取数据,采取可设置的批量读取方法,优先选择高优先级队列;通过后台同步写入数据,即采取可设置的批量写入方法。
为了方便本领域技术人员更加清楚地了解用户请求为数据纯读请求、用户请求为数据纯写请求和用户请求为数据读写请求的区别,下面分别介绍下用户请求为数据纯读请求、用户请求为数据纯写请求、以及用户请求为数据读写请求的方法。
图5为根据本发明实施例用户请求为数据纯读请求方法的示例图。如图5所示,用户向服务器发送读取请求,并确定用户读取请求中的访问地址,服务器接受该读取请求后返回访问地址相应数据,本地缓存通过thread函数进行检测,检测服务器是否有返回数据,如有返回数据则需要更新,将更新数据放到读取队列中,之后更新本地缓存,在更新后的本地缓存中将之前读取的数据返回。
图6为根据本发明实施例用户请求为数据纯写请求方法的示例图。如图6所示,用户向服务器发送写入请求,并确定用户写入请求中的访问地址,服务器接受该写入请求后返回访问地址相应数据,本地缓存将返回数放到写入队列中,之后更新本地缓存,在更新后的本地缓存中将之前写入的数据返回。
图7为根据本发明实施例用户请求为数据读写请求的示例图。如图7所示,本发明实施例可接收用户请求,并确定用户请求中的访问地址,当用户请求为数据读取请求时,在本地缓存中查询是否存在访问地址对应的业务数据,本地缓存中存在访问地址对应的业务数据,则从本地缓存中读取业务数据,若不存在,则从网络数据库服务器上读取访问地址对应的业务数据并保存到本地缓存中;当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。
在本发明的实施例中,在线业务数据的处理方法可应用于在线业务***,图8是根据本发明实施例的在线业务***的结构示意图,如图8所示,该在线业务***包括:实例模块810、适配器***模块820、数据库***模块830、使用者模块840和装饰***模块850,其中:
实例模块810用于为用户提供不同存储类型的DB实例,而通过这些DB实例可以获取这种存储介质的一些接口,主要用的是Adapter System中提供的接口。
适配器***模块820用于为用户提供各种不同存储类型的DB的读写接口,目前都是KV类型的接口。
数据库***模块830用于Adapter System实现过程中用的原始DB库。
使用者模块840用于使用dblib的用户,不属于dblib;用户在使用过程中,在初始化时选择要使用的存储类型后,将无视不同存储类型的差异,直接使用Adapter统一化的接口。
装饰***模块850用于增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。
其中,在本发明的实施例中,装饰***模块850是由本发明在线业务数据的处理装置实现的。由于本发明实施例提供的在线业务数据的处理装置与上述几种实施例提供的在线业务数据的处理方法相对应,因此在在线业务数据的处理方法的实施方式也适用于本实施例提供的在线业务数据的处理装置,在本实施例中不再详细描述。图9是根据本发明一个实施例的在线业务数据的处理装置的结构示意图。如图9所示,该在线业务数据的处理装置包括:请求接收模块910、数据读取模块920和数据写入模块930,其中:
请求接收模块910用于接收用户请求,并确定所述用户请求中的访问地址。
数据读取模块920用于在所述用户请求为数据读取请求时,采用同步交互方式获取所述访问地址对应的业务数据。
在本发明的一个实施例中,所述数据读取模块920具体用于:在本地缓存中查询是否存在所述访问地址对应的业务数据;若存在,则从所述本地缓存中读取所述业务数据;若不存在,则从网络数据库服务器上读取所述访问地址对应的业务数据并保存到所述本地缓存中。
在本发明的一个实施例中,所述数据读取模块920具体用于:将所述访问地址对应的业务数据确定为需要读取数据;将所述需要读取数据的码键KEY放入高优先级读队列以向所述网络数据库服务器请求所述需要读取数据;检测向所述网络数据库服务器请求读取所述需要读取数据的操作是否成功;若是,则获取所述网络数据库服务器返回的所述访问地址对应的业务数据;将所述网络数据库服务器返回的所述访问地址对应的业务数据以批量写入方式写入到所述本地缓存。
在本发明的一个实施例中,所述数据读取模块920还用于:在检测到向所述网络数据库服务器请求读取所述需要读取数据的操作失效时,将所述需要读取数据的码键KEY放入低优先级读队列。
数据写入模块930用于在所述用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将所述待写入业务数据以批量写入方式写入到本地缓存,并将写入到所述本地缓存的所述待写入业务数据同步至网络数据库服务器。
在本发明的一个实施例中,所述数据写入模块930还用于对所述待写入业务数据进行压缩,并采用异步交互方式将压缩后的待写入业务数据以批量写入方式写入到所述本地缓存。
在本发明的一个实施例中,如图10所示,所述在线业务数据的处理装置还包括:数据淘汰模块940,其中,在本发明的实施例中,数据淘汰模块940用于确定存在于所述本地缓存中的业务数据的时效,并淘汰所述本地缓存中时效超过预设时长的业务数据。
根据本发明实施例的在线业务数据的处理装置,可接收用户请求,并确定用户请求中的访问地址,当用户请求为数据读取请求时,采用同步交互方式获取访问地址对应的业务数据;当用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将待写入业务数据以批量写入方式写入到本地缓存,并将写入到本地缓存的待写入业务数据同步至网络数据库服务器。由此,可通过本地缓存批量写入的方式,将成千上万次写入请求合并为单次请求,能去掉不必要的网络写请求,减少不必要的错误检查,大幅度降低网络交互带来的时延问题。
为了实现上述实施例,本发明还提出了一种计算机设备,
图11是根据本发明一个实施例的计算机设备的结构示意图。如图11所示,该计算机设备1100可以包括:存储器1110、处理器1120及存储在存储器1110上并可在处理器1120上运行的计算机程序1130,处理器1120执行程序时,实现本发明上述任一项实施例所述的在线业务数据的处理方法。
为了实现上述实施例,本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现本发明上述任一项所述的在线业务数据的处理方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (14)
1.一种在线业务数据的处理方法,其特征在于,包括:
接收用户请求,并确定所述用户请求中的访问地址;
当所述用户请求为数据读取请求时,采用同步交互方式获取所述访问地址对应的业务数据;
当所述用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将所述待写入业务数据以批量写入方式写入到本地缓存,并将写入到所述本地缓存的所述待写入业务数据同步至网络数据库服务器。
2.根据权利要求1所述的方法,其特征在于,所述采用同步交互方式获取所述访问地址对应的业务数据,包括:
在本地缓存中查询是否存在所述访问地址对应的业务数据;
若存在,则从所述本地缓存中读取所述业务数据;
若不存在,则从网络数据库服务器上读取所述访问地址对应的业务数据并保存到所述本地缓存中。
3.根据权利要求2所述的方法,其特征在于,所述从网络数据库服务器上读取所述访问地址对应的业务数据并保存到所述本地缓存中,包括:
将所述访问地址对应的业务数据确定为需要读取数据;
将所述需要读取数据的码键KEY放入高优先级读队列以向所述网络数据库服务器请求所述需要读取数据;
检测向所述网络数据库服务器请求读取所述需要读取数据的操作是否成功;
若是,则获取所述网络数据库服务器返回的所述访问地址对应的业务数据;
将所述网络数据库服务器返回的所述访问地址对应的业务数据以批量写入方式写入到所述本地缓存。
4.根据权利要求3所述的方法,其特征在于,还包括:
在检测到向所述网络数据库服务器请求读取所述需要读取数据的操作失效时,将所述需要读取数据的码键KEY放入低优先级读队列。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
确定存在于所述本地缓存中的业务数据的时效;
淘汰所述本地缓存中时效超过预设时长的业务数据。
6.根据权利要求1所述的方法,其特征在于,在将待写入业务数据写入到所述本地缓存之前,所述方法还包括:
对所述待写入业务数据进行压缩,并将压缩后的待写入业务数据写入到所述本地缓存。
7.一种在线数据的处理装置,其特征在于,包括:
请求接收模块,用于接收用户请求,并确定所述用户请求中的访问地址;
数据读取模块,用于在所述用户请求为数据读取请求时,采用同步交互方式获取所述访问地址对应的业务数据;
数据写入模块,用于在所述用户请求为数据写入请求时,获取待写入业务数据,并采用异步交互方式将所述待写入业务数据以批量写入方式写入到本地缓存,并将写入到所述本地缓存的所述待写入业务数据同步至网络数据库服务器。
8.根据权利要求7所述的装置,其特征在于,所述数据读取模块具体用于:
在本地缓存中查询是否存在所述访问地址对应的业务数据;
若存在,则从所述本地缓存中读取所述业务数据;
若不存在,则从网络数据库服务器上读取所述访问地址对应的业务数据并保存到所述本地缓存中。
9.根据权利要求8所述的装置,其特征在于,所述数据读取模块具体用于:
将所述访问地址对应的业务数据确定为需要读取数据;
将所述需要读取数据的码键KEY放入高优先级读队列以向所述网络数据库服务器请求所述需要读取数据;
检测向所述网络数据库服务器请求读取所述需要读取数据的操作是否成功;
若是,则获取所述网络数据库服务器返回的所述访问地址对应的业务数据;
将所述网络数据库服务器返回的所述访问地址对应的业务数据以批量写入方式写入到所述本地缓存。
10.根据权利要求9所述的装置,其特征在于,所述数据读取模块还用于:在检测到向所述网络数据库服务器请求读取所述需要读取数据的操作失效时,将所述需要读取数据的码键KEY放入低优先级读队列。
11.根据权利要求7至10中任一项所述的装置,其特征在于,还包括:
数据淘汰模块,用于确定存在于所述本地缓存中的业务数据的时效,并淘汰所述本地缓存中时效超过预设时长的业务数据。
12.根据权利要求7所述的装置,其特征在于,所述数据写入模块还用于对所述待写入业务数据进行压缩,并采用异步交互方式将压缩后的待写入业务数据以批量写入方式写入到所述本地缓存。
13.一种计算机设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1至6中任一项所述的在线业务数据的处理方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的在线业务数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910432966.5A CN110191168A (zh) | 2019-05-23 | 2019-05-23 | 在线业务数据的处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910432966.5A CN110191168A (zh) | 2019-05-23 | 2019-05-23 | 在线业务数据的处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110191168A true CN110191168A (zh) | 2019-08-30 |
Family
ID=67717537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910432966.5A Pending CN110191168A (zh) | 2019-05-23 | 2019-05-23 | 在线业务数据的处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110191168A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727523A (zh) * | 2019-09-30 | 2020-01-24 | 歌尔股份有限公司 | 业务请求的处理方法、处理装置及可读存储介质 |
CN110928656A (zh) * | 2019-11-18 | 2020-03-27 | 浙江大搜车软件技术有限公司 | 一种业务处理方法、装置、计算机设备和存储介质 |
CN111241455A (zh) * | 2020-01-22 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 数据处理装置、计算机设备及存储介质 |
CN111400406A (zh) * | 2020-04-09 | 2020-07-10 | 上海东普信息科技有限公司 | 数据处理方法及装置、电子设备、计算机存储介质 |
CN111414389A (zh) * | 2020-03-19 | 2020-07-14 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN111831446A (zh) * | 2020-07-15 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 一种基于Disruptor的数据读写方法、装置及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130031060A1 (en) * | 2000-02-07 | 2013-01-31 | Parallel Networks, Llc | Method and apparatus for content synchronization |
CN104503710A (zh) * | 2015-01-23 | 2015-04-08 | 福州瑞芯微电子有限公司 | 一种提高闪存写入速度的方法和装置 |
CN105549905A (zh) * | 2015-12-09 | 2016-05-04 | 上海理工大学 | 一种多虚拟机访问分布式对象存储***的方法 |
CN105791439A (zh) * | 2016-04-29 | 2016-07-20 | 中国农业银行股份有限公司 | 一种数据处理方法、数据接收设备及数据处理*** |
US20180097814A1 (en) * | 2000-02-07 | 2018-04-05 | Parallel Networks Llc | Method and Apparatus for Prioritization of Data Requests |
CN108572970A (zh) * | 2017-03-09 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 一种结构化数据的处理方法和分布式处理*** |
-
2019
- 2019-05-23 CN CN201910432966.5A patent/CN110191168A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130031060A1 (en) * | 2000-02-07 | 2013-01-31 | Parallel Networks, Llc | Method and apparatus for content synchronization |
US20180097814A1 (en) * | 2000-02-07 | 2018-04-05 | Parallel Networks Llc | Method and Apparatus for Prioritization of Data Requests |
CN104503710A (zh) * | 2015-01-23 | 2015-04-08 | 福州瑞芯微电子有限公司 | 一种提高闪存写入速度的方法和装置 |
CN105549905A (zh) * | 2015-12-09 | 2016-05-04 | 上海理工大学 | 一种多虚拟机访问分布式对象存储***的方法 |
CN105791439A (zh) * | 2016-04-29 | 2016-07-20 | 中国农业银行股份有限公司 | 一种数据处理方法、数据接收设备及数据处理*** |
CN108572970A (zh) * | 2017-03-09 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 一种结构化数据的处理方法和分布式处理*** |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727523A (zh) * | 2019-09-30 | 2020-01-24 | 歌尔股份有限公司 | 业务请求的处理方法、处理装置及可读存储介质 |
CN110727523B (zh) * | 2019-09-30 | 2023-08-29 | 歌尔股份有限公司 | 业务请求的处理方法、处理装置及可读存储介质 |
CN110928656A (zh) * | 2019-11-18 | 2020-03-27 | 浙江大搜车软件技术有限公司 | 一种业务处理方法、装置、计算机设备和存储介质 |
CN110928656B (zh) * | 2019-11-18 | 2023-02-28 | 浙江大搜车软件技术有限公司 | 一种业务处理方法、装置、计算机设备和存储介质 |
CN111241455A (zh) * | 2020-01-22 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 数据处理装置、计算机设备及存储介质 |
CN111241455B (zh) * | 2020-01-22 | 2023-08-25 | 抖音视界有限公司 | 数据处理装置、计算机设备及存储介质 |
CN111414389A (zh) * | 2020-03-19 | 2020-07-14 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN111414389B (zh) * | 2020-03-19 | 2023-09-22 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN111400406A (zh) * | 2020-04-09 | 2020-07-10 | 上海东普信息科技有限公司 | 数据处理方法及装置、电子设备、计算机存储介质 |
CN111400406B (zh) * | 2020-04-09 | 2023-05-12 | 上海东普信息科技有限公司 | 数据处理方法及装置、电子设备、计算机存储介质 |
CN111831446A (zh) * | 2020-07-15 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 一种基于Disruptor的数据读写方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110191168A (zh) | 在线业务数据的处理方法、装置、计算机设备和存储介质 | |
JP6122199B2 (ja) | 検索結果へのアクセスを改良するシステム、方法及び記憶媒体 | |
CN106649349B (zh) | 用于游戏应用的数据缓存方法、装置和*** | |
CN110287432A (zh) | 网络信息处理方法、装置和电子设备 | |
CN109947668B (zh) | 存储数据的方法和装置 | |
CN101493826B (zh) | 基于web应用的数据库***及其数据管理方法 | |
US8117358B2 (en) | Revenue management system and method utilizing database backup | |
US20040201618A1 (en) | Streaming of real-time data to a browser | |
CN101557427A (zh) | 提供分流信息、实现客户端分流的方法、***及服务器 | |
CN110275983A (zh) | 交通监控数据的检索方法及装置 | |
CN103152367A (zh) | 一种缓存的动态维护更新方法及*** | |
CN104133783B (zh) | 处理分散式缓存数据的方法和装置 | |
CN1234086C (zh) | 用于高速缓存文件信息的***和方法 | |
CN107092628B (zh) | 时间序列数据的处理方法和装置 | |
CN103207882A (zh) | 店铺访问数据处理方法及*** | |
CN111314238A (zh) | 令牌的管理方法和装置、存储介质、电子装置 | |
CN112434015B (zh) | 数据存储的方法、装置、电子设备及介质 | |
CN107911799B (zh) | 一种利用智能路由的方法 | |
CN102780603B (zh) | 网站流量控制方法及装置 | |
CN106446075A (zh) | 页面请求处理方法及装置 | |
CN113010549A (zh) | 基于异地多活***的数据处理方法、相关设备及存储介质 | |
CN110020305A (zh) | 网页加载方法、装置、计算机设备和存储介质 | |
US9405785B2 (en) | Online propagation of data updates | |
CN108780458A (zh) | 一种页面缓存处理方法、装置和服务器 | |
CN104077291B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211013 Address after: 100176 101, floor 1, building 1, yard 7, Ruihe West 2nd Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing Applicant after: Apollo Zhilian (Beijing) Technology Co.,Ltd. Address before: 2 / F, *** building, 10 Shangdi 10th Street, Haidian District, Beijing 100085 Applicant before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190830 |