[发明专利]实时计算的方法和系统有效
申请号: | 201711052098.5 | 申请日: | 2017-10-30 |
公开(公告)号: | CN109947736B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 李猛;支海邦;喻海林;周龙亭 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/25 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实时 计算 方法 系统 | ||
本发明提供一种实时计算的方法和系统,能够实时地进行数据计算和分析,从而实时、动态地监控应用程序的健康状况。该方法利用实时计算节点进行实时计算,包括:根据统计维度需求为接收到的待计算数据生成关键字;根据所述关键字从所述实时计算节点的内存缓存中获取对应的计算结果值,结合所述计算结果值为所述待计算数据生成实时计算结果;输出所述实时计算结果,并将所述实时计算结果作为新的计算结果值保存至所述内存缓存中。
技术领域
本发明涉及计算机技术领域,尤其涉及一种实时计算的方法和系统。
背景技术
在互联网时代,各种应用程序得到了飞速的发展,例如移动应用、Web应用等。日常生活也愈发离不开这些应用程序,对应用程序的稳定性、可用性的要求日益提升到举足轻重的地位。为了实现有效地对应用程序进行全方位、精细化监控,迫切需要一种计算系统,能够支持对海量的监控数据进行计算、响应。以电商领域的移动应用为例,需要实时处理的监控数据主要包括业务应用各个接口的请求量、失败量、接口耗时、用户PV、用户UV数值等流式数据。
传统的数据处理方法大多基于批处理模式,数据流需要预先存储在数据库管理系统中才可进行后续的计算。具体而言,传统数据处理方式过程如下:
1.使用关系型数据库比如Mysql、SQL Server,存储原始流数据。
2.根据数据计算和分析逻辑,编写相应的存储过程Store Procedures。
3.设置定时器,定时执行存储过程Store Procedure进行数据实时计算。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1.在海量数据环境下,关系型数据库容易发生死锁等并发问题,导致其读写性能严重下降;
2.关系型数据库支撑容量有限,无法应对海量数据的存储需求;
3.关系型数据库可扩展性和可用性低,无法简单的通过添加更多的硬件和服务节点来扩展性能和负载能力;
4.现有技术中,对数据的监控并不是实时的,数据延迟时间一般为分钟级别,达不到实际应用场景中秒级别监控的要求。
发明内容
有鉴于此,本发明实施例提供一种实时计算的方法和系统,能够实时地进行数据计算和分析,从而实时、动态地监控应用程序的健康状况。
为实现上述目的,根据本发明实施例的一个方面,提供了一种实时计算的方法。
本发明实施例的一种实时计算的方法,利用实时计算节点进行实时计算,包括:根据统计维度需求为接收到的待计算数据生成关键字;根据所述关键字从所述实时计算节点的内存缓存中获取对应的计算结果值,结合所述计算结果值为所述待计算数据生成实时计算结果;输出所述实时计算结果,并将所述实时计算结果作为新的计算结果值保存至所述内存缓存中。
可选地,所述方法中,采用STL的map容器作为所述实时计算节点的内存缓存。
可选地,所述待计算数据包括移动应用和/或Web应用的流式数据。
可选地,所述移动应用或Web应用的流式数据包括:接口模调数据、用户数据、日志数据中的一种或几种。
可选地,所述方法还包括:根据实时计算需求,创建一级或多级实时计算节点,其中,若创建多级实时计算节点,则级别在前的实时计算节点的定时器较级别在后的实时计算节点的定时器的时间粒度细。
可选地,所述方法还包括:若级别在前的实时计算节点的定时器被触发,则将保存在其内存缓存中的计算结果值按照关键字进行一致性哈希之后发送至存储模块,作为级别在后的实时计算节点的待计算数据,并删除其内存缓存中的所述计算结果值以便进行下一时间粒度的实时计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711052098.5/2.html,转载请声明来源钻瓜专利网。