一种全量分布式高并发计算方法及装置制造方法及图纸

技术编号:21343413 阅读:31 留言:0更新日期:2019-06-13 22:26
本发明专利技术实施例公开了一种全量分布式高并发计算方法及装置,涉及大数据技术领域,能够避免现有技术中热点缓存的抗压机制不高,数据库带来很大的压力,从而降低稳定性的问题。本发明专利技术包括:停止分布式系统中的增量计算程序,所述分布式系统上部署了公共库、价格库、缓存和业务价库;启动全量调度任务,并生成所述业务价库的全量表;在所述全量调度任务执行后,更新所述全量表;启动所述增量计算程序。本发明专利技术适用于分布式系统中的高并发全量计算。

A Full Distributed High Concurrency Computing Method and Device

The embodiment of the present invention discloses a fully distributed high concurrency computing method and device, which relates to the field of large data technology, and can avoid the problem of low compression mechanism of hot spot caching in the prior art and the great pressure brought by the database, thereby reducing the stability. The invention includes: stopping the incremental calculation program in the distributed system, deploying the public library, price library, cache and service price library on the distributed system; starting the full dispatching task and generating the full scale of the service price library; updating the full scale after the full dispatching task is executed; and starting the incremental calculation program. The invention is suitable for high concurrency and full calculation in distributed system.

【技术实现步骤摘要】
一种全量分布式高并发计算方法及装置
本专利技术涉及大数据
,尤其涉及一种全量分布式高并发计算方法及装置。
技术介绍
目前,各类在线交易平台、售票系统、游戏服务器等,所需承载的访问压力越来越高,每时每刻的并发量已成为天文数字。比如,很多大型电商的价格系统,每秒需要接收千万级甚至上亿级的查询价格访问。为了应对高并发访问的压力,通常需要将数据的结果提前算出来。而目前很多系统是采用热点缓存的方法来应对海量的查询访问。这一定程度上能够缓减问题,但是热点缓存的抗压机制不高,会带数据库带来很大的压力,从而降低稳定性。
技术实现思路
本专利技术的实施例提供一种全量分布式高并发计算方法及装置,能够避免现有技术中热点缓存的抗压机制不高,数据库带来很大的压力,从而降低稳定性的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:停止分布式系统中的增量计算程序,所述分布式系统上部署了公共库、价格库、缓存和业务价库;启动全量调度任务,并生成所述业务价库的全量表;在所述全量调度任务执行后,更新所述全量表;启动所述增量计算程序。所述更新所述全量表,包括:从所述公共库、价格库和缓存中批量获取原始数据;利用所述原始数据计算价格数据;将计算得到的价格数据批量插入所述全量表。所述全量调度任务包括:生成分布式任务调度表,所述分布式任务调度表中记录了:x个定时任务、y个jboss应用和z张数据表,所述z张数据表从所述原始数据中获取,x、y和z都是正整数,定时任务的数量与jboss应用的数量相匹配;初始化所述全量调度任务后,每一个定时任务锁定一个数据表;当第n个jboss应用上运行的定时任务执行完毕后,对所述第n个jboss应用上运行的定时任务锁定的数据表进行解锁,之后所述第n个jboss应用上运行的定时任务再次锁定一张未被锁定过的数据表,并再次执行。并且,为目标业务系统分配redis机器组和mysql机器组,所述目标业务系统对接所述业务价库,所述业务价库用于为所述目标业务系统提供价格数据;为所述全量调度任务分配redis缓存资源和mysql资源,其中,所分配的redis缓存资源不属于为所述目标业务系统分配的redis机器组,所分配的mysql资源不属于为所述目标业务系统分配的mysql机器组。本实施例中,能够使得计算阶段用户能够正常访问。通过利用应用服务器资源,采用分布式并行计算方法,为需要此数据的应用方提供准确的数据,适用于高并发场景下的全量海量数据计算。采用全量计算方法,可以提前计算出数据方需要的结果,从而提高高并发访问的响应时间和调用量。在全量分布式的计算过程中,不影响前台价格实时查询,同时有其他增量因素过来,可以实时更新同一个商品的价格数据,保证数据的准确性和完整性。也避免了现有技术中热点缓存的抗压机制不高,数据库带来很大的压力,从而降低稳定性的问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例提供的系统架构示意图;图2为本专利技术实施例提供的方法流程示意图;图3、4为本专利技术实施例提供的具体实例的示意图;图5为本专利技术实施例提供的装置结构示意图。具体实施方式为使本领域技术人员更好地理解本专利技术的技术方案,下面结合附图和具体实施方式对本专利技术作进一步详细描述。下文中将详细描述本专利技术的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。本实施例中的方法流程,具体可以在一种如图1所示的系统上执行,该系统包括:业务系统、Redis机器集群、管理服务器、后台数据库和用户终端,系统的各端设备相互之间可以通过互联网建立信道,并通过各自的数据传输端口进行数据交互。其中:本实施例中所揭示的业务系统和管理服务器,在硬件层面上具体可以是工作站、超级计算机等设备,或者是由多台服务器组成的一种用于数据处理的服务器集群。其中,管理服务器,所指的是用于管理Redis机器集群,以及实时监测业务系统的服务器设备,通常的管理服务器设置在于用于后台维护各业务系统的运维中心中。本实施例中所揭示的Redis机器集群,在硬件层面上具体可以是由多台服务器、缓存机组成的一种用于数据处理的设备集群。Redis机器集群中的缓存资源被用于存储后台数据库中的数据,以便于业务系统在接收到用户终端发送的访问请求时,从Redis机器集群中提取数据返回给用户终端,相对于直接访问数据库获取数据,从缓存中提取能够提高数据的反馈速度。后台数据库中,存储了业务系统运行时所需使用的数据,比如:价格数据、物流数据、存货数据等等。后台数据库具体可以采用目前常见的数据库架构、类型。业务系统,在硬件层面上具体可以是由多台服务器组成的,一种用于运营在线业务的系统,比如在线购物平台上运营的促销系统、订单系统、通知系统等。用户终端,具体可以实做成单独一台设备,或整合于各种不同的媒体数据播放系统中,诸如智能手机、平板电脑(TabletPersonalComputer)、膝上型电脑(LaptopComputer)、个人数字助理(personaldigitalassistant,简称PDA)等。比如:接入在线购物平台的用户终端,通常被用户用于价格查询、下单、商品信息浏览等操作。本专利技术实施例提供一种全量分布式高并发计算方法,如图2所示,包括:S101、停止分布式系统中的增量计算程序。其中,所述分布式系统上部署了公共库、价格库、缓存和业务价库。管理服务器用于控制分布式系统中的增量计算程序和全量调度任务。其中:公共库可以理解为数据库的一种,用于存放公共数据资源,一般不采用分库分表的数据库架构。价格库是就是全量和增量计算要依赖的,并且主要采用分表分库的数据库架构。业务价库就是全量和增量计算完毕后,最终计算出来的数据落地的数据库,并且主要采用分表分库的数据库架构。在实际应用中,分布式系统在运行需要全量计算的业务的时候,会存在很多因子变化的情况本文档来自技高网
...

【技术保护点】
1.一种全量分布式高并发计算方法,其特征在于,包括:停止分布式系统中的增量计算程序,所述分布式系统上部署了公共库、价格库、缓存和业务价库;启动全量调度任务,并生成所述业务价库的全量表;在所述全量调度任务执行后,更新所述全量表;启动所述增量计算程序。

【技术特征摘要】
1.一种全量分布式高并发计算方法,其特征在于,包括:停止分布式系统中的增量计算程序,所述分布式系统上部署了公共库、价格库、缓存和业务价库;启动全量调度任务,并生成所述业务价库的全量表;在所述全量调度任务执行后,更新所述全量表;启动所述增量计算程序。2.根据权利要求1所述的方法,其特征在于,所述更新所述全量表,包括:从所述公共库、价格库和缓存中批量获取原始数据;利用所述原始数据计算价格数据;将计算得到的价格数据批量插入所述全量表。3.根据权利要求2所述的方法,其特征在于,所述全量调度任务包括:生成分布式任务调度表,所述分布式任务调度表中记录了:x个定时任务、y个jboss应用和z张数据表,所述z张数据表从所述原始数据中获取,x、y和z都是正整数,定时任务的数量与jboss应用的数量相匹配;初始化所述全量调度任务后,每一个定时任务锁定一个数据表;当第n个jboss应用上运行的定时任务执行完毕后,对所述第n个jboss应用上运行的定时任务锁定的数据表进行解锁,之后所述第n个jboss应用上运行的定时任务再次锁定一张未被锁定过的数据表,并再次执行。4.根据权利要求2或3所述的方法,其特征在于,还包括:为目标业务系统分配redis机器组和mysql机器组,所述目标业务系统对接所述业务价库,所述业务价库用于为所述目标业务系统提供价格数据;为所述全量调度任务分配redis缓存资源和mysql资源,其中,所分配的redis缓存资源不属于为所述目标业务系统分配的redis机器组,所分配的mysql资源不属于为所述目标业务系统分配的mysql机器组。5.一种全量分布式高并发计算装置,其特征...

【专利技术属性】
技术研发人员:殷剑锋叶国华司孝波
申请(专利权)人:苏宁易购集团股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1