新四季網

生成預測數據結構的製作方法

2023-06-19 19:16:41

生成預測數據結構的製作方法
【專利摘要】一種用於在應用在網絡連接的數據處理系統中離線操作時為該應用生成預測數據結構的方法,該應用包括具有執行路徑的原始碼,該方法包括以下步驟:確定在應用的原始碼內的退出點;根據退出點確定包括至少一個條件語句的執行路徑;標識至少一個被標識條件語句的一個或者多個分支,並且為每個被標識分支確定預期響應;為每個確定的預期響應根據響應生成數據結構;從退出點沿著原始碼的執行路徑繼續,並且用指向生成的數據結構的指針替換原始碼中的對於資源的每個請求;以及從確定的退出點用指向生成的數據結構的指針執行原始碼。
【專利說明】生成預測數據結構
【技術領域】
[0001]本發明涉及聯網數據處理系統領域。具體而言,本發明涉及一種用於在應用離線操作時生成用於應用的預測數據結構的方法和裝置。
【背景技術】
[0002]網際網路用戶訪問網際網路服務提供者提供的服務用於執行交互、比如個人銀行、在線購物、信息取回或者用於從服務提供者的在線環境內起動其它服務。
[0003]為了訪問在線服務,用戶操作客戶端設備用於向伺服器發送請求以便請求訪問由一個或者多個應用提供的資源。
[0004]伺服器接收對於資源的請求並且向請求客戶端設備返回請求的資源。通常部署超文本傳送協議(HTTP),該協議定義如下手段,在該手段中,客戶端設備跨網際網路與一個或者多個伺服器交互。HTTP是『請求-答覆』協議,在該協議中,客戶端向伺服器發送包含所需資源的URL的請求消息。伺服器查找路徑名並且如果它存在則在答覆中向客戶端發送回資源。HTTP允許內容協商和認證。
[0005]只要客戶端和伺服器可以相互連續通信、即發送對於資源的請求和從伺服器接收回請求的資源,以上類型的交互就良好工作。這一請求答覆交互依賴於跨網絡的開放和連續通信路徑。
[0006]在網絡(無論出於什麼原因)暫時不可用時出現問題。網絡不可用的結果是事務不能完成。經常在這一點,用來請求一個或者多個資源的應用、通常為web瀏覽器移入稱為『離線工作』的操作狀態。當在『離線』模式中工作時,在網頁中嵌入的腳本和/或HTML不能執行,因為軟體需要向伺服器進行調用以便加載進一步數據。
[0007]—種對於以上問題的典型解決方案是高速緩存請求的資源、即網頁。然而這一方式的缺點是資源的高速緩存的副本可能包括『過時』數據、因此產生不正確結果,或者可能由於安全或者私密原因而無高速緩存的版本。

【發明內容】

[0008]從第一方面來看,本發明提供一種用於在應用在網絡連接的數據處理系統中離線操作時為所述應用生成預測數據結構的方法,該應用包括具有執行路徑的原始碼,該方法包括以下步驟:確定在應用的原始碼內的退出點;根據退出點確定包括至少一個條件語句的執行路徑;標識至少一個被標識條件語句的一個或者多個分支,並且為每個被標識分支確定預期響應;為每個確定的預期響應根據響應生成數據結構;從退出點沿著原始碼的執行路徑繼續並且用指向生成的數據結構的指針替換原始碼中的對於資源的每個請求;以及從確定的退出點用指向生成的數據結構的指針執行原始碼。
[0009]優選地,本發明提供一種方法,其中確定預期響應包括用一個或者多個邏輯規則測試條件語句的每個分支以便確定預期響應的步驟。
[0010]優選地,本發明提供一種方法,其中每個邏輯規則包括用於映射到在應用的原始碼中的變量的數據集,並且數據集包括響應於變量的輸入而將在網絡應用的視窗中顯示的數據
[0011]優選地,本發明提供一種方法,其中退出點是原始碼由於確定失去網絡活動而不能執行的代碼行。
[0012]優選地,本發明提供一種方法,其中替換對於資源的請求包括修改在原始碼中標識的對在伺服器上的資源的引用以引用生成的數據結構。
[0013]優選地,本發明提供一種方法,該方法還包括執行具有修改的引用的原始碼。
[0014]優選地,本發明提供一種方法,該方法還包括確定客戶端和伺服器是否被網絡連接,以及響應於肯定確定而向伺服器發送數據分組,並且伺服器從原始碼的、客戶端交接處理的位置繼續執行應用的原始碼。
[0015]優選地,本發明提供一種方法,該方法還包括監視客戶端的對來自伺服器的資源的請求,並且根據請求確定用於在歷史數據存儲庫中存儲的數據結構。
[0016]優選地,本發明提供一種方法,該方法從存儲的數據結構去除任何個人數據。
[0017]從另一方面來看,本發明提供一種用於在應用在網絡連接的數據處理系統中離線操作時為所述應用生成預測數據結構的裝置,該應用包括具有執行路徑的原始碼,該方法包括以下步驟:用於確定在應用的原始碼內的退出點的攔截器部件;用於根據退出點確定包括至少一個條件語句的執行路徑的腳本引擎;用於標識至少一個被標識條件語句的一個或者多個分支並且為每個被標識分支確定預期響應的腳本引擎;用於為每個確定的預期響應根據響應生成數據結構的腳本引擎;用於從退出點沿著原始碼的執行路徑繼續並且用指向生成的數據結構的指針替換原始碼中的對於資源的每個請求的腳本引擎;以及用於從確定的退出點用指向生成的數據結構的指針執行原始碼的構建部件。
[0018]優選地,本發明提供一種裝置,其中確定預期響應包括用一個或者多個邏輯規則測試條件語句的每個分支以便確定預期響應的步驟。
[0019]優選地,本發明提供一種裝置,其中每個邏輯規則包括用於映射到在應用的原始碼中的變量的數據集,並且數據集包括將響應於變量的輸入而在網絡應用的視窗中顯示的數據。
[0020]優選地,本發明提供一種裝置,其中退出點是原始碼由於確定失去網絡活動而不能執行的代碼行。
[0021]優選地,本發明提供一種裝置,其中替換對於資源的請求包括修改在原始碼中標識的對在伺服器上的資源的引用以引用生成的數據結構。
[0022]優選地,本發明提供一種裝置,該裝置還包括執行具有修改的引用的原始碼。
[0023]優選地,本發明提供一種裝置,該裝置還包括:網絡連通性檢測器,用於確定客戶端和伺服器是否被網絡連接並且響應於肯定確定而向伺服器發送數據分組,並且伺服器從原始碼的、客戶端交接處理的位置繼續執行應用的原始碼。
[0024]優選地,本發明提供一種裝置,該裝置還包括:監視部件,用於監視客戶端的對來自伺服器的資源的請求,並且根據請求確定用於在歷史數據存儲庫中存儲的數據結構。
[0025]優選地,本發明提供一種裝置,該裝置還包括從存儲的數據結構去除任何個人數據。
[0026]從另一方面來看,本發明提供一種用於在網絡應用未連接到網絡時測試網絡應用的方法,該網絡應用可操作用於跨網絡與伺服器通信,該應用包括具有執行路徑的原始碼,該方法包括以下步驟:確定在應用的原始碼內的退出點;根據退出點確定包括至少一個條件語句的執行路徑;標識至少一個被標識條件語句的一個或者多個分支並且為每個被標識分支確定預期響應;為每個確定的預期響應根據響應生成數據結構;從退出點沿著原始碼的執行路徑繼續並且用指向生成的數據結構的指針替換原始碼中的對於資源的每個請求;從確定的退出點用指向生成的數據結構的指針執行原始碼。
[0027]從另一方面來看,本發明提供一種包括電腦程式代碼的電腦程式,該電腦程式代碼用於在向計算機系統中加載和執行時執行如以上描述的本發明的所有步驟。
【專利附圖】

【附圖說明】
[0028]現在將參照附圖僅通過示例描述本發明的優選實施例,在附圖中:
[0029]圖1是詳述聯網數據處理環境的框圖,可以在該聯網數據處理環境中實施本發明的優選實施例;
[0030]圖2是詳述數據處理系統的框圖,可以在該數據處理系統中實施本發明的一個優選實施例;
[0031]圖3是詳述根據本發明的優選實施例的離線應用的示例的框圖;
[0032]圖4是描繪根據本發明的優選實施例的預測數據結構部件的框圖;
[0033]圖5是詳述根據本發明的優選實施例的圖4的預測數據結構部件的前瞻數據結構部件的部件的框圖;
[0034]圖6是根據本發明的優選實施例的執行路徑的圖示;
[0035]圖7是詳述根據本發明的優選實施例的圖4的預測數據結構創建器的空數據結構部件的部件的框圖;
[0036]圖8是詳述根據本發明的優選實施例的前瞻數據結構部件的過程步驟的流程圖;並且
[0037]圖9是詳述根據本發明的優選實施例的空數據結構創建器的過程步驟的流程圖。【具體實施方式】
[0038]現在參照各圖,圖1描繪網絡數據處理系統100的圖解表示,可以在該網絡數據處理系統中實施本發明的優選實施例。網絡數據處理系統100包括網絡135,該網絡是用來提供在網絡數據處理系統100內連接在一起的各種設備之間的通信鏈路的介質。網絡135可以包括通信結構、比如有線鏈路(乙太網)、無線通信鏈路或者光纖等。
[0039]在圖1描繪的示例中,伺服器105與存儲裝置130 —起連接到網絡135。伺服器105可以是任何類型的伺服器、例如應用伺服器或者web伺服器等。客戶端設備115也連接到網絡135。這些客戶端115可以例如是個人計算機、行動裝置、手持設備、網絡連接的終端設備或者能夠發送對於資源140的請求並且從網絡連接的伺服器105接收資源140的任何類型的設備。資源140可以採用網頁、信息資源、數據、在線應用及其下層格式、比如標記語言、即HTML文件、XML文件和腳本語言如JavaScript文件、數據文件和淨荷等的形式。客戶端115通常部署網絡應用120、比如web瀏覽器以便請求來自一個或者多個伺服器105的資源140。存儲裝置130存儲用於向請求客戶端115發送的資源。[0040]在各圖中未描繪的另一實施例中,客戶端設備以對等方式連接,並且因此客戶端本身可以變成伺服器。
[0041]網絡數據處理系統100可以包括在各圖中未圖示的附加伺服器、客戶端和其它通
信設備。
[0042]網絡數據處理系統100可以採用具有網絡130的網際網路的形式,這一形式代表網絡和網關的全球匯集,這些網絡和網關使用傳輸控制協議/網際協議(TCP/IP)協議套件以相互通信。類似地,網絡135也可以採用區域網或者廣域網等的形式。圖1旨在於僅作為示例而不是作為對於不同實施例的架構限制。
[0043]圖2圖示數據處理系統200的圖解圖示。數據處理系統200是計算機、比如圖1的伺服器105或者客戶端115的示例。
[0044]數據處理系統200包括中央處理單元265,該中央處理單元具有存儲器205 (RAM和ROM)這一形式的主存儲裝置。存儲器205存儲應用程式作用於或者創建的程序信息和數據。程序信息包括用於數據處理系統200的作業系統代碼和用於在數據處理系統200上運行的應用的應用代碼。次存儲裝置235例如包括光碟存儲裝置和磁碟存儲裝置。也可以從次存儲裝置235存儲和訪問數據和程序信息。
[0045]數據處理系統200包括用於將數據處理系統200對接到網絡135的網絡連接裝置230。數據處理系統200也可以具有其它外部源通信裝置、比如傳真數據機或者電話連接。
[0046]中央處理單元265包括用於輸入文本、圖像、圖形等的作為示例的鍵盤260、滑鼠255、語音輸入250和掃描器245這一形式的輸入。來自中央處理單元265的輸出可以包括顯示裝置210、印表機215、聲音輸出220、視頻輸出225等。應用可以從存儲裝置235或者經由網絡連接230在數據處理系統200上運行。
[0047]在一個優選實施例中,應用代碼包括用於運行網絡應用120的代碼,該網絡應用用於訪問在線應用110、比如wikis、社交聯網站點和通信工具等。為了清楚,網絡應用120是任何可操作用於請求、接收、呈現和遍歷來自網絡135的信息資源140的應用。網絡應用120可以採用在客戶端上運行的瀏覽器應用的形式、但是不限於這樣的應用。為了清楚,術語在線應用旨在於涵蓋任何在客戶端115與伺服器105之間的交互中從網絡135訪問的信息資源140。這一形式的交互可以採用HTTP請求或者其它相似協議的形式。本領域技術人員將認識到在線應用110可以由於一個或者多個資源未從一個或者多個伺服器105可用而離線。因此造成應用110僅部分在線,因為一些資源140可用而一些資源140不可用,這歸因於一個或者多個服務105的選擇性的可用。
[0048]在使用網絡應用120作為用於運行在線應用的平臺時遇到的關鍵問題是在執行在線應用Iio期間失去網絡連通性。因此,在客戶端115訪問要求客戶端的用戶輸入數據的在線應用110並且客戶端釋放與在線應用110的連通性時,客戶端115不再能夠完成事務,並且在線應用在離線模式中操作。請求的資源可以是客戶端115從伺服器105請求的的任何數據項。
[0049]失去連通性的影響經常造成失去數據和失去功能。這造成客戶端115必須退出在線應用110並且在已經恢復與伺服器105的連通性時重試。經常在網絡應用在離線模式中操作時,應用的原始碼仍然不能執行,因為不能向伺服器進行對於被原始碼中的調用請求的資源的HTTP請求。
[0050]圖3是web瀏覽器應用120的示例。Web瀏覽器應用包括菜單300,在該菜單中,用戶可以訪問專屬於web瀏覽器應用120的功能。Web瀏覽器應用也包括導航工具欄305,在該導航工具欄中,用戶可以錄入將訪問的資源的地址(URL)。在這一示例中,用戶已經錄入URL www.pensioncalculator.com。每個URL轉譯成伺服器的資源的位置的IP位址。使用HTTP協議,向請求訪問養老金計算器應用(『資源』)的伺服器發送請求。只要客戶端115和伺服器105處於網絡通信中,伺服器105就可以a)從客戶端115接收請求並且b)向客戶端115發送回請求的資源。如果客戶端115和伺服器105未連接,則網絡應用顯示『404未找到』消息。
[0051]本領域技術人員將認識到接收請求的伺服器105可以是在『一對一』關係中連接到客戶端115、因此可以向客戶端發送回請求的資源的網絡。然而如果伺服器105未保持請求的資源並且請求的資源駐留於第二伺服器105上並且第二伺服器已經失去與伺服器的網絡連通性,則不能滿足客戶端的請求。
[0052]為了解決以上問題並且根據一個優選實施例,圖4描繪預測數據結構部件400。預測數據結構部件400如本領域所知可與網絡應用120操作。預測數據結構部件400可以嵌入於網絡應用120內或者可以作為插件安裝到現有網絡應用120。
[0053]預測數據結構部件400包括用於檢測客戶端115和伺服器105何時不再被網絡連接的邏輯。響應於檢測到失去網絡連通性,預測數據結構部件生成如下數據結構,應用的原始碼需要該數據結構以便原始碼繼續執行並且提供既定功能。創建的數據結構是如下數據結構的副本,該副本在伺服器105和客戶端115通過網絡135通信的情況下本來應由原始碼創建。預測數據結構部件400確定原始碼需要什麼資源以便原始碼執行和完成。通過預測需要哪些數據結構,預測數據結構部件400可以創建數據結構並且修改對伺服器側資源的原始碼引用以指向在客戶端115上存儲的創建的數據結構。因此,在已經在原始碼中修改原始碼引用之後,原始碼可以沿著它的執行路徑繼續並且執行如同它被網絡連接一樣。因此,對於用戶來說,表現的如同客戶端115和伺服器105仍然被網絡連接一樣。
[0054]根據第一實施例,位於客戶端115上的數據連通性檢測器部件415連續監視對於資源140的HTTP請求。在檢測到客戶端115請求已經超時或者客戶端115接收HTTP404錯誤代碼時,數據連通性檢測器部件415向預測數據結構部件400發送消息。
[0055]預測數據結構部件400包括多個部件,這些部件相互交互以便向離線應用提供進行中的功能、即因此給予應用在線的印象。
[0056]預測數據結構部件400運用兩種技術以實現這一點。一種是『空』數據結構創建器410,而另一種是『前瞻』數據結構創建器405。兩個預測數據結構部件405、410的目的是在已經在客戶端115與伺服器105之間失去連通性時通過重建離線應用需要的數據結構來提供進行中的功能。
[0057]參照圖5、6和8,前瞻數據結構創建器部件405經由消息接收器部件500接收通知失去網絡連通性的消息(步驟800)。這一消息可以採用『資源故障』消息、比如HTTP404響應的形式。
[0058]攔截器部件505訪問和攔截在客戶端115上運行的應用110的原始碼。攔截器部件505通過確定邏輯已經在執行路徑中何處請求網絡(例如哪個具體代碼行)來開始。這一點稱為『退出點』 615 (步驟805),因為執行流程可能由於缺乏網絡連通性而不再能夠繼續。執行路徑是如下順序,應用的原始碼行按照該順序執行以便提供在線應用的功能。例如網絡應用120發送對於訪問www.pensioncalculator.com的請求。伺服器105取讀請求的資源140並且向客戶端115發送資源。客戶端115接收資源140,並且網絡應用120顯示需要用戶的數據輸入的問題(請錄入你的性別)。用戶錄入他們的性別『女性』,並且執行路徑規定基於響應『女性』應當向用戶呈現具體問題集。如果在這一點在客戶端115與伺服器105之間失去執行路徑網絡連通性,則這稱為『退出點』。
[0059]在執行路徑中的退出點的位置,攔截器部件505修改並且向存儲器存儲庫中複製原始碼並且向腳本引擎510發送調用。腳本引擎510與解析部件515組合解析從在退出點之前的第一個標識的數據結構開始的在存儲器中存儲的原始碼。這是因為腳本引擎必須標識a)什麼是正在向用戶顯示的當前數據結構和b)數據結構需要按照用戶輸入而遵循的執行路徑。腳本引擎510通過標識在原始碼中的第一條件語句(步驟810)來開始。條件語句可以採用「如果這樣,則……;否則……(if this, then else)」的形式,例如如果X的值大於Y的值,則執行具體動作、基於肯定確定來執行動作等。
[0060]在標識條件語句、比如『IF』語句時,腳本引擎生成數據元,該數據元將滿足IF語句的分支(步驟815)。為了進一步說明這一概念,將使用稱為『養老金計算器』的在線應用的示例。
[0061]在用戶起動稱為『養老金計算器』的在線應用時,可以向用戶呈現『主頁』。主頁提供關於在線應用的細節和如 下信息,在線應用需要來自用戶的該信息以便計算最終計算。在這一時間點,從其訪問在線應用的客戶端115具有與伺服器105的網絡連通性。
[0062]用戶選擇主頁上的用於起動養老金計算器的選項。向伺服器105發送對於取讀將在客戶端115上向用戶顯示的下一頁面的HTTP請求。攔截器部件505在後臺中連續工作從而監視在客戶端115與伺服器105之間的網絡連通性的狀態。
[0063]只要有網絡連通性,客戶端115將接收請求的資源140,並且伺服器105將接收對於資源140的請求並且從資源140在網絡135中取讀資源140,無論其位於哪裡。如果在這一點,攔截器部件505標識無連通性,則向腳本引擎510發送消息,該消息指令它開始解析離線應用110的原始碼。
[0064]作為示例,如果將向用戶顯示的下一頁面是指令用戶選擇他們的性別的『下拉』框,則用戶通常將選擇下拉框並且錄入他們的性別,並且將向伺服器105發送請求取讀『個人.性別』數據集的請求。然而如果無網絡連通性,則伺服器105未接收對於『個人.性別』數據集的請求,不能滿足客戶端的請求,並且請求超時。
[0065]因此,根據本發明的一個實施例,腳本引擎510標識邏輯流程中的退出點並且備註需要『個人.性別』數據集。
[0066]腳本引擎510生成數據元,這些數據元將滿足條件語句以便生成數據結構如同客戶端和伺服器被網絡連接一樣。腳本引擎510與邏輯部件520接口,該邏輯部件本身包括規則這一形式的條件語句以便測試和驗證條件語句的每個分支。通過測試和驗證具有變量的條件語句的每個分支,可以生成數據結構(即確定預期響應)。例如,如果條件語句是『如果個人年齡=>65,則顯示數據集『X』 』。
[0067]邏輯部件515測試和驗證條件語句以標識數據集『X』(預期響應)。一旦驗證,變量(variable)數據集『X』就變成生成的數據結構的部分。通過修改應用的原始碼,使用生成的數據結構而不是必須請求來自與客戶端115無網絡連通性的伺服器105的資源。因此,腳本引擎510測試和驗證條件語句的每個可能分支,例如如果有五個可能執行路徑,每個執行路徑具有執行原始碼,則將有五個數據結構集。本領域技術人員將認識五個數據結構集中的每個數據結構集可以具有五個數據集中的每個數據集公共的重疊數據。
[0068]又一示例如下:
[0069]數據結構
[0070]個人={性別:?--}
[0071]條件語句可以陳述如下:
[0072]如果(個人.性別====「女性」 &&個人.年齡>60) {
[0073]呈現養老金問題O;
[0074]}否則如果(個人.性別====「男性」 &&個人.年齡>65) {
[0075]呈現養老金問題O;
[0076]}
[0077]腳本引擎510與邏輯部件515交互以創建和標識條件語句的每個可能響應(步驟815)。例如,如果性別為女性並且個人的年齡大於年齡六十歲,則呈現具體養老金問題,這些問題涉及年齡大於六十歲的女性(圖6的605、610)。取條件語句的不同分支,例如如果性別是男性並且個人的年齡大於 六十五歲,則呈現具體養老金問題,這些問題涉及年齡大於六十五歲的男性(圖6的615、620)。
[0078]在完成創建條件語句的答案的每一個可能排列時,腳本引擎510構造在線應用110為了繼續操作而需要的整個數據結構(步驟820)。注意在這一點,已經生成、但是尚未執行數據結構。
[0079]攔截器部件505將消息修改成『成功』消息以便原始碼繼續執行(步驟825)。原始碼可以採用例如XML、HTML或者JavaScript等的形式。
[0080]解析部件515解析腳本引擎510已經創建的整個數據結構並且向用戶呈現相關數據結構。例如:
[0081]個人
[0082]錄入性別
[0083]錄入年齡
[0084]根據用戶的答案,解析部件510取回適當數據集並且向用戶呈現適當數據集用於錄入進一步信息。用戶的輸入的答案中的每個答案作為變量存儲於數據存儲庫525中。在向用戶呈現每個數據結構時,用戶錄入他們的答案,並且答案中的每個答案定義接著向用戶呈現哪個數據結構、因此定義將遵循哪個執行路徑。構建部件530沿著這一相同執行路徑執行從而向問題中的每個問題填充用戶輸入的變量,並且離線應用繼續以如同它離線一樣的相同方式執行(步驟830 )。
[0085]數據存儲庫525存儲用戶向應用10中輸入的數據。數據映射到原始碼中的變量。數據存儲庫525包括映射以便將從 用戶接收的數據映射到原始碼中列舉的變量以便標識哪個數據與原始碼中的變量關聯。因此,從確定的退出點用指向如下指針的指針執行原始碼,該指針指向生成的數據結構。[0086]在另一實施例中,概率部件535確定是否將在執行路徑內到達特定原始碼塊的概率。例如基於用戶對特定問題的響應,可以認為不可能到達條件語句的特定分支。在這一場景中,如果不可能到達代碼塊,則用戶將無需錄入數據。因此,用戶將僅需輸入用於最可能執行的代碼塊的數據。
[0087]在一個備選實施例中並且參照圖7和9,空數據結構410部件監視用戶的在線活動以便構建用於在攔截器部件檢測到在客戶端與伺服器之間失去網絡連通性時執行的數據結構的歷史記錄。
[0088]在這一示例實施例中,監視部件705監視用戶的在線活動並且記錄何時訪問在線應用110。在數據存儲庫720中存儲標識信息、比如在線應用110的URL、在線應用110的名稱、版本號和訪問日期(步驟900)。這一信息用來在檢測到無網絡連通性的情況下確定是否之前已經訪問在線應用110。
[0089]資源取回部件725監視用戶與在線應用110的交互並且檢查原始碼以標識向用戶呈現的或者用戶與之交互的每個數據結構。同前,監視部件監視每個條件語句並且在存儲器中暫時存儲在返回什麼數據集方面對條件語句中的每個條件語句的響應(步驟905)。
[0090]並行地,腳本引擎715解析數據結構和輸入數據並且從數據結構去除輸入數據並且在數據存儲庫730中存儲空數據結構(步驟915)。
[0091]因此,數據存儲庫730包括空數據結構的存儲庫以及指向數據結構中的依賴空數據結構的連結和與這些依賴空數據結構的交互。
[0092]在一個備選實施例中,也存儲用戶的輸入數據。
[0093]本領域技術人員將認識在時間段內增進空數據結構的數據存儲庫的創建。這是因為用戶僅可以使用組成在線應用的功能集的子集。因此,如果在線應用包括功能集Fl至Fn,則在第一交互時,用戶僅可以使用子集Fl和F2。因此,在數據存儲庫中存儲子集Fl和F2的空數據結構。在後續交互時,可以訪問相同子集或者可以訪問其它先前未訪問的子集、例如F7至F12。在數據存儲庫中存儲這些新子集。
[0094]在用戶在以後時間訪問在線應用110時,攔截器部件710不斷監視在客戶端與伺服器之間的網絡連通性的狀態。在攔截器部件710檢測到已經失去網絡連通性時,攔截器部件710向腳本引擎715發送用於開始表現和生成應用110的預期執行流程的消息(步驟925)。腳本引擎710通過檢查URL和其它標識信息來確定用戶以前是否已經訪問在線應用110。
[0095]腳本引擎715使用數據存儲庫730中存儲的空數據結構來確定用戶在執行流程中的哪個點與伺服器105失去網絡連通性(步驟935)並且通過執行原始碼並且用生成的數據結構填充執行原始碼來重建執行路徑(步驟940至950)。
[0096]在以上示例中的任一示例中,在網絡連通性檢測器部件檢測到已經恢復網絡連通性時,向腳本引擎發送用於創建數據分組的消息,該數據分組包括信息、比如處理已經在執行路徑中到達哪一點。伺服器能夠使用這一信息以繼續執行原始碼直至它的結束。
[0097]預測數據結構部件也可以用來在向聯網數據處理系統中部署應用之前測試基於web的應用。預測數據結構部件能夠生成原始碼為了在應用未被部署網絡並且不能從網絡連接的伺服器取讀請求的資源時繼續沿著執行路徑執行而需要的數據結構。因此,可以在離線環境中驗證和測試應用為了完成請求的事務而需要完成的事務序列。在這一示例中,可以生成報告以向開發者通知由於在原始碼中的引用中的錯誤而不能完成的執行路徑。
[0098]本發明可以採用全硬體實施例、全軟體實施例或者包含硬體和軟體單元二者的實施例的形式。在一個優選實施例中,在包括但不限於固件、常駐軟體、微代碼等的軟體中實施本發明。
[0099]本發明可以採用從計算機可用或者計算機可讀介質可訪問的電腦程式產品的形式,該計算機可用或者計算機可讀介質提供用於由計算機或者任何指令執行系統使用或者與計算機或者任何指令執行系統結合使用的程序代碼。出於本說明書的目的,計算機可用或者計算機可讀介質可以是任何可以包含、存儲、傳達、傳播或者傳送用於由指令執行系統、裝置或者設備使用或者與該指令執行系統、裝置或者設備結合使用的程序的裝置。
[0100]介質可以是任何電子、磁、光、電磁、紅外線或者半導體系統(或者裝置或者設備)或者傳播介質。計算機可讀介質的示例包括半導體或者固態存儲器、磁帶、可去除計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁碟和光碟。光碟的當前示例包括緊緻盤只讀存儲器(CD-ROM)、緊緻盤讀/寫(CD-R/W)和DVD。
[0101]可以對前文進行改進和修改而未脫離本發明的範圍。
【權利要求】
1.一種用於在應用在網絡連接的數據處理系統中離線操作時為所述應用生成預測數據結構的方法,所述應用包括具有執行路徑的原始碼,所述方法包括以下步驟: 確定在所述應用的所述原始碼內的退出點; 根據所述退出點確定包括至少一個條件語句的執行路徑; 標識所述至少一個被標識條件語句的一個或者多個分支,並且為每個被標識分支確定預期響應; 為每個確定的預期響應根據所述響應生成數據結構; 從所述退出點沿著所述原始碼的所述執行路徑繼續,並且用指向生成的所述數據結構的指針替換所述原始碼中的對於資源的每個請求;以及 從所述確定的退出點用指向生成的所述數據結構的所述指針執行所述原始碼。
2.如權利要求1所述的方法,其中確定預期響應包括用一個或者多個邏輯規則測試所述條件語句的每個分支以便確定所述預期響應的步驟。
3.如權利要求2所述的方法,其中每個邏輯規則包括用於映射到在所述應用的所述原始碼中的變量的數據集,並且所述數據集包括響應於所述變量的所述輸入而將在所述網絡應用的視窗中顯示的數據。
4.如權利要求1所述的方法,其中所述退出點是所述原始碼由於確定失去網絡活動而不能執行的代碼行。
5.如權利要求1所述的方法,其中替換對於資源的請求包括修改在所述原始碼中標識的對在所述伺服器上的資源的引用,以引用生成的所述數據結構。
6.如權利要求5所述的方法,還包括執行具有所述修改的引用的所述原始碼。
7.如權利要求1所述的方法,還包括確定所述客戶端和所述伺服器是否被網絡連接,以及響應於肯定確定而向所述伺服器發送數據分組,並且所述伺服器從所述原始碼的、所述客戶端交接處理的位置繼續執行所述應用的所述原始碼。
8.如權利要求1所述的方法,還包括監視客戶端的對來自伺服器的資源的請求,並且根據所述請求確定用於在歷史數據存儲庫中存儲的數據結構。
9.如權利要求7所述的方法,還包括從所述存儲的數據結構去除任何個人數據。
10.一種用於在應用在網絡連接的數據處理系統中離線操作時為所述應用生成預測數據結構的裝置,所述應用包括具有執行路徑的原始碼,所述方法包括以下步驟: 用於確定在所述應用的所述原始碼內的退出點的攔截器部件; 用於根據所述退出點確定包括至少一個條件語句的執行路徑的腳本引擎; 用於標識所述至少一個被標識條件語句的一個或者多個分支並且為每個被標識分支確定預期響應的腳本引擎; 用於為每個確定的預期響應根據所述響應生成數據結構的腳本引擎; 用於從所述退出點沿著所述原始碼的所述執行路徑繼續、並且用指向生成的所述數據結構的指針替換所述原始碼中的對於資源的每個請求的腳本引擎;以及 用於從所述確定的退出點用指向生成的所述數據結構的所述指針執行所述原始碼的構建部件。
11.如權利要求10所述的裝置,其中確定預期響應包括用一個或者多個邏輯規則測試所述條件語句的每個分支以便確定所述預期響應的步驟。
12.如權利要求11所述的裝置,其中每個邏輯規則包括用於映射到在所述應用的所述原始碼中的變量的數據集,並且所述數據集包括將響應於所述變量的所述輸入而在所述網絡應用的視窗中顯示的數據。
13.如權利要求10所述的裝置,其中所述退出點是所述原始碼由於確定失去網絡活動而不能執行的代碼行。
14.如權利要求10所述的裝置,其中替換對於資源的請求包括修改在所述原始碼中標識的對在所述伺服器上的資源的引用,以引用生成的所述數據結構。
15.如權利要求14所述的裝置,還包括執行具有所述修改的引用的所述原始碼。
16.如權利要求10所述的裝置,還包括:網絡連通性檢測器,用於確定所述客戶端和所述伺服器是否被網絡連接,以及響應於肯定確定而向所述伺服器發送數據分組,並且所述伺服器從所述原始碼的、所述客戶端交接處理的位置繼續執行所述應用的所述原始碼。
17.如權利要求10所述的裝置,還包括:監視部件,用於監視客戶端的對來自伺服器的資源的請求,並且根據所述請求確定用於在歷史數據存儲庫中存儲的數據結構。
18.如權利要求16所述的裝置,還包括從所述存儲的數據結構去除任何個人數據。
19.一種用於在網絡應用未連接到網絡時測試所述網絡應用的方法,所述網絡應用可操作用於跨網絡與伺服器通信,所述應用包括具有執行路徑的原始碼,所述方法包括以下步驟: 確定在所述應用的所述原始碼內的退出點; 根據所述退出點確定包括至少一個條件語句的執行路徑; 標識所述至少一個被標識條件語句的一個或者多個分支,並且為每個被標識分支確定預期響應;` 為每個確定的預期響應根據所述響應生成數據結構; 從所述退出點沿著所述原始碼的所述執行路徑繼續,並且用指向生成的所述數據結構的指針替換所述原始碼中的對於資源的每個請求; 從所述確定的退出點用指向生成的所述數據結構的所述指針執行所述原始碼。
20.一種包括電腦程式代碼的電腦程式,所述電腦程式代碼用於在向計算機系統中加載和執行時執行根據權利要求1至9中的任一權利要求所述的方法的所有步驟。
【文檔編號】G06F17/30GK103874998SQ201280050218
【公開日】2014年6月18日 申請日期:2012年10月8日 優先權日:2011年10月12日
【發明者】B·J·弗萊徹 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀