当前位置:  编程技术>综合
本页文章导读:
    ▪OMCS 架构设计说明              OMCS语音视频框架是集成了音频、视频、远程桌面、电子白板等多种媒体于一身的网络连接系统,您只要连接到OMCS服务器,就可以随时访问任何一个在线的.........
    ▪Vmware server 下为Oracle RAC 添加共享磁盘          在VMware下的Oracle RAC 环境中,对于共享存储不够或者需要增加新的共享磁盘来配置ocr或votingdisk的多路镜像,我们可以通过vmware下的命令行来增加共享存储,然后将这些新磁盘.........
    ▪Oracle 11gR2 RAC LoadBalancing and TAF      本例中使用命令行形式添加services,以下是官方文档对services的描述: Oracle Database 10g introduced an automatic workload management facility, called services. A service represents the workload of applications with common attribute.........

[1]OMCS 架构设计说明
    来源: 互联网  发布时间: 2013-11-07

        OMCS语音视频框架是集成了音频、视频、远程桌面、电子白板等多种媒体于一身的网络连接系统,您只要连接到OMCS服务器,就可以随时访问任何一个在线的多媒体设备。基于OMCS,您可以快速地开发视频会议系统、网络监控系统、远程协助系统、远程教育系统、等等基于网络的多媒体系统。

 

一.总体结构说明

 

      OMCS 采用标准的C/S结构:

     

      OMCS已经提供了完整的服务端程序,即OMCS.Server.exe,在使用时,只要部署它并启动即可。

  1.技术结构         2.网络通道

        

        客户端与服务器之间基于TCP进行通信,客户端与客户端之间的通信将优先采用P2P通道。

  3.与应用集成

        

         OMCS解决的仅仅是多媒体设备的管理、连接、显示/播放、控制等问题,并没有掺杂具体的业务逻辑。所以,当与具体的应用集成时,通常OMCS的服务端是独立的,而OMCS.dll将被嵌入到具体应用的客户端程序中,就像下面一样:

     

 

4.客户端的两种身份

       

         任何一个OMCS的Client都有两种身份:Owner和Guest。

        当一个Client作为Owner时,它提供本地的摄像头、话筒、桌面、电子白板等多媒体设备供其它的Client访问;而当一个Client访问其它Client提供的多媒体设备时,则该Client就是以Guest的身份出现。

        一个Client可以同时访问多个在线Client的多媒体设备;而一个Client提供的某个多媒体设备,也可以同时被多个其它的Client同时访问。

 

二.消息作业流程

 

        下面以语音采集/播放为例,来说明语音数据从Owner传递到Guest的过程中其在OMCS框架中的基本流程:

     

 

三.技术指标

 

1.视频

(1)     支持160*120、320*240、480*360、640*480、720p、1080p等多种采集分辨率。可在运行时,动态修改该分辨率。

(2)     支持高、中、低三种视频编码质量。

(3)     支持帧频1~25fps。

(4)     当网络拥塞时,主动弃帧。

(5)     根据网络状态,自动调整视频的编码质量。

(6)     可以以位图格式获取当前视频帧。

(7)     支持多种视频设备:普通摄像头、usb摄像头、虚拟摄像头、视频卡等。

 

2.音频

(1)     支持8k、16k、32k音频采样率。

(2)     支持高、中、低三种音频编码质量。

(3)     支持回音消除(AEC)、静音检测(VAD)、噪音抑制(DENOISE)、自动增益(AGC)等网络语音技术。

(4)     最多可支持16路混音。

(5)     自适应的JitterBuffer,根据网络状态,动态调整缓冲深度。)如果同时开启音频和视频会话,则自动同步视频画面与声音。

(6)     在网速慢时,自动调整视频的质量,优先保证音频的清晰和连贯。

(7)     根据网络状态,自动切换语音数据到质量更高的网络通道,保证语音通话效果。

 

3.远程桌面

(1)    支持高、中、低三种视频编码质量。

(2)    根据机器性能和网速自动选择帧频。

(3)    可动态调整屏幕分辨率。

(4)    提供观看模式和控制模式两种选择。

(5)    当网络拥塞时,主动弃帧。

(6)    根据网络状态,自动调整远程桌面的清晰度。

 

4.电子白板

(1)    支持常用的视图元素:直线、曲线、箭头、矩形、三角形、椭圆、文字等。

(2)    可修改边框颜色和填充颜色。

(3)    可插入图片、截屏,可将整个白板保存为位图。

(4)    提供观看模式和操作模式两种选择。

(5)    支持激光笔。

(6)    多个Guest可以同时观看或操作同一个Owner的白板。

 

 

作者:zhuweisky 发表于2013-1-7 9:53:01
    
[2]Vmware server 下为Oracle RAC 添加共享磁盘
    来源: 互联网  发布时间: 2013-11-07

    在VMware下的Oracle RAC 环境中,对于共享存储不够或者需要增加新的共享磁盘来配置ocr或votingdisk的多路镜像,我们可以通过vmware下的命令行来增加共享存储,然后将这些新磁盘逐一追加到虚拟机即可。下面给出具体描述。  

1、添加虚拟磁盘
 #下面我们为虚拟机增加2块共享磁盘
 #一块为添加ocr镜像,一块用于补充asm磁盘不够用的情形
 C:\Users\robinson.cheng>cd C:\Program Files (x86)\VMware\VMware Server
 
 C:\Program Files (x86)\VMware\VMware Server>vmware-vdiskmanager.exe  #不加任何参数出现命令行用法帮助信息
 
 C:\Program Files (x86)\VMware\VMware Server>vmware-vdiskmanager.exe -c -s 200MB -a lsilogic -t 2 C:\MyVM\
 Sharedisk\ocrMirror.vmdk
 Creating disk 'C:\MyVM\Sharedisk\ocrMirror.vmdk'
   Create: 100% done.
 Virtual disk creation successful.
 
 C:\Program Files (x86)\VMware\VMware Server>vmware-vdiskmanager.exe -c -s 2000MB -a lsilogic -t 0 C:\MyVM\
 Sharedisk\asm_data_new.vmdk
 Creating disk 'C:\MyVM\Sharedisk\asm_data_new.vmdk'
   Create: 100% done.
 Virtual disk creation successful.
 
  C:\Program Files (x86)\VMware\VMware Server>cd c:\MyVM\Sharedisk
 C:\MyVM\Sharedisk>dir asm_data_new* ocrMi*
  Volume in drive C has no label.
  Volume Serial Number is 8831-9A35
 
  Directory of C:\MyVM\Sharedisk
 
 06/01/2013  02:59 PM           327,680 asm_data_new.vmdk
 
  Directory of C:\MyVM\Sharedisk
 
 06/01/2013  02:05 PM       209,715,200 ocrMirror-flat.vmdk
 06/01/2013  02:46 PM               425 ocrMirror.vmdk
                3 File(s)    210,043,305 bytes
                0 Dir(s)  152,651,186,176 bytes free  
               
2、将虚拟磁盘追加到虚拟机
 在虚拟机器界面选择需要增加磁盘的虚拟机,单击“Add hardware",单击"Hard Disk",选“Use a existing virtual disk”。
 根据所在的路径选择刚刚新建的vmdk文件,此处为ocrMirror.vmdk,Disk Mode选择"Independent" 。
 对于Virtual Device Node 选择择SCSI2:0(此时SCSI0和SCSI1已经被使用,主要避免scsi总线故障。
 如果选择SCSI0和SCSI1上的剩余Device,则需要重新配置ASM。因为磁盘sda,sdb,sdc是依据scsi的顺序以及之上的节点来分配的。
 其余的新增加的磁盘如法炮制。
 按同样的方式将这几块新的磁盘添加到另外的主机
 
 #Author : Robinson
 #Blog   : http://blog.csdn.net/robinson_0612

3、修改虚拟机配置文件
 编辑各个虚拟机的配置文件,以.vmx结尾的,可以看到刚刚填加的磁盘已经出现在配置文件里。
 修改刚刚的添加的scsi总线的sharedBus项,将其改为VIRTUAL。
 如本例中的
  scsi2.sharedBus = "VIRTUAL"
 其次添加下列项到配置文件
 注意scsix:y的表示方法。x表示第几个总线,y表示该总线上的第几个设备。0为第一个设备,1为第二个设备,类推。
 scsi2:0.deviceType = "disk"
 scsi2:0.redo = ""
 scsi2:1.deviceType = "disk"
 scsi2:1.redo = ""

4、配置裸设备及ASM
 启动虚拟机后在任一虚拟机上对新增加的磁盘进行fdisk即可。
 对于用作镜像的ocr或者votedisk磁盘需要配置raw设备,在11g RAC可以将ocr与votingdisk全部存放在ASM中。
  对于SUSE Linux,可参考:
   SUSE Linux 10 配置裸设备(raw devices) http://blog.csdn.net/robinson_0612/article/details/7997335

 对于用作存储数据的ASM磁盘,则需要使用asmlib进行配置。
  有关ASM的配置可参考:
   创建ASM实例及ASM数据库 http://blog.csdn.net/robinson_0612/article/details/6080659

更多参考

有关Oracle RAC请参考
     使用crs_setperm修改RAC资源的所有者及权限
     使用crs_profile管理RAC资源配置文件
     RAC 数据库的启动与关闭
     再说 Oracle RAC services
     Services in Oracle Database 10g
     Migrate datbase from single instance to Oracle RAC
     Oracle RAC 连接到指定实例
     Oracle RAC 负载均衡测试(结合服务器端与客户端)
     Oracle RAC 服务器端连接负载均衡(Load Balance)
     Oracle RAC 客户端连接负载均衡(Load Balance)
     ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
     ORACLE RAC 监听配置 (listener.ora tnsnames.ora)
     配置 RAC 负载均衡与故障转移
     CRS-1006 , CRS-0215 故障一例 
     基于Linux (RHEL 5.5) 安装Oracle 10g RAC
     使用 runcluvfy 校验Oracle RAC安装环境

有关Oracle 网络配置相关基础以及概念性的问题请参考:
     配置非默认端口的动态服务注册
     配置sqlnet.ora限制IP访问Oracle
     Oracle 监听器日志配置与管理
     设置 Oracle 监听器密码(LISTENER)
     配置ORACLE 客户端连接到数据库

有关基于用户管理的备份和备份恢复的概念请参考
     Oracle 冷备份
     Oracle 热备份
     Oracle 备份恢复概念
     Oracle 实例恢复
     Oracle 基于用户管理恢复的处理
     SYSTEM 表空间管理及备份恢复
     SYSAUX表空间管理及恢复
     Oracle 基于备份控制文件的恢复(unsing backup controlfile)

有关RMAN的备份恢复与管理请参考
     RMAN 概述及其体系结构
     RMAN 配置、监控与管理
     RMAN 备份详解
     RMAN 还原与恢复
     RMAN catalog 的创建和使用
     基于catalog 创建RMAN存储脚本
     基于catalog 的RMAN 备份与恢复
     RMAN 备份路径困惑
     使用RMAN实现异机备份恢复(WIN平台)
     使用RMAN迁移文件系统数据库到ASM
     linux 下RMAN备份shell脚本
  

    
[3]Oracle 11gR2 RAC LoadBalancing and TAF
    来源: 互联网  发布时间: 2013-11-07

本例中使用命令行形式添加services,以下是官方文档对services的描述:

Oracle Database 10g introduced an automatic workload management facility, called services. A service represents the workload of applications with common attributes, performance thresholds, and priorities. A single service can represent an application, multiple applications or a subset of a single application. A single service can be associated with one or more instances of an Oracle RAC database, and a single instance can support multiple services. Services provide the following benefits:
A single entity for managing applications that compete for the same resources
Allow each workload to be managed as a single unit
Hide the complexity of the cluster from the client
To manage workloads, you can define services that you assign to a particular application or to a subset of an application's operations. You can also use services to manage the workload for different types of work. For example, online users can use one service while batch processing can use a different service and reporting can use yet another service type.
Traditionally an Oracle database provided a single service and all users connected to the same service. A database will always have this default database service that is the database name. This service cannot be modified and will always allow you to connect to the database.
Note: Do not use the default database service for application workloads. Create at least one service as described in "Creating Services".
When a user or application connects to a database, Oracle recommends that you use a service for the connection.Oracle Database automatically creates one database service when the database is created. For many installations, this may be all you need. For more flexibility in the management of the workload using the database, Oracle Database enables you to create multiple services and specify which database instances offer the services.


srvctl add service Syntax and Options

具体参考Oracle Real Application Clusters Administration and Deployment Guide 11g Release 2 (11.2)

[oracle@node1 ~]$ srvctl add service -h

Adds a service configuration to the Oracle Clusterware.

Usage: srvctl add service -d <db_unique_name> -s <service_name> {-r "<preferred_list>" [-a "<available_list>"] [-P {BASIC | NONE | PRECONNECT}] | -g <pool_name> [-c {UNIFORM | SINGLETON}] } [-k   <net_num>] [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]] [-y {AUTOMATIC | MANUAL}] [-q {TRUE|FALSE}] [-x {TRUE|FALSE}] [-j {SHORT|LONG}] [-B {NONE|SERVICE_TIME|THROUGHPUT}] [-e {NONE|SESSION|SELECT}] [-m {NONE|BASIC}] [-z <failover_retries>] [-w <failover_delay>] [-t <edition>] [-f]
    -d <db_unique_name>      Unique name for the database
    -s <service>             Service name
    -r "<preferred_list>"    Comma separated list of preferred instances
    -a "<available_list>"    Comma separated list of available instances
    -g <pool_name>           Server pool name
    -c {UNIFORM | SINGLETON} Service runs on every active server in the server pool hosting this service (UNIFORM) or just one server (SINGLETON)
    -k <net_num>             network number (default number is 1)
    -P {NONE | BASIC | PRECONNECT}        TAF policy specification
    -l <role>                Role of the service (primary, physical_standby, logical_standby, snapshot_standby)
    -y <policy>              Management policy for the service (AUTOMATIC or MANUAL)
    -e <Failover type>       Failover type (NONE, SESSION, or SELECT)
    -m <Failover method>     Failover method (NONE or BASIC)
    -w <integer>             Failover delay
    -z <integer>             Failover retries
    -t <edition>             Edition (or "" for empty edition value)
    -j <clb_goal>  Connection Load Balancing Goal (SHORT or LONG). Default is LONG.
    -B <Runtime Load Balancing Goal>     Runtime Load Balancing Goal (SERVICE_TIME, THROUGHPUT, or NONE)
    -x <Distributed Transaction Processing>  Distributed Transaction Processing (TRUE or FALSE)
    -q <AQ HA notifications> AQ HA notifications (TRUE or FALSE)
Usage: srvctl add service -d <db_unique_name> -s <service_name> -u {-r "<new_pref_inst>" | -a "<new_avail_inst>"} [-f]
    -d <db_unique_name>      Unique name for the database
    -s <service>             Service name
    -u                       Add a new instance to service configuration
    -r <new_pref_inst>       Name of new preferred instance
    -a <new_avail_inst>      Name of new available instance
    -f                       Force the add operation even though a listener is not configured for a network
    -h                       Print usage


以下是官方的两个例子:

Use this example syntax to add the gl.example.com service to the my_rac database with AQ HA notifications enabled, a failover method of BASIC, a Connection Load Balancing Goal of LONG, a failover type of SELECT, and 180 failover retries with a delay of 5:
srvctl add service -d my_rac -s gl.example.com -q TRUE -m BASIC -e SELECT -z 180 -w 5 -j LONG

Use this example syntax to add a named service to a database with preferred instances in list one and available instances in list two, using preconnect failover for the available instances:
srvctl add service -d crm -s sales -r crm01,crm02 -a crm03 -P PRECONNECT




Add services to support the load balancing and TAF

Add a name for "ZWC" service, instance node1 as the first choice for instance node, instance node2 as standby node, TAF strategy use "PRECONNECT" preliminary connection, fault switching type to "SELECT" enable  transaction support, switch delay set to 0, use the following order:

[oracle@node1 ~]$ srvctl add service -d zhongwc -s ZWC -r 'zhongwc1' -a 'zhongwc2' -P PRECONNECT -e SELECT -x TRUE -w 0
[oracle@node1 ~]$ 
[oracle@node1 ~]$ 
[oracle@node1 ~]$ srvctl  config service -d zhongwc -s ZWC -a
Warning:-a option has been deprecated and will be ignored.
Service name: ZWC
Service is enabled
Server pool: zhongwc_ZWC
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: true
AQ HA notifications: false
Failover type: SELECT
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: PRECONNECT
Edition: 
Preferred instances: zhongwc1
Available instances: zhongwc2
[oracle@node1 ~]$ 
[oracle@node1 ~]$ srvctl modify service -d zhongwc -s ZWC -z 180 -w 5 -m BASIC
[oracle@node1 ~]$ srvctl modify service -d zhongwc -s ZWC -B SERVICE_TIME
[oracle@node1 ~]$ srvctl modify service -d zhongwc -s ZWC -q TRUE
[oracle@node1 ~]$ srvctl modify service -d zhongwc -s ZWC -j SHORT
[oracle@node1 ~]$ 
[oracle@node1 ~]$ 
[oracle@node1 ~]$ srvctl  config service -d zhongwc -s ZWC
Service name: ZWC
Service is enabled
Server pool: zhongwc_ZWC
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: true
AQ HA notifications: true
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 180
TAF failover delay: 5
Connection Load Balancing Goal: SHORT
Runtime Load Balancing Goal: SERVICE_TIME
TAF policy specification: PRECONNECT
Edition: 
Preferred instances: zhongwc1
Available instances: zhongwc2

Start "ZWC" service

[oracle@node1 ~]$ srvctl start service -d zhongwc -s ZWC
[oracle@node1 ~]$ su - grid -c "crsctl stat res -t"
Password: 
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       node1                                        
               ONLINE  ONLINE       node2                                        
ora.DATADG.dg
               ONLINE  ONLINE       node1                                        
               ONLINE  ONLINE       no      
    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3