999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向Flash組件集成的通信中間件

2013-07-25 02:28:14王福喜王祥根
計算機工程與設(shè)計 2013年2期
關(guān)鍵詞:圖表服務(wù)

李 哲,唐 穩(wěn),王福喜,王祥根

(華北計算技術(shù)研究所,北京100083)

0 引言

Adobe Flash是一種基于矢量圖片、位圖、音視頻及動作腳本等元素的交互式多媒體技術(shù),已在互聯(lián)網(wǎng)、嵌入式設(shè)備等多種場合得到廣泛應(yīng)用。但是,由于Flash基于虛擬機執(zhí)行,因此其執(zhí)行效率較低,不能適用于數(shù)據(jù)處理等需要大量運算的應(yīng)用場合。與之相反,原生Windows或Linux程序由于直接調(diào)用操作系統(tǒng)提供的底層API,因此具有很高的執(zhí)行效率,但是直接基于操作系統(tǒng)底層API或者利用集成界面開發(fā)工具的Visual C++等軟件開發(fā)圖形化人機交互界面的難度大,開發(fā)周期長。為了揚長避短,滿足用戶對系統(tǒng)界面效果和執(zhí)行效率的需求,實現(xiàn)原生Windows或Linux程序與Flash組件間的集成成為一種有效的解決方案。

近年來,在原生桌面應(yīng)用程序中集成Flash組件實現(xiàn)軟件界面的開發(fā)方式得到了越來越廣泛的應(yīng)用,尤其是在國產(chǎn)自主基礎(chǔ)軟件平臺環(huán)境下的圖形用戶界面應(yīng)用程序開發(fā)領(lǐng)域。這種開發(fā)方式能夠綜合原生桌面應(yīng)用程序與Flash的優(yōu)勢,使用Flash實現(xiàn)軟件的界面繪制及人機交互,利用原生桌面應(yīng)用程序?qū)崿F(xiàn)系統(tǒng)中對效率要求較高的應(yīng)用,可以使應(yīng)用系統(tǒng)擁有美觀人機交互界面的同時又擁有較高的執(zhí)行效率。

然而,F(xiàn)lash組件與原生桌面應(yīng)用程序之間的通信問題是實現(xiàn)兩者有機集成面臨的一個難點,已成為制約該技術(shù)推廣應(yīng)用的一個主要瓶頸。目前,Windows平臺下Flash與其容器之間的通信方法復(fù)雜多樣,適用環(huán)境限制苛刻。文獻[1]提出了基于Flash提供的套接字編程接口實現(xiàn)通信的方法,但是該通信方法存在通用性差、不支持異步通信、并發(fā)通信服務(wù)支持能力低等問題。文獻[2-3]提出了幾種通用通信中間件的設(shè)計方法,文獻[4]討論了提高中間件安全性的方法,文獻[5-8]則分別提出了幾種在特定軟硬件環(huán)境下特定用途的通信中間件的設(shè)計方法,然而這些設(shè)計方法并非針對原生桌面應(yīng)用程序與Flash應(yīng)用集成時的通信問題進行設(shè)計,因此并不能有效解決集成Flash應(yīng)用中存在的通信問題。

針對上述問題,本文根據(jù)Flash套接字通信的特點設(shè)計了一種跨平臺、支持異步通信的通信中間件。該中間件利用多平臺支持的Socket進行底層數(shù)據(jù)傳輸,實現(xiàn)了跨平臺的通信;基于消息傳遞服務(wù)實現(xiàn)了數(shù)據(jù)通信的并發(fā)處理和異步通信;針對Flash域安全模型的特點,設(shè)計了兼容Flash安全機制的安全策略處理機制,滿足集成Flash組件的應(yīng)用對安全的需求。該通信中間件提供不同操作系統(tǒng)平臺上面向Flash組件集成的數(shù)據(jù)通信服務(wù),能夠?qū)崿F(xiàn)原生桌面應(yīng)用程序與Flash組件之間安全、可靠和高效的數(shù)據(jù)通信,為集成Flash的桌面應(yīng)用程序的開發(fā)提供廣泛支持。

1 通信中間件的設(shè)計

1.1 Flash組件集成模型

面向Flash組件集成的通信中間件的通信雙方包括用于界面繪制及人機交互的各類Flash組件、用于處理數(shù)據(jù)的原生Windows程序和原生Linux程序,其集成模型如圖1所示。

圖1 Flash組件集成模型

在Flash組件集成應(yīng)用程序中,F(xiàn)lash組件實現(xiàn)美觀的圖形化界面,并將用戶的選擇、輸入等各類交互信息通過Flash通信代理和通信服務(wù)傳遞給各類原生應(yīng)用程序;原生應(yīng)用程序處理由Flash傳遞的對執(zhí)行效率要求高的任務(wù),對各類數(shù)據(jù)進行相應(yīng)處理,并將處理結(jié)果通過通信代理和通信服務(wù)發(fā)送給Flash組件,在圖形化界面中刷新顯示。

1.2 通信中間件結(jié)構(gòu)設(shè)計

基于上述通信中間件集成模型,本文設(shè)計了一種面向Flash組件集成的通信中間件的總體結(jié)構(gòu),如圖2所示。

圖2 通信中間件組成結(jié)構(gòu)

面向Flash組件集成的通信中間件主要包括通信代理和通信服務(wù)兩部分,其中:通信代理,為各類Flash組件和原生Windows、Linux程序提供功能一致的調(diào)用接口,包括Flash通信代理、Windows程序通信代理和Linux程序通信代理三類通信代理;通信服務(wù),為各類通信代理提供安全、可靠和高效的數(shù)據(jù)通信服務(wù),主要由通信安全策略處理模塊、通信協(xié)議處理模塊和消息傳輸處理模塊組成。

下面,本文分別詳細描述各模塊的主要功能及其設(shè)計與實現(xiàn)方法。

1.3 通信代理

通信代理為不同應(yīng)用客戶與通信服務(wù)之間的交互提供支撐,主要用于解決跨平臺環(huán)境下的通信問題,其主要功能如下:

(1)在通信服務(wù)中注冊應(yīng)用客戶與注銷應(yīng)用客戶,包括:注冊應(yīng)用客戶并獲取應(yīng)用客戶標識符,注銷應(yīng)用客戶并釋放相關(guān)資源;

(2)通信消息封裝與轉(zhuǎn)發(fā),包括:將應(yīng)用客戶的業(yè)務(wù)數(shù)據(jù)封裝成XML格式的通信消息并發(fā)送給通信服務(wù),接收通信服務(wù)發(fā)送的通信消息并轉(zhuǎn)發(fā)通知應(yīng)用客戶。

應(yīng)用客戶、通信代理及通信服務(wù)之間的交互過程如圖3所示。

通信代理采用基于TCP協(xié)議的實現(xiàn)方法,具體實現(xiàn)由具體的軟件平臺決定。Flash通信代理,使用Socket類和XMLSocket類實現(xiàn)與通信服務(wù)之間的數(shù)據(jù)交互,通過ActionScript語言提供的事件機制實現(xiàn)與上層Flash應(yīng)用客戶的交互;Linux/Windows通信代理,直接使用操作系統(tǒng)提供的套接字API接口實現(xiàn)與通信服務(wù)之間的數(shù)據(jù)交互,通過函數(shù)回調(diào)機制實現(xiàn)與上層原生Linux/Windows桌面應(yīng)用程序的交互。基于TCP協(xié)議的實現(xiàn)方法,使得通信代理具有跨平臺、跨機器的優(yōu)點。

1.4 通信服務(wù)

1.4.1 通信安全策略處理模塊

通信安全策略處理模塊為通信代理與通信服務(wù)之間的交互提供基于安全配置文件的訪問控制能力,解決各種類型通信代理的服務(wù)請求的安全驗證問題。通信安全策略處理保證只為合法的服務(wù)請求提供通信服務(wù),阻止來自非法應(yīng)用客戶的服務(wù)請求,提升了通信中間件數(shù)據(jù)通信的安全性。

圖3 應(yīng)用客戶、通信代理與通信服務(wù)交互過程

安全驗證分為Flash通信代理安全驗證和Linux/Windows通信代理安全驗證兩方面。對于Flash通信代理的連接請求,通信服務(wù)根據(jù)安全配置文件生成符合Flash域安全機制要求的套接字策略文件,并發(fā)送給Flash Player實施安全驗證;對于Linux/Windows通信代理的連接請求,安全配置文件作為一個安全域地址和端口號的白名單[9],在通信服務(wù)中實施安全驗證。為了便于通信服務(wù)提取安全域地址列表,以及根據(jù)安全配置文件生成Flash Player域安全機制規(guī)定的套接字安全策略文件,通信安全策略處理模塊使用XML來定義安全配置文件。

安全配置文件定義了可信的安全域地址和端口號。安全域地址在<security-domain>標簽中指定,允許的端口在<security-port>標簽中指定。下面是一個安全配置文件的例子:

<security-configure-file>

<security-domain-group>

<security-domain>192.168.17.84 </securitydomain>

<security-port>1002< /security-port>

</security-domain-group>

<security-domain-group>

<security-domain>192.168.17.86 </securitydomain>

<security-port>1124< /security-port>

</security-domain-group>

</security-configure-file>

Flash通信代理與通信服務(wù)之間通信安全策略連接建立過程如下:

(1)Flash組件發(fā)起服務(wù)連接請求,F(xiàn)lash通信代理調(diào)用Socket.connect()方法;

(2)Flash Player與通信服務(wù)建立連接;

(3)Flash Player自動向通信服務(wù)傳輸字符串<policyfile-request/>以請求策略文件;

(4)通信服務(wù)根據(jù)安全配置文件生成套接字策略文件返回給Flash Player;

(5)Flash Player根據(jù)套接字策略文件完成安全驗證,通過驗證就關(guān)閉安全驗證連接并自動建立通信連接,并拋出Connect事件給Flash通信代理處理;否則Flash Player自動斷開與通信服務(wù)的連接并拋出SecurityError事件給Flash通信代理處理。

Linux/Windows通信代理與通信服務(wù)之間通信安全策略連接建立過程如下:

(1)原生Linux/Windows桌面應(yīng)用程序發(fā)起服務(wù)連接請求,Linux/Windows通信代理向通信服務(wù)發(fā)送注冊服務(wù)請求消息;

(2)通信服務(wù)從安全配置文件中提取安全域和安全端口號列表;

(3)通信服務(wù)在安全域和安全端口號列表中搜索請求服務(wù)的通信代理的域地址和端口號,如果匹配則允許建立連接,否則不允許連接。

1.4.2 通信協(xié)議處理模塊

通信協(xié)議處理模塊實現(xiàn)對通信消息的定義和處理功能,設(shè)計了通信代理與通信服務(wù)之間以及應(yīng)用客戶之間交互模式。

在通信消息定義方面,通信協(xié)議處理模塊在TCP協(xié)議上定義了一個消息通信協(xié)議,規(guī)定了通信用戶唯一標識符的生成方法,通信服務(wù)與通信客戶之間交互的通信消息格式以及上層應(yīng)用業(yè)務(wù)數(shù)據(jù)的通信傳輸方式,具體約定如下:

(1)通信客戶唯一標識符采用IP地址+處理線程號的形式表示;

(2)通信中間件處理的通信消息格式為XML文本;

(3)通信消息包含唯一消息標識號、消息來源、消息發(fā)送目標和消息類型等信息;

(4)通信消息包含Attribute節(jié)點,通過Key和Value來支持自定義屬性。

下面是一個典型的通信消息的例子:

<Message Id=’1234’ >

<From>192.168.17.52:1986</From>

<To>192.168.31.104:1124</To>

<Type>msgtype</Type>

<Attribute>

<Key>custom key</Key>

<Value>custom value</Value>

</Attribute>

</Message>

在通信消息處理方面,通信協(xié)議處理模塊根據(jù)通信消息的格式,定義并實現(xiàn)了一系列函數(shù)來實現(xiàn)對通信消息的封裝和解析。

1.4.3 消息傳輸處理模塊

消息傳輸處理模塊主要用于解決數(shù)據(jù)邊界確認和并發(fā)通信問題,實現(xiàn)Flash組件與原生桌面應(yīng)用程序之間高效、穩(wěn)定、可靠的數(shù)據(jù)通信,主要包括數(shù)據(jù)邊界處理、連接管理和消息隊列管理3個子模塊。其中:數(shù)據(jù)邊界處理采用特殊標記法實現(xiàn)數(shù)據(jù)邊界區(qū)分,以字符

主站蜘蛛池模板: 欧美综合中文字幕久久| 波多野结衣一区二区三区四区视频| 欧美色视频在线| 亚洲va欧美ⅴa国产va影院| 在线中文字幕日韩| 中文字幕佐山爱一区二区免费| 欧美va亚洲va香蕉在线| 久久午夜夜伦鲁鲁片不卡| 日韩久久精品无码aV| 国产精品国产主播在线观看| 国产成人综合网| 国产精品三级专区| 国产精品99r8在线观看| 亚洲三级色| 免费国产在线精品一区| 老色鬼欧美精品| 国产幂在线无码精品| 日韩av资源在线| 久久久久久久蜜桃| 成年人国产网站| 亚洲天堂网2014| 国产H片无码不卡在线视频| 毛片久久久| 久久成人国产精品免费软件| 国产自无码视频在线观看| 亚洲一级毛片在线观播放| 直接黄91麻豆网站| 99视频在线看| 色综合天天娱乐综合网| 国产午夜福利片在线观看| 98超碰在线观看| 中文字幕在线观| 99热国产在线精品99| 免费在线视频a| 国产精品手机在线观看你懂的| 日韩欧美在线观看| 青青青国产免费线在| 2021天堂在线亚洲精品专区| 午夜不卡视频| 高清无码不卡视频| 五月婷婷丁香综合| 色悠久久综合| 成人福利在线视频| 高清码无在线看| 911亚洲精品| 亚洲人成网站色7799在线播放| 日本高清成本人视频一区| 亚洲福利视频一区二区| 中文字幕日韩欧美| 国产va视频| 亚洲区视频在线观看| 五月婷婷亚洲综合| 无码高潮喷水在线观看| 尤物特级无码毛片免费| 99久久免费精品特色大片| 成年人国产视频| 日韩毛片免费| 亚洲精品卡2卡3卡4卡5卡区| 亚洲国产精品人久久电影| yy6080理论大片一级久久| 日本精品视频| 欧美丝袜高跟鞋一区二区| 高清乱码精品福利在线视频| WWW丫丫国产成人精品| 日本午夜在线视频| 毛片免费观看视频| a天堂视频| 国产一级毛片yw| 成人国产精品视频频| 国产a网站| 久久婷婷五月综合97色| 一区二区理伦视频| 天天躁日日躁狠狠躁中文字幕| 自拍偷拍欧美| 国产成人精品一区二区不卡| 午夜激情婷婷| 日韩高清中文字幕| 亚洲第一成年人网站| 日本人妻一区二区三区不卡影院| 国产成人精品在线| 九九九九热精品视频| 国产jizz|