【技术实现步骤摘要】
一种多并发多通道环境下的数据实时查询系统
本专利技术涉及一种多并发多通道环境下的数据实时查询系统。
技术介绍
目前流数据的应用十分广泛,流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,数据流可被视为一个随时间延续而无限增长的动态数据集合。应用于网络监控、传感器网络、航空航天、气象测控和金融服务等领域。流数据是由数据源持续生成的数据,通常也同时以数据记录的形式发送。流数据包括多种数据,例如客户使用移动或Web应用程序生成的日志文件、网购数据、游戏内玩家活动、社交网站信息、金融交易大厅或地理空间服务,以及来自数据中心内所连接设备或仪器的遥测数据。此类数据需要按记录或根据滑动时间窗口按顺序进行递增式处理,可用于多种分析,包括关联、聚合、筛选和取样。其中一种流数据的应用是对摄像机的监控视频进行分析,不同的摄像机产生不同的视频流数据,形成不同的数据通道,应用系统需要针对不同的通道分别进行分析,分析的数据通常需要实时展示,以便实现视频的监控和视频信息的智能分析实时同步,帮助监控人员快速理解视频中的对象、事件。流数据的分析结果通常会先存放到消息队列中,然后再统一存储到数据库中,也可以直接存储到数据库中。存储到消息队列中,通常是因为避免流数据产生过快来不及处理,或者分析结果有二次处理的需求。有的系统是将原始数据或者中间结果存储到消息队列中,以此缓解处理速度滞后于数据产生速度的问题。当客户端需要实时展示流数据的分析结果时,通常的做法是使用一个服务程序从消息队列中不断取出新入列的数据或者从数据库中读取新插入 ...
【技术保护点】
1.一种多并发多通道环境下的数据实时查询系统,其特征在于,包括客户端模块、服务器模块、数据库模块、实时数据查询模块、Redis模块、定时管理模块、数据生产者模块和缓存清理模块;/n其中,所述客户端模块用于实时查询和动态展示所述数据生产者模块产生的数据;/n所述服务器模块用于连接两个以上的客户端模块,支持多并发访问,并且转发所述客户端模块的实时数据查询请求到所述实时数据查询模块;/n所述数据库模块用于持久化存储数据以及数据的元数据信息;/n所述实时数据查询模块用于按照所述服务器模块的数据查询请求从所述Redis模块获取目标数据,并以程序包的形式集成在所述服务器模块中,保证所述客户端模块并发查询数据的性能;/n所述Redis模块用于缓存来自两个以上的数据生产者模块的数据,并保证不同数据生产者的数据隔离存储,实现两个以上的数据通道完全独立并发运行;/n所述数据生产者模块用于持续不断产生需要查询和展示的实时数据,数据生产者模块一方面将数据缓存到所述Redis模块,用以支持数据实时快速查询,另一方面将数据冗余存储到所述数据库模块,实现数据的持久化存储;/n所述定时管理模块用于接收用户对数据缓存有 ...
【技术特征摘要】
1.一种多并发多通道环境下的数据实时查询系统,其特征在于,包括客户端模块、服务器模块、数据库模块、实时数据查询模块、Redis模块、定时管理模块、数据生产者模块和缓存清理模块;
其中,所述客户端模块用于实时查询和动态展示所述数据生产者模块产生的数据;
所述服务器模块用于连接两个以上的客户端模块,支持多并发访问,并且转发所述客户端模块的实时数据查询请求到所述实时数据查询模块;
所述数据库模块用于持久化存储数据以及数据的元数据信息;
所述实时数据查询模块用于按照所述服务器模块的数据查询请求从所述Redis模块获取目标数据,并以程序包的形式集成在所述服务器模块中,保证所述客户端模块并发查询数据的性能;
所述Redis模块用于缓存来自两个以上的数据生产者模块的数据,并保证不同数据生产者的数据隔离存储,实现两个以上的数据通道完全独立并发运行;
所述数据生产者模块用于持续不断产生需要查询和展示的实时数据,数据生产者模块一方面将数据缓存到所述Redis模块,用以支持数据实时快速查询,另一方面将数据冗余存储到所述数据库模块,实现数据的持久化存储;
所述定时管理模块用于接收用户对数据缓存有效期的配置,还用于定时触发所述缓存清理模块对所述Redis模块中的过期的数据进行清理;
所述缓存清理模块定时收到由所述定时管理模块启动的定时器触发的清理消息,定期清理所述Redis模块中缓存的过期的数据。
2.根据权利要求1所述的系统,其特征在于,所述数据生产者模块在不断产生实时数据的过程中,将数据双备份到Redis模块和数据库模块。
3.根据权利要求2所述的系统,其特征在于,所述数据生产者模块的工作流程包括如下步骤:
步骤a1,数据生产者模块产生任意需要查询展示的数据;
步骤a2,数据生产者模块将数据持久化存储到数据库模块;
步骤a3,数据生产者模块判断数据是否需要缓存,如果需要,执行步骤a4;否则执行步骤a5;
步骤a4,数据生产者模块将数据缓存到Redis模块;
步骤a5,数据生产者模块判断是否停止产生数据,如果是,结束工作流程,否则返回步骤a1。
4.根据权利要求3所述的系统,其特征在于,所述实时数据查询模块和数据生产者模块共享相同的系统配置,并对客户端模块和服务器模块屏蔽数据访问的细节,实时数据查询模块能够与服务器模块集成在一起,运行在服务器模块的上下文环境中;系统配置即Redis模块缓存的数据的元数据信息,所述元数据信息包括数据的存储位置、存储结构、访问方式。
5.根据权利要求4所述的系统,其特征在于,所述服务器模块用于连接两个以上的客户端模块,支持多并发访问,具体包括如下步骤:
步骤b1,服务器模块接收客户端模块的连接;
步骤b2,服务器模块判断网络连接池是否已满,即是否达到最大允许连接的客户端数目,如果是,执行步骤b3,否则执行步骤b4;
步骤b3,服务器模块向客户端模块应答连接失败,然后执行步骤b8;
步骤b4,服务器模块从网络连接池分配一个连接给当前客户端模块;
步骤b5,服务器模块接收客户端模块的数据查询请求;
步骤b6,服务器模块通过实时数据查询模块获取Redis模块缓存的数据;
步骤b7,服务器模块向客户端模块应答步骤b6获取的数据;
步骤b8,实时数据查询模块判断是否停止服务,如果是,结束工作流程,否则返回步骤b1。
6.根据权利要求5所述的系统,其特征在于,所述实时数据查询模块针对服务器模块的数据查询请求工作流程包括如下步骤:
步...
【专利技术属性】
技术研发人员:周斌,朱晨鸣,张家健,万修远,王佳晓,黄明科,张海峰,
申请(专利权)人:中通服咨询设计研究院有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。