本发明专利技术提供了一种业务数据的处理方法、装置及服务器,其中方法包括:将业务数据写入持久存储的存储实体中时,将业务数据写入到缓存中;当接收到业务数据查询请求时,从缓存中读取对应的业务数据并返回。本发明专利技术当接收到业务数据查询请求时,这样无论并发量多大,可以直接到缓存中查询对应的业务数据,而不必去持久存储的存储实体中查找,既避免了频繁查询持久存储的存储实体导致的读写互锁争抢资源降低性能的问题,同时又将业务数据及时地持久化,避免了服务发生异常时的业务数据的丢失的问题。
【技术实现步骤摘要】
—种业务数据的处理方法、装置及服务器
本专利技术涉及数据处理
,尤其涉及一种业务数据的处理方法、装置及服务器。
技术介绍
在实时监控的场景下,通常只会关注最新时间段的业务数据,根据业务需求可以是最近30分钟、最近I小时、甚至于最近几个小时的数据。 对于业务数据的处理方式,一种方式是,服务器端把业务数据持久化到数据库或者文件,客户端页面发出查询条件,服务器端接收到查询条件后再查询数据库(或文件),返回数据结果并传递给客户端页面。这种处理方法的问题在于,当查询的结果数据很多,并发查询很频繁时,查询压力会很大,同时因不断往数据库(或文件)写入数据,会造成读写互锁争抢资源,读写都会产生比较大的延迟,降低了性能。 另一种做法是服务器端把业务数据写入内存,客户端查询发起的查询请求时,都是从内存中返回查询结果。这种做法的缺点在于,当服务异常终止之后,内存中的数据会全部消失,导致无法正常查询。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种业务数据的处理方法、装置及服务器。 基于上述问题,本专利技术实施例提供的一种业务数据的处理方法,包括: 将业务数据写入持久存储的存储实体中时,将所述业务数据写入到缓存中; 当接收到业务数据查询请求时,从所述缓存中读取对应的业务数据并返回。 本专利技术实施例提供的一种业务数据的处理装置,包括: 第一写入模块,用于将业务数据写入持久存储的存储实体中; 第二写入模块,用于在将业务数据写入持久存储的存储实体中时,将所述业务数据写入到缓存中; 查询模块,用于当接收到业务数据查询请求时,从所述缓存中读取对应的业务数据并返回。 本专利技术实施例提供的服务器,包括本专利技术实施例提供的上述业务数据的处理装置。 本专利技术实施例的有益效果包括: 本专利技术实施例提供的上述业务数据的处理方法,在将业务数据持久化即将业务数据写入持久存储的存储实体中的同时,还需要将同样的业务数据写入到缓存中,这样,在保证持久存储的存储实体中的业务数据与缓存中业务数据一致的前提下,当接收到业务数据查询请求时,这样无论并发量多大,可以直接到缓存中查询对应的业务数据,而不必去持久存储的存储实体中查找,既避免了频繁查询持久存储的存储实体导致的读写互锁争抢资源降低性能的问题,同时又将业务数据及时地持久化,避免了服务发生异常时的业务数据的丢失的问题。 上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的【具体实施方式】。 【附图说明】 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中: 图1为本专利技术实施例提供的业务数据的处理方法的流程图; 图2为本专利技术实施例提供的实例的流程图; 图3为本专利技术实施例提供的业务数据的处理装置的结构示意图。 【具体实施方式】 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。 下面结合说明书附图,对本专利技术实施例提供的一种业务数据的处理方法、装置及服务器的【具体实施方式】进行说明。 本专利技术实施例提供的一种业务数据的处理方法,如图1所示,具体包括以下步骤: S11、将业务数据写入持久存储的存储实体中时,将所述业务数据写入到缓存中; S12、当接收到业务数据查询请求时,从所述缓存中读取对应的业务数据并返回。 在本专利技术实施例中,持久存储的存储实体可以是任何可实现持久存储(相对于临时存储而言)功能的实体,不限定于软件、硬件或者软硬件结合的形式。在本专利技术实施例中,该持久存储的存储实体包括但不限于例如数据库或文件等。 业务数据存储在缓存中时,可以采用缓存队列的方式,本专利技术实施例对于采用何种具体存储方式并不限定。同样,本专利技术实施例对于持久存储的存储实体中的采用何种具体的存储方式也不并不限定。 本专利技术实施例提供的上述业务数据的处理方法,在将业务数据持久化即将业务数据写入持久存储的存储实体中的同时,还需要将同样的业务数据写入到缓存中,这样,在保证持久存储的存储实体中的业务数据与缓存中业务数据一致的前提下,当接收到业务数据查询请求时,这样无论并发量多大,可以直接到缓存中查询对应的业务数据,而不必去持久存储的存储实体中查找,既避免了频繁查询持久存储的存储实体导致的读写互锁争抢资源降低性能的问题,同时又将业务数据及时地持久化,避免了服务发生异常时的业务数据的丢失的问题。 进一步地,上述步骤Sll中,将业务数据写入持久存储的存储实体的步骤,具体可以通过下述过程实现: 对用户的业务请求进行监听; 当接收到用户发出业务请求时,根据该请求的定义形式反序列化数据对象; 将数据对象放入到持久存储的存储实体中保存。 用户的业务请求包括但不限于HTTP请求,还可以是采用其他协议类型的业务请求。 较佳地,在根据该请求的定义形式反序列化数据对象之前,还可以包括对请求内容是否合法的检查的步骤,如果合法,再进行反序列化数据对象的操作。 进一步地,上述业务数据的处理方法,还可以根据业务数据所属业务的需求,预先确定缓存中业务数据中热数据的生命周期,该热数据是指缓存中满足业务查询请求的数据。 在实时监控系统的场景下,通常只会关注最新时间段的业务数据,根据业务需求可以是最近30分钟、最近I小时、甚至于最近几个小时的数据,这部分被关注的数据或者说是可以满足业务查询需求的数据,在本专利技术实施例中称之为热数据,当业务数据失去时效性后,称之为冷数据。随着时间的推移,热数据会变为冷数据,最新接收到的数据变为热数据。 热数据的生命周期可以根据业务数据所属的业务需求来确定,具体如何确定可参考现有技术。 进一步地,本专利技术实施例提供的上述业务数据的处理方法,还可以根据热数据的生命周期,在缓存中不断删除冷数据,即那些产生时间超过该热数据的生命周期的数据。 在本专利技术实施例中,业务数据包含业务的各种维度、指标和时间戳,这个时间戳标志着业务数据的产生时间,并且,缓存中的数据是按照时间先后顺序放入的,前面的业务数据的时间戳小于后面数据的时间戳,所以,在本专利技术实施例中,可以依照业务数据的时间戳来确定哪些业务数据是热数据,哪些业务数据是冷数据并将冷数据删除,具体来说,可以将缓存中保存的最后一行业务数据的时间戳减去热数据的生命周期,得到冷数据的截止时间; 将缓存中时间戳在计算得到的冷数据的截止时间之前的所有业务数据删除。 这样,在缓存中不断地删除冷数据,保留热数据,使得缓存中总保留着对查询业务有用的最新的热数据,既满足了查询请求,又可避免对缓存的过度占用。 为了更好地说明本专利技术实施例提供的上述业务数据的处理方法,下面以一个简单的实例对其进行说明: 该本文档来自技高网...
【技术保护点】
一种业务数据的处理方法,其特征在于,包括:将业务数据写入持久存储的存储实体中时,将所述业务数据写入到缓存中;当接收到业务数据查询请求时,从所述缓存中读取对应的业务数据并返回。
【技术特征摘要】
1.一种业务数据的处理方法,其特征在于,包括: 将业务数据写入持久存储的存储实体中时,将所述业务数据写入到缓存中; 当接收到业务数据查询请求时,从所述缓存中读取对应的业务数据并返回。2.如权利要求1所述的方法,其特征在于,还包括: 根据业务的需求,预先确定所述缓存中业务数据中热数据的生命周期,所述热数据是所述缓存中满足业务查询请求的数据。3.如权利要求2所述的方法,其特征在于,还包括: 根据所述热数据的生命周期,在所述缓存中不断删除产生时间超过所述热数据的生命周期的冷数据。4.如权利要求3所述的方法,其特征在于,在所述缓存中不断删除产生时间大于所述热数据的生命周期的冷数据,具体包括: 将所述缓存中保存的最后一行业务数据的时间戳减去所述热数据的生命周期,得到冷数据的截止时间; 将所述缓存中时间戳在所述冷数据的截止时间之前的所有业务数据删除。5.如权利要求1-4任一项所述的方法,其特征在于,所述持久存储的存储实体,包括但不限于: 数据库或者文件。6.一种业务数据的处理装...
【专利技术属性】
技术研发人员:郭涛,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。