当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

UTM

用户线程模型
授权协议 GPL
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 伯丁雷
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

UTM 用户线程模型

在一些金融交易处理、游戏数据处理等逻辑较为复杂的领域中,各个接口可能会交叉使用和修改一些资源数据,这样就很容易导致一些并发的问题,如果对于每个资源都要考虑如何保证其并发安全问题,那么整个分析过程就会变得很复杂,而复杂的逻辑往往容易有所疏漏。

Utm就是设计来屏蔽单个用户的并发问题的,就是用户访问自己的资源是不需要考虑其并发安全问题的(多个用户访问的资源依然需要处理),主要想法是将用户的请求排序并调用线程池中的线程依次处理。

一个简单的场景:用户买入一个东西的总额是受限制的,用户a发起两次买入请求(请求1 和 请求2) 在通常情况下,需要在用户买入请求中加入锁或者使用原子类,从而避免 请求1 和 请求2 同时处理导致超过限制; 而在utm下则不需要考虑类似问题,用户a的请求1执行完了才会执行请求2。 而现实业务中类似的场景有很多,使用utm确实使开发的复杂度降低。

这样就不会有说一个用户的两个请求被同时处理这样的情况,相对起来开发的复杂度就降低了很多,而且也意味着多个线程争抢资源的概率减少了(一个用户 最多只有一个请求正在被处理)。用户的请求不会被并发处理,从单个用户上来是比原来要慢点,但从硬件相对整个用户群来说,通常的应用的用户的数量都会远远 大于cpu的数量,所以这样不会导致cpu利用不足问题,相反utm能更好的将cpu资源分配给各个用户,竞争减少也意味着程序更高效了。Utm的核心 qtm本身虽然会有一些锁操作,但都是一些小锁块,应对多个用户的每秒几千甚至上万个的请求并没有什么延迟,所以也就没有打算开发基于CAS版本的qtm 的打算(服务处理的瓶颈通常出在涉及IO方面,特别是数据库处理,相比起来utm的开销有点微不足道)。

特点:

  1. Utm保证用户生命流程的完整性和执行顺序。 (eg:一个用户登录,如果他已经登录了,那么旧的用户会被先退出,然后新的用户再登录) (eg:用户发起 请求1 后 发起 请求2,则 请求1 一定先于 请求2 执行)

  2. 用户的请求被有序的执行,所以用户访问自己的资源是不需要考虑其并发安全问题,降低了开发的复杂度。 (eg:有一个用户未读消息的统计,在utm中就可以直接是一个int类型保存在内存中,如果在其他没有保证并发控制的地方则至少要声明为AtomicInteger 或者使用锁来维护这个字段)

  3. 提供用户资源接口,提供了用户生命流程中的各个重要点的切面,让开发者可以更好的管理自己定义的用户资源。 (eg:用户队列:在用户开始登陆标志位设置成功后 申请,当用户登录连接检查失败、用户退出的时候 释放)

  4. 高并发性 Utm的核心qtm本身虽然有一些锁操作,但都是一些小锁块,可以应对多个用户的每秒几千甚至上万个的请求。 (服务处理的瓶颈通常出在涉及IO方面,特别是数据库处理,相比起来utm的开销太小)

  5. 具有良好的 兼容性 Utm可以非常容易得应用在不同的服务端(像SmartFoxServer, Netty等)

详情见utm-x.x.x.doc

  • 什么是UTM utm全称是Urchin Traffic Monitor,可以理解为流量监控器,用于帮助监控流量的来源 UTM的原理 utm的原理,实际上是在正常URL地址后面加上额外的字符串,用于增加额外的流量信息、当有用户访问该带有额外信息的URL地址时,服务方会解析URL里的这些信息,并用于决定接下来让用户跳转到哪个页面或者上报什么样的数据。其实这种方式在互联网上非常普遍,不止是UTM。比如说

  • 1、基本介绍 UTM (Universal Transverse Mercator)即通用横轴墨卡托投影,属于等角横轴割圆柱投影,和高斯克吕格投影(等角横轴切圆柱投影)相似的坐标系统。美国本土采用Clarke 1866椭球体,世界其他地方采用WGS84 。 2、分带划分 UTM是由美国制定,因此起始分带并不在本初子午线,而是在180度,因而所有美国本土都处于0-30带内。 将北纬84度至南纬80度

  • 工作中需要分析一些链接,统计分析一些信息。比如如下的链接: http://lightapplication.xxxx.com/?utm_source=ucweb&utm_medium=cpt&utm_term=zhilian&utm_content=textlink&utm_campaign=nov 这个链接中带有一些参数,这些参数是什么意思呢,一直很好奇,现在需要用到这些信息了,对于网站主,这些

  • UTM Codes are a great way to see the results of your offline marketing In today’s day and age, we are hit with so many types of marketing and advertising that we may not even notice all of them. When

  • utm虚拟机; 非越狱安装方法 utm虚拟机是一款ipa为后缀的文件,需要爱思助手安装 越狱安装方法 使用uncover越狱后在安装ipa文件 utm介绍 他跟bochs limbo qemo apq等app一样,需要虚拟镜像,需要合适的配置才能启动虚拟机 当然,utm在app store(全国)未上架,apple不允许像utm这样的虚拟机app上架至appstore,除非你安装描述文件,越狱。。

  • .UTM 投影    UTM 投影全称为 “ 通用横轴墨卡托投影 ” ,英文名称为 Universal TransverseMercator ,是一种等角横轴割圆柱投影,圆柱割地球于南纬 80 度、北纬 84 度两条等高圈,被许多国家用作地形图的数学 基础,如中国采用的高斯 - 克吕格投影就是 UTM 投影的一种变形,很多遥感数据,如 Landsat 和 Aster 数据都应用 UTM 投影发布的

  • UTM(统一威胁管理,Unified Threat Management的缩写)是由传统的防火墙观念进化而成,它将多种安全功能都整合在单一的产品之上,其中包括了网络防火墙,防止网络入侵(IDS),防毒网关(gateway antivirus,AV),反垃圾信件网关(gateway anti-spam),虚拟私人网络(VPN),内容过滤(content filtering),负载平衡,防止资料外泄,

  • utm undergraduate texts in mathematics 本科上推荐书目 gtm graduate texts in mathematics 研究生推荐书目 ref utm wiki gtm wiki

 相关资料
  • NetCop提供了最多同时支持5个用户的免费开源下载,和提供无限用户支持的企业版,它具备与Endian,Untangle和商业UTM相同的 功能。然而,它不提供预配置设备。

  • Securepoint Unified Threat Management (UTM) 安全解决方案提供了所有安全应用,例如 firewall, VPN gateway, virus scanner, spam filter, Web filter, IDS 等等,并将这些应用打包到一个统一的服务器环境中,以确保所有系统是最新的,保证网络的安全性。

  • 本文向大家介绍详解Java线程-守护线程与用户线程,包括了详解Java线程-守护线程与用户线程的使用技巧和注意事项,需要的朋友参考一下 干java 开发这么多年, 之前一直没留意java 进程还区分守护进程和用户进程。守护进程这个概念最早还是在linux系统中接触的,直到近期使用java开发心跳检测功能时,使用Timer时才发现原来java也有守护线程的概念。 1. Java 线程 1.1 守护线

  • pika使用的是多线程模型,使用多个工作线程来进行读写操作,由底层blackwidow引擎来保证线程安全,线程分为12种: PikaServer:主线程 DispatchThread:监听1个端口,接收用户连接请求 WorkerThread:存在多个(用户配置),每个线程里有若干个用户客户端的连接,负责接收用户命令,然后将命令封装成一个Task扔到ThreadPool执行,任务执行完毕之后由该线程

  • 我有这个坐标:。我被告知这个坐标是。 当我走到这里,点击“获取地图上的位置”并输入上面的坐标时,它将点放在地图上正确的地方(在一个字段的拐角处)。 我要做什么样的变换/投影才能使它成为纬度和经度,然后在谷歌地图中去到同一点? 正确的纬度和经度应该是:(字段的角落,请参阅链接): 我正在使用DotSpatial。 有人知道为什么会被抵消吗?

  • 本文向大家介绍守护线程和用户线程的区别?相关面试题,主要包含被问及守护线程和用户线程的区别?时的应答技巧和注意事项,需要的朋友参考一下 java中线程氛围 守护线程Daemon和用户线程User。可以通过Thread.setDaemon(true)设置为守护线程,但是必须在start之前调用。 Daemon是为其他线程提供服务,如果全部用户线程结束,Daemon没有服务对象,也就没有继续运行程序的