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

一種利用Tuxedo處理集群文件服務器協(xié)作的方法

2008-04-12 00:00:00唐友生曹慶華傅翠嬌
現代電子技術 2008年10期

摘 要:現代大型信息系統(tǒng)中文件量比較大,一臺服務器很難支持大量文件的存儲,使用集群文件服務器,可以解決大量文件存儲的問題。通過實際項目中使用的方案,描述利用Tuxedo 7.1支持對XML文件分析功能,實現文件服務器互相協(xié)作的方式。特別是通過使用文件命名散列方法計算文件服務器標示號,通過XML傳遞該標識號到Tuxedo服務器,從而抉擇將文件放置到哪臺文件服務器上。這樣不用在文件數據庫存儲文件位置,就可以直接存儲并獲取文件。

關鍵詞:集群文件服務器;Tuxedo中間件技術;算法;XML

中圖分類號:TP311 文獻標識碼:B

文章編號:1004-373X(2008)10-091-02

A Method for Dealing with Cooperating File Servers with Tuxedo

TANG Yousheng,CAO Qinghua,FU Cuijiao

(School of Computer Science,Beihang University,Beijing,100083,China)

Abstract:In the modern large-scale MIS,the amount of files are very high,single file server cannotsupportabundant storage.By using collective file servers,we can deal with problem of abundant storage of files.This chapter describes how to use Tuxedo 7.1 to analyze XML file,then implements the cooperation of file servers for storing the files.Especially,by using Hash of file name to gain the ID of the file server,and send the ID to the Tuxedo server.Tuxedo server decide where the file went by this ID.So,we can directly save and acquire the file on server.

Keywords:file servers;Tuxedo middleware;arithmetic;XML

1 基于Tuxedo的編程方式

Tuxedo是BEA公司出品的交易中間件,經過近20年的努力,Tuxedo已經發(fā)展成為交易中間件領域事實上的標準。作為中間件,他具有跨平臺,跨網絡的能力。可以管理分布于不同計算機上的數據的一致性,協(xié)調數據庫的分布式處理事務,保障整個系統(tǒng)的性能和可靠性。

Tuxedo 從7.1版本開始,開始支持XML,并且,他允許XML文件通過基于數據的路由從Jolt客戶端流向Tuxedo服務。本文就是利用Tuxedo 7.1 的這個特點,實現抉擇文件數據流向,使各個文件服務器上的文件基本保持平衡。

基于Tuxedo中間件程序的編程需要配置UBB文件,這里主要就是配置分組,配置網絡路由和配置XML文件頭分析方式,利用文件頭信息決定路由到哪個文件服務器。在編程時,需要利用Tuxedo的API函數和其內置的數據類型。下面對集群文件服務器網絡構架,這個網絡構架如何配置UBB文件以及如何進行文件傳輸決策的客戶端和服務器端程序做詳細的描述。

2 集群文件服務器架構和UBB配置

為了方便說明,簡化了實踐中使用的系統(tǒng)架構。其基本思想就是利用一臺Tuxedo服務器作為主服務器,用他來對其他服務器進行調用,抉擇哪一臺服務器響應客戶的服務請求。這里要對這臺服務器UBB進行配置,將其設置為主服務器,并將其中的*MACHINES,*GROUPS,*SERVERS,*NETWORKS,ROUTING等屬性進行相應的配置。一種可能的配置可以是:

*RESOURCES

MASTER SITE1,...SITEN

MAXACCESSERS40

MAXSERVERS 40

OPTIONS LAN

*MACHINES

MACHINE1 LMID = SITE1

APPDIR=\"/tuxedo/bint\"

TUXCONFIG=\"/tuxedo/bint/tuxconfig\"

TUXDIR=\"/usr/tuxedo\"

…

MACHINEN LMID = SITEN

APPDIR=\"/tuxedo/bint\"

TUXCONFIG=\"/tuxedo/bint/tuxconfig\"

TUXDIR=\"/usr/tuxedo\"

*GROUPS

GROUP1

LMID=SITE1 GRPNO=1 OPENINFO = NONE

…

GROUPN

LMID=SITEN GRPNO=N OPENINFO = NONE

*NETWORK

SITE1NADDR=\"http://10.1.13.21:6000\"

NLSADDR=\"http://10.13.21:6001\"

…

SITENNADDR=\"http://10.1.13.103:6000\"

NLSADDR=\"http://10.13.103:6001\"

*SERVERS

SITE1SERV SRVGRP=GROUP1 SRVID=100

…

SITENSERV SRVGRP=GROUPN SRVID=190

*SERVICES

GETFILE LOAD=50 PRIO=50 ROUTING=SERIALNO

PUTFILE LOAD=50 PRIO=50 ROUTING=SERIALNO

*ROUTING

SERIALNO FIELD=[ZK(]\"FILEMES/HEADER/@SERIALNO\"

BUFTYPE=\"XML\"

RANGES=\"1-9:GROUP1

…

*:GROUPN\"[ZK)]

以上是Tuxedo服務器UBB的示例設置。如圖1所示,文件服務器1到文件服務器中都有2個公共的服務,GetFile 和PUTFILE,UBB配置文件將這些服務分在了不同的組中,通過ROUTING中的SERIALNO字段的判斷來決定調用那個文件服務器的相應服務。而這個SERIALNO字段來自客戶段傳來的XML文件的頭部信息。

圖1 集群文件服務器布局方式

3 XML文件編程設置方法

上面提到Tuxedo服務器調用哪個文件服務器來響應客戶端的服務請求,是通過客戶端在調用服務時,向服務器傳遞的XML文件的頭部信息中的serialno字段決定的。其形式可以是這樣:



200710105675X.tif

這樣,只要能夠利用合理的算法來對不同名稱的文件進行標示,告知Tuxedo服務器調用哪個文件服務器相應服務,就能達到將客戶端的文件傳輸到不同的文件服務器上,同時,利用該字段,也可以從正確的文件服務器上下載到相應的文件。如果能夠填入合適的SERAILNO字段就可以起到使各文件服務器負載均衡的作用。使用任何一種編程語言可以產生XML文件并對其HEADER中的SERIALNO進行設置,下面利用文件名稱計算出合適的SERIALNO以便可以傳到Tuxedo服務器,讓其可以將不同名稱的文件存儲在合適的位置,從而達到各個文件負載平衡的目的。實踐中,使用HP-Unix操作系統(tǒng)運行Tuxedo中間件服務。客戶端使用Tuxedo 客戶端程序,運行在MS Windows 操作系統(tǒng)上,為了方便起見,客戶端和服務器端都使用C語言進行開發(fā)。下面利用網絡中的DHCP 負載平衡算法,將各個文件名作為鍵值,計算出SERIALNO的值。

unsigned charloadb_mx_tbl[64] ={

9,56,24,38,33,44,5,0,41,19,20,63,39,40,43,22,10,53,17,23,52,59,35,4,54,16,32,8,

21,7,26,18,58,62,45,30,61,57,28,25,51,11,31,50,37,46,42,27,55,6,14,3,15,1,47,60,

36,49,34,12,2,29,48,13

};

char *calserial(

const unsigned char *filename,/* 文件名 */

const int len ) /* 長度*/

{

unsigned int hash= len;

int i;

for (i=len ; i > 0 ;)

hash = loadb_mx_tbl [ hash ^ filename [ --i ]];

return( itoa(hash%N));

}

通過以上算法,計算出序列號的值,填入到XML文件中,傳給Tuxedo服務器,服務器通過讀取該值,決定將文件存儲于哪個文件服務器。實踐證明,這個算法對于一般類型的文件名稱,有比較好的負載平衡效果。

4 結 語

這種算法的優(yōu)點是:

(1) 算法比較簡單,具有計算的廉價性,提高運算效率。同時,算法的負載平衡效果也比較好;

(2) 系統(tǒng)可擴展性比較高。對于正在服務器,只需修改Tuxedo服務器中RANGE字段的配置即可,而不必重寫客戶端的程序。客戶端無需知道具體文件服務器的地址,只需知道Txuedo服務器地址即可;

(3) 底層文件傳輸利用Tuxedo的二進制傳輸方式,隱藏實現的細節(jié),減少開發(fā)難度。同時,避免直接利用套接字寫文件傳輸程序而可能導致的傳輸效率降低。

有待擴展的地方包括,可以根據實際文件名稱情況,書寫合適的負載平衡算法,提高文件服務器的利用率。同時,可以利用Tuxedo服務器其他特性,如數據庫操作特性,進行數據庫方面的控制等。

參 考 文 獻

[1]Bernie Volz DHCP 負載平衡算法RFC 3074 [S].2001.

[2]徐春金.Tuxedo中間件開發(fā)與配置[M].北京:中國電力出版社,2003.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 日本久久网站| 亚洲国产成人麻豆精品| 欧美精品导航| 5388国产亚洲欧美在线观看| 久久久久88色偷偷| 中文字幕资源站| 国产一级精品毛片基地| 日本欧美成人免费| 麻豆精品久久久久久久99蜜桃| 国产精品福利导航| 麻豆精品久久久久久久99蜜桃| 国产福利免费视频| 欧美在线综合视频| 亚洲成年人片| 日韩成人在线视频| 日韩成人高清无码| 91麻豆国产视频| 亚洲男人天堂2020| 91麻豆久久久| 欧美黑人欧美精品刺激| 老司国产精品视频91| 丝袜无码一区二区三区| 成人国产精品网站在线看| 三上悠亚精品二区在线观看| 中国国产A一级毛片| 亚洲日韩精品无码专区| 最新亚洲av女人的天堂| 自偷自拍三级全三级视频| 亚洲精品无码人妻无码| 性欧美精品xxxx| 激情国产精品一区| 日韩无码白| 亚洲a级在线观看| 亚洲国产精品日韩专区AV| 99re热精品视频中文字幕不卡| 亚洲欧美日韩久久精品| 久久成人国产精品免费软件 | 亚洲aⅴ天堂| 国产福利一区在线| 免费看a级毛片| 老司机午夜精品视频你懂的| 2021天堂在线亚洲精品专区| 成人午夜在线播放| 成人免费视频一区| 国产爽歪歪免费视频在线观看| 最新精品久久精品| 国产欧美综合在线观看第七页| 久久久无码人妻精品无码| 四虎精品免费久久| 免费看美女自慰的网站| 色婷婷综合激情视频免费看| 永久毛片在线播| 亚洲香蕉在线| 久久国产V一级毛多内射| 国产美女91视频| 伊人久久婷婷| 亚洲无码在线午夜电影| 伊人久久婷婷| 99re这里只有国产中文精品国产精品 | 54pao国产成人免费视频| 波多野结衣一级毛片| 久久99久久无码毛片一区二区| 日韩A∨精品日韩精品无码| 久久精品国产电影| 欧美日韩国产在线播放| 久久黄色一级片| 国产亚卅精品无码| 91精品最新国内在线播放| 91久久夜色精品国产网站| 亚洲青涩在线| 久久www视频| 成人亚洲天堂| 天堂成人在线| 国产无码精品在线播放| 亚洲三级成人| 日本三级精品| 中文字幕无码av专区久久| 狠狠干欧美| 国产欧美专区在线观看| 99精品国产电影| 久久男人资源站| 综合亚洲网|