C#实时处理海量GPS定位信息的难题

问题描述

系统概述我们用C#3.5做了一个Windows服务用来接收从GPS服务器发送来的海量定位信息(采用事件触发,我们订阅了GPS服务器的一个事件,GPS服务器不停地推送定位信息给我们),收到信息后做如下处理:1、解析GPS定位信息;2、存储GPS定位信息;3、分发GPS定位信息给订阅了该GPS终端的客户端(发送Socket包到一个通信服务器专门处理分发事宜。接收GPS定位信息的服务和订阅GPS定位信息的客户端都连接到该通信服务器)难题1、由于GPS终端量很大(大概2万个),每秒上报的GPS定位信息非常多,系统处理不过来;2、保存到数据库时会出现获取不到空闲连接的问题导致保存失败(数据库为Oracle10G,最大连接数已改为200)。求解决方案不知道该采用哪种方式来处理该问题。要求同时接收和处理GPS定位信息。

解决方案

解决方案二:
使用集群
解决方案三:
引用楼主wwwafa9的回复:

系统概述我们用C#3.5做了一个Windows服务用来接收从GPS服务器发送来的海量定位信息(采用事件触发,我们订阅了GPS服务器的一个事件,GPS服务器不停地推送定位信息给我们),收到信息后做如下处理:1、解析GPS定位信息;2、存储GPS定位信息;3、分发GPS定位信息给订阅了该GPS终端的客户端(发送Socket包到一个通信服务器专门处理分发事宜。接收GPS……

入库程序优化,先缓存,再一次性入库。可以考虑用群集,多机器接收。处理。然后入库
解决方案四:
集群,或者分布式缓存+集中队列。不要一次性把数据放在内存或者想着一次就把那么多的东西存起来,很怼腚的。
解决方案五:
引用2楼linux7985的回复:

引用楼主wwwafa9的回复:系统概述我们用C#3.5做了一个Windows服务用来接收从GPS服务器发送来的海量定位信息(采用事件触发,我们订阅了GPS服务器的一个事件,GPS服务器不停地推送定位信息给我们),收到信息后做如下处理:1、解析GPS定位信息;2、存储GPS定位信息;3、分发GPS定位信息给订阅了该GPS终端的客户端(发送Socket包到一……

==怎么冒出个楼上来,楼上说得对。
解决方案六:
引用2楼linux7985的回复:

引用楼主wwwafa9的回复:系统概述我们用C#3.5做了一个Windows服务用来接收从GPS服务器发送来的海量定位信息(采用事件触发,我们订阅了GPS服务器的一个事件,GPS服务器不停地推送定位信息给我们),收到信息后做如下处理:1、解析GPS定位信息;2、存储GPS定位信息;3、分发GPS定位信息给订阅了该GPS终端的客户端(发送Socket包到一……

分发历史信息也要保存(由通信服务器保存),分发的信息要用到已存储的GPS定位信息的ID。所以要先存储GPS定位信息,再分发信息。这里有个先后顺序。
解决方案七:
群集就好了
解决方案八:
引用楼主wwwafa9的回复:

系统概述我们用C#3.5做了一个Windows服务用来接收从GPS服务器发送来的海量定位信息(采用事件触发,我们订阅了GPS服务器的一个事件,GPS服务器不停地推送定位信息给我们),收到信息后做如下处理:1、解析GPS定位信息;2、存储GPS定位信息;3、分发GPS定位信息给订阅了该GPS终端的客户端(发送Socket包到一个通信服务器专门处理分发事宜。接收GPS……

干吗用的,方便透露吗?
解决方案九:
2万个用户,分下类吧,放一块太挤。
解决方案十:
2万个的没有处理过。几百个的弄过。分组保存至一起。比如一百个一组。等到这一组满了。统一保存到数据库。如果是2万个连接一秒钟一个。一次32字节。楼主够强。
解决方案十一:
不难,栈队列,负责将信息存储起来接收端采用IOCP完成端口,异步收发,2W连接不是问题,将数据存储到栈中,等待入库数据库缓冲池,预开辟200个连接,从栈中获取数据,异步操作数据库存储最大利用你的服务器资源,GPS一般6秒左右传送一次数据,这样的方案,在服务器上应该是轻松可以带起来的
解决方案十二:
引用10楼carpathia的回复:

不难,栈队列,负责将信息存储起来接收端采用IOCP完成端口,异步收发,2W连接不是问题,将数据存储到栈中,等待入库数据库缓冲池,预开辟200个连接,从栈中获取数据,异步操作数据库存储最大利用你的服务器资源,GPS一般6秒左右传送一次数据,这样的方案,在服务器上应该是轻松可以带起来的

你没搞懂我的意思。

时间: 2024-10-09 12:37:07

C#实时处理海量GPS定位信息的难题的相关文章

未越狱的iPhone如何伪造GPS定位信息

最近Pokemon Go 火的不行,结果人家服务器扛不住了,只接受GPS定位信息在澳洲的客户端的登陆请求.今天自己搞了个小Demo,在未越狱的iPhone上把系统的GPS定位信息给改了. 步骤: 在Xcode8-beta上新建一个空白工程 -> Edit scheme -> Default Location 选澳洲 -> Device选真机设备,Run Paste_Image.png 现在,看看自己手机(我是iOS10系统): 1.微信: Paste_Image.png 2.高德地图:

Android GPS定位测试(附效果图和示例)

本人做了GPS相关的嵌入式软件已经几年了,所以说起要做个测试GPS定位模块的程序,第一反应就是串口读取GPS模块的数据,然后解析GPS的NMEA格式数据   今天因为工作需要,把以前编写的一个GPS测试程序拿出来重新修改了一下.这个程序说起来有些历史了,是我11年编写的,那时候学了Android 开发没多久,算是一个实验性的作品.现在工作需要,重新拿出来修整.同时发现我对android的GPS服务了解并不深,所以今天特意阅读了有关GPS服 务的一些资料,把相关知识点记录下来. 本人做了GPS相关

Flex AIR应用GPS定位功能(Android和IOS)

说明:使用AIR进行GPS定位功能实现时,会经常判断GPS是否打开.一般的官方或者书上的介绍的方法,测试后,只能对Android系统进行判断,而对ios系统则无法进行判断. 经过研究测试,终于解决实现了能够同时适应于Android和ios系统的GPS定位功能.   实现:  1) 实例化Geolocation类,并添加监听,用于获取经纬度信息   注:geolocation = new Geolocation(); 该实例对象是全局声明,但必须是局部实例化,而不能把它声明为全局的变量实例化(即不

Android中实现GPS定位的简单例子_Android

今天弄了一个多小时,写了一个GPS获取地理位置代码的小例子,包括参考了网上的一些代码,并且对代码进行了一些修改,希望对大家的帮助.具体代码如下:  要实用Adnroid平台的GPS设备,首先需要添加上权限,所以需要添加如下权限:  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 具体实现代码如下: 首先判断GPS模块是否存在或者是

风控GPS定位数据价值有多大?

对于目前的GPS定位器,很多人不怎么看好他,但也有很多风投机构是特别的看好,每个人一天的历程,有3%的时间是在这个动态的,比如开车,比如XX? 站在每个角度去看待这些数据的话! 我们给出的评价是如下: 如果对于特定的行业,这些GPS数据无价之宝:因为他承载的东西太多,大数据的应用,行为分析,行为用途,找车用途,他都是非常有帮助. 如何看待这个行业的价值! 就拿融资租赁这个行业,汽车买卖出去了,直租出去:通过GPS的数据,我能知道客户在一个月内经常去的地方,经常停留的地方,是否有没有回家,有没有去

如何让无线GPS定位更准

最近一直在思考一个问题,大部分的人都说WiFi定位比较准,大部分都说GPS定位比较准,市场上的消费者也不是傻子. 那么作为一个GPS厂家,我如何在完善市场,完善自己的产品,在做市场调研的市场:综合的考虑到每个客户的情况. 解决精准度就是个难题. 1.使用优质天线 2.软件优化 3.地图分配 4.纠偏处理 虽然无线GPS定位器,比不上接线设备:但是在各个方面还是有很多优势,如隐藏性,每个设备都有独特的特性. 下面是红将军GPS无线系列展示: 这个无线,在刚开始的时候. 选择的天线,是国内,在信号方

Android之应用APN、WIFI、GPS定位小例子

转自一个网上项目,由于是例子打包下载,出处不详.例子中自我写入注释.   Activity类: package com.maxtech.common; import com.maxtech.common.gps.GpsTask;import com.maxtech.common.gps.GpsTaskCallBack;import com.maxtech.common.gps.GpsTask.GpsData;import com.maxtech.common.gps.IAddressTask.M

与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器

原文:与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 [索引页][源码下载] 与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 作者:webabcd 介绍与众不同 windows phone 7.5 (sdk 7.1) 之设备 位置服务(GPS 定位) FM 收音机 麦克风 震动器 示例1.演示如何使用位置服务(GPS 定位

求j2me开发的gps 定位导航系统的实例

问题描述 那位高手能提供一个简单j2me开发的gps定位导航系统的实例啊!谢谢了.. 解决方案 解决方案二:恩,你自己都有啊,呵呵在wtk上就有一个现成的gps例子,楼主去看看吧解决方案三:学习了.解决方案四:WTK自带的CityGuide这个例子就是,运行时得引入外部事件,运行脚本:C:DocumentsandSettingsAdministratorj2mewtk2.5.2appsCityGuidecitywalk.xml解决方案五:http://blog.allove.org/archiv