馮茜 魏博
[摘 要] 長慶石化公司信息門戶基于SPS、WSS平臺進行升級改造,本文介紹了平臺的總體架構和核心功能,分析了門戶平臺的相關技術,對DIV+CSS、負載均衡、雙機熱備等幾個關鍵技術進行了介紹,總結了信息平臺運行中出現的故障,并給出了處理方法。
[關鍵詞] 信息門戶;DIV+CSS;故障
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 01. 081
[中圖分類號] TP311 [文獻標識碼] A [文章編號] 1673 - 0194(2019)01- 0189- 04
0 前 言
長慶石化公司信息門戶系統建成應用以來,用戶數量和數據量逐年上升,在生產、經營、管理等方面發揮著日益重要的作用。截至2010年6月,主門戶的日訪問量接近800次/日,數據量為200 GB,門戶文檔庫上傳32 400篇 /年,其平均每日RPS為4 800次,高峰段的為1 800次。
隨著應用深入,系統軟件平臺、部分應用功能已不適應業務發展和運行維護要求,出現越來越多的問題,如沒有容災備份、無專用的視頻服務器、部分網頁訪問速度比較慢等。為此需要進行升級改造,于2012年啟動門戶平臺升級工作。
1 方案實施
長慶石化公司企業信息門戶系統是信息技術總體規劃的重要項目,在2009年基于SharePoint 2003技術,進行了門戶的全面改版,但隨著信息技術的進步和門戶系統的深入應用,長慶石化公司開展企業信息門戶系統軟件平臺升級工作,由SharePoint 2003/CMS 2002升級到SharePoint 2010。
在SharePoint 2010應用架構上,底層是操作系統層,包括Windows Server、SQL Server、SharePoint 2010及Office Server 2010產品。如圖1所示。
2 關鍵方案的說明
長慶石化公司信息門戶自2003年建設應用以來,發揮了重要作用。隨著信息技術進步和門戶系統深入應用,為更好地適應集團公司信息化從集中建設向集成應用發展需要,門戶升級工作必不可少。在其升級過程中,新老技術的更替成為此次門戶升級的關鍵。
2.1 CSS+Div技術
長慶石化公司信息平臺從SharePoint 2003 升級到SharePoint 2010 ,主門戶、子門戶以及專題都實現了Div+Css技術。
平臺03版頁面設計采用的是表格布局,其大量冗余的代碼使文檔的體積日益臃腫,可讀性和可維護性也越來越差,浪費了大量的帶寬。Div+Css網頁設計技術由于其嚴格的技術規范和簡潔的代碼, 替代了原有的TABLE技術。用此兩種語言實現同一個效果如圖2所示,可看出DIV+CSS開發速度要比Table快。而且布局更精確,使網站版面布局修改變得更簡單,能夠適應未來多種客戶端需求,節約站點所占空間和站點流量。
2.2 雙機熱備及負載均衡
平臺采用軟件負載均衡的方案。軟件負載均衡通常使用微軟自帶技術,如圖3所示。它被包含在所有版本的Microsoft Windows Server 2008操作系統之中。
負載均衡解決訪問用戶過多時,服務器的承載問題,使用戶訪問速度更快。在網絡中,當眾多工作站同時向同一服務器發出請求或同時訪問同一個文件時,所產生的信息傳輸阻塞現象越來越嚴重。為此在服務器端采用負載均衡這種策略,它能讓多臺服務器或多條鏈路共同承擔一些繁重的計算或I/O任務,從而以較低成本消除網絡瓶頸,避免了單機擁塞或單機故障造成的不良影響,便于擴展,保證服務需要,提高網絡的靈活性和可靠性。而且負載均衡是建立在現有網絡結構之上,提供了一種廉價有效的方法擴展服務器帶寬和增加吞吐量,加強網絡數據處理能力,提高網絡的靈活性和可用性。
平臺采用通過軟件實現雙機熱備的方案,如圖4所示。雙擊熱備解決數據庫通信安全問題,在主數據庫服務器出現異常不能訪問時,可自動切換到備用服務器上,用戶訪問不會受到任何影響。
主從模式是最標準、最簡單的雙機熱備,即是目前通常所說的Active/Standby方式。它使用兩臺服務器,一臺作為主服務器(Active),運行應用系統來提供服務;另一臺作為備機,安裝完全一樣的應用系統,但處于待機狀態(Standby)。當Active服務器出現故障的時候,通過軟件診測(一般是通過心跳診斷)將Standby機器激活,保證應用在短時間內完全恢復正常使用。
3 問題及解決方案
在該平臺試運行期間,某日打開主門戶時出現問題,訪問不正常。如圖5所示。
解決方案:此類問題屬于軟件出錯,在頁面設計各類組件中查找問題,發現是頁面訪問量統計組件出錯,在該組件中讀取鏈接的時候出現空指針,為此修改代碼如下。
代碼修改前:
protected int counter()
{
int num=0;
DataTable pageInfo=ExecTable("select*from[PageInfo]where[SiteID]=36and[PageUrl]="+_webPath+"Defaule.aspx");
SqlConnection conn=GetConn();
if(pageInfo.Row.Count>0)
{
for(int i=0;i { SqlCommand command=new SqlCommand("select count(*)from[AcceingInfoHistory]where[SiteID]=36and[PageID]="+pageInfo.Rows[i]["PageID"].ToString(),conn);
if(conn.State==ConnectionState.Cloed)
{
conn.Open();
}
IDataReader reader=command.ExecuteReader(Command Behavior.SingleRow);
if(reader.Read())
{
num+=(int)reader[0];
}
if(conn.State==ConnectionState.Open)
{
conn.ClOSE();|
}
代碼修改后:
protected int counter()
{
int num=0;
try
{
DataTable pageInfo=ExecTable("selcet*from[PageInfo]where[SiteID]=36and[PageUrl]="+_webPath+"Default.apx");
if(pageInfo.Rows.Count>0)
{
for(int i=0;i { num+=ExecReader("select count(*)from[AccessingInfoHitory]where[SiteID]=36and[PageID]="+pageInfo.Rows[i]["PageID"].ToString()); } } MUN+=ExecReader("elect count(*)from[AcceingInfo]where[SiteID]36and[PageUrI]='"+_webPath+"Detault.aspx'"); DataTable dt01 dChannelCount=ExecTable("SELECT*FROM[01dChannelCount]where ChannelPath'"+_webPath+"'"); if(dt01dChannelCount.Rows.Count>0) { unm+=int.Parse(dt01dChannelCount.Rows[0]["oldcount"].ToString()); } } catch(Exception ex) { //message=ex.Message; num=0; } return num; } 4 總 結 長慶石化公司企業信息門戶對企業內部是管理和查詢日常業務的公共平臺,通過信息門戶,每一個員工都可以隨時與其他成員取得聯系、尋找到能夠提供服務的平臺。門戶以優化信息流和提高管理水平為手段,以提高辦公效率為目的,通過先進的軟件平臺開發,強大的硬件支持,完成對信息流數據和主要相關數據的積累,實現綜合統計、分析,加強過程監控、綜合事務管理和綜合信息管理。 主要參考文獻 [1]朱國昱.數據倉庫與企業信息門戶[N].計算機世界,2000-08-07. [2][英]Olga Londer.Microsoft Windows SharePoint Services 3.0 步步通[M].唐學韜,譯.北京:機械工業出版社,2009. [3]李衛紅,白楊.EIP 的功能與實現技術研究[J].情報科學,2004,22(2):235-238. [4]易繼鍇,侯媛彬.智能控制技術[M].北京:北京工業大學出版社,2007. [5] 董怡松.淺析醫院計算機局域網安全[J].中小企業管理與科技,2011(10):204. [6] 周敏文,譚海文. 淺析我國安全生產信息化建設的現狀與對策[J]. 露天采礦技術,2005(6):36-38.