提供云字庫服務的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種提供云字庫服務的方法和系統(tǒng),涉及互聯(lián)網字庫應用【技術領域】,解決了現(xiàn)有技術中終端下載字庫耗費大量流量的問題。所述提供云字庫服務的方法包括:接口服務器接收客戶端的缺字請求,將所述缺字請求發(fā)送給云字庫服務器;云字庫服務器根據(jù)所述缺字請求在緩存字庫中查找對應的字庫;云字庫服務器根據(jù)所述缺字請求選擇字庫拆分與合并策略;云字庫服務器根據(jù)所述缺字請求和字庫拆分與合并策略,對查找到的字庫進行字庫拆分或合并操作,形成目標小字庫;云字庫服務器通過接口服務器將所述目標小字庫發(fā)送給客戶端。本發(fā)明適用于通過云平臺為用戶終端提供字庫服務。
【專利說明】提供云字庫服務的方法和系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及互聯(lián)網字庫應用【技術領域】,尤其涉及一種提供云字庫服務的方法和系統(tǒng)。
【背景技術】
[0002]隨著個性化及商業(yè)化的發(fā)展,界面設計人員和普通用戶不再滿足于操作系統(tǒng)提供的默認字體,而是向藝術化、個性化發(fā)展。字庫作為字體的承載媒介,近年來隨著字庫制作的技術難度的降低,越來越多的個人參與到字庫制作中,使得字庫的種類和數(shù)量呈指數(shù)級增長。字庫是字符編碼及字形的集合,主要存儲的是字形信息,英文字庫主要包含字母及常用的各種符號,所以字庫文件較小。漢字字庫需要包含常用的漢字字形及字符,因此漢字字庫包含約6000多個漢字字形,通常漢字字庫是英文字庫幾十倍大。
[0003]在傳統(tǒng)技術中,為了使用和顯示不同字庫的效果,用戶需要在本地安裝相應的字庫。由于漢字字庫所占用的空間較大,對于終端的存儲和處理能力提出了相當大的挑戰(zhàn),尤其是在移動終端上,如智能手機、平板電腦等,由于其存儲空間、網絡資源和處理能力的限制,使得這些移動終端中難以安裝和使用多種多樣的漢字字庫。在移動互聯(lián)網時代,這極大的限制了字庫的應用和進一步發(fā)展。而移動互聯(lián)網是當今互聯(lián)網的重要入口,各類網站、廣告商等為了推廣自己的產品,經常使用美化的字體。但是因為在終端設備上很少安裝相應的字庫,大多數(shù)網站選擇使用圖片的方式進行顯示。而使用圖片的方式造成的不利影響也是顯而易見的,對于移動互聯(lián)網來講,流量是一個重要的指標,而圖片文件較大,會消耗較多的流量資源;其次,目前的搜索引擎主要是基于文本的,使用圖片作為網站的關鍵詞會使得爬蟲爬取不到這些關鍵信息,不利于網站的推廣。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下技術問題:
[0005]由于漢字字庫文件較大,終端下載整個漢字字庫的話,不僅會浪費大量的流量,而且還會使得網站服務器承擔較大的數(shù)據(jù)傳輸壓力。
【發(fā)明內容】
[0006]本發(fā)明提供的一種提供云字庫服務的方法和系統(tǒng),能夠通過云平臺為終端提供云字庫服務,從而能夠節(jié)省終端的流量,降低網站服務器的數(shù)據(jù)傳輸壓力。
[0007]一方面,本發(fā)明提供一種提供云字庫服務的方法,包括:
[0008]接口服務器接收客戶端的缺字請求,將所述缺字請求發(fā)送給云字庫服務器;
[0009]云字庫服務器根據(jù)所述缺字請求在緩存字庫中查找對應的字庫;
[0010]云字庫服務器根據(jù)所述缺字請求選擇字庫拆分與合并策略;
[0011]云字庫服務器根據(jù)所述缺字請求和字庫拆分與合并策略,對查找到的字庫進行字庫拆分或合并操作,形成目標小字庫;
[0012]云字庫服務器通過接口服務器將所述目標小字庫發(fā)送給客戶端。
[0013]另一方面,本發(fā)明提供一種提供云字庫服務的系統(tǒng),包括:
[0014]接口服務模塊,用于接收客戶端的缺字請求,將所述缺字請求發(fā)送給字庫查詢模塊;
[0015]字庫查詢模塊,用于根據(jù)所述缺字請求在字庫緩存模塊中查詢對應的字庫;
[0016]字庫緩存模塊,用于對用戶常用的字庫進行存儲;
[0017]字庫拆分與合并模塊,用于根據(jù)所述缺字請求選擇字庫拆分與合并策略,根據(jù)所述缺字請求和字庫拆分與合并策略,對所述字庫查詢模塊查詢到的字庫進行字庫拆分或合并操作,形成目標小字庫,并通過所述接口服務模塊將所述目標小字庫發(fā)送給客戶端。
[0018]本發(fā)明提供的提供云字庫服務的方法和系統(tǒng),借助于云計算對字庫進行存儲和管理,借助于小字庫技術實現(xiàn)客戶端對字庫按需下載和使用,通過相應的軟件可以顯示和瀏覽在本地沒有安裝的字庫,從而實現(xiàn)通過云平臺為客戶端提供云字庫服務,能夠節(jié)省終端的流量,降低網站服務器的數(shù)據(jù)傳輸壓力。
【專利附圖】
【附圖說明】
[0019]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0020]圖1為本發(fā)明實施例提供云字庫服務的方法流程圖;
[0021]圖2為本發(fā)明實施例提供云字庫服務的系統(tǒng)架構圖;
[0022]圖3為本發(fā)明實施例提供云字庫服務的系統(tǒng)結構示意圖;
[0023]圖4為本發(fā)明實施例提供云字庫服務的系統(tǒng)的數(shù)據(jù)流圖;
[0024]圖5為基于本地軟件提供云字庫服務的業(yè)務邏輯圖;
[0025]圖6為基于瀏覽器提供云字庫服務的業(yè)務邏輯圖;
[0026]圖7為通過本地軟件使用云字庫服務的頁面效果圖;
[0027]圖8為通過電腦瀏覽器訪問使用云字庫服務的頁面效果圖;
[0028]圖9為通過安卓手機瀏覽器訪問使用云字庫服務的頁面效果圖;
[0029]圖10為通過1S設備瀏覽器訪問使用云字庫服務的頁面效果圖;
[0030]圖11為通過平板電腦瀏覽器訪問使用云字庫服務的頁面效果圖。
【具體實施方式】
[0031]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0032]本發(fā)明實施例中引入了小字庫的概念,小字庫是指字庫文件中僅包含較少的字形數(shù)據(jù),小字庫文件的大小根據(jù)所包含字形的數(shù)量不同而有所區(qū)別,如包含100漢字字符字形數(shù)據(jù)的小字庫文件大小約為120KB。單字字庫是指僅包含一個字符字形數(shù)據(jù)的小字庫,單字字庫的文件大小一般為15KB。
[0033]云計算是一種基于互聯(lián)網的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計算機和其他設備。本發(fā)明實施例基于虛擬化技術建立數(shù)據(jù)中心,借助于Hadoop搭建大數(shù)據(jù)平臺,通過字庫操作組件實現(xiàn)對字庫的操作,并通過Webservice對外提供字庫服務。云字庫就是在這種環(huán)境下提出和實現(xiàn)的,借助于云計算平臺,通過小字庫技術將漢字字庫在互聯(lián)網中更好的應用。
[0034]本發(fā)明實施例提供一種提供云字庫服務的方法,如圖1所示,所述方法包括:
[0035]S11、接口服務器接收客戶端的缺字請求,將所述缺字請求發(fā)送給云字庫服務器;
[0036]S12、云字庫服務器根據(jù)所述缺字請求在緩存字庫中查找對應的字庫;
[0037]S13、云字庫服務器根據(jù)所述缺字請求選擇字庫拆分與合并策略;
[0038]S14、云字庫服務器根據(jù)所述缺字請求和字庫拆分與合并策略,對查找到的字庫進行字庫拆分或合并操作,形成目標小字庫;
[0039]S15、云字庫服務器通過接口服務器將所述目標小字庫發(fā)送給客戶端。
[0040]本發(fā)明實施例提供云字庫服務的方法,借助于云計算對字庫進行存儲和管理,借助于小字庫技術實現(xiàn)客戶端對字庫按需下載和使用,通過相應的軟件可以顯示和瀏覽在本地沒有安裝的字庫,從而實現(xiàn)通過云平臺為客戶端提供云字庫服務,能夠節(jié)省終端的流量,降低網站服務器的數(shù)據(jù)傳輸壓力。
[0041]具體地,所述云字庫服務器根據(jù)所述缺字請求在緩存字庫中查詢對應的字庫包括:云字庫服務器根據(jù)所述缺字請求中的字庫名稱和字符編碼在緩存字庫中查詢對應的字庫。
[0042]具體地,所述云字庫服務器根據(jù)所述缺字請求選擇字庫拆分與合并策略包括:云字庫服務器根據(jù)所述缺字請求中的缺字數(shù)量選擇字庫拆分與合并策略。
[0043]具體地,所述云字庫服務器根據(jù)所述缺字請求中的缺字數(shù)量選擇字庫拆分與合并策略包括:若同一字體的缺字數(shù)量不少于設定值,則選擇從原始字庫中拆分出小字庫;若同一字體的缺字數(shù)量少于設定值,則選擇對單字字庫進行合并形成小字庫。
[0044]進一步地,若所述缺字請求來自網站服務器,則在所述形成目標小字庫之后,還包括:
[0045]云字庫服務器將所述目標小字庫轉換為瀏覽器支持的字庫格式。
[0046]進一步地,所述提供云字庫服務的方法還包括:
[0047]云字庫服務器統(tǒng)計一段時間內請求頻率最高的字庫和最新請求的字庫,根據(jù)統(tǒng)計結果對緩存字庫進行更新。
[0048]本發(fā)明實施例提供一種提供云字庫服務的系統(tǒng),基于云計算技術對字庫數(shù)據(jù)進行存儲和處理,實現(xiàn)云字庫服務。如圖2所示,所述提供云字庫服務的系統(tǒng)包括5個層次,分別是硬件層、虛擬層、引擎層、組件層和接口層。下面分別介紹每個層次的主要功能:
[0049]硬件層:硬件層由各類硬件資源和基礎軟件構成。硬件資源包括計算資源、存儲資源和網絡資源等;基礎軟件包括CentOS (Community Enterprise Operating System,社區(qū)企業(yè)操作系統(tǒng))和SSH(SeCure Shell,安全外殼)協(xié)議等通信軟件。
[0050]虛擬層:虛擬層在操作系統(tǒng)軟件的基礎上,基于Openstack搭建,Openstack通過虛擬化技術,完成對底層硬件資源的整合,將分布在不同機器上的存儲、計算和網絡資源整合,形成統(tǒng)一的資源池。Openstack同時提供虛擬機集群及集群管理技術,能夠根據(jù)需求定制虛擬機集群,通過可視化的界面管理虛擬機,包括虛擬機的配置、數(shù)量等,并且可以實時監(jiān)控虛擬機的運行狀態(tài)。
[0051]引擎層:引擎層通過在虛擬化集群上部署Hadoop實現(xiàn),主要包括HDFS (HadoopDistributed File System, Hadoop 分布式文件系統(tǒng))、Hbase 列式數(shù)據(jù)庫、MapReduce 并行處理架構、Spark實時計算架構,向上層提供存儲和計算支撐;
[0052]組件層:組件層是該系統(tǒng)實現(xiàn)業(yè)務邏輯的重要支撐,包括字庫查詢組件、字庫拆分組件、字庫合并組件和字庫格式轉換組件。字庫查詢組件實現(xiàn)根據(jù)字庫名對字庫的快速查詢操作,包括對HDFS文件系統(tǒng)中的原始字庫及HBase中大量的單字字庫的查詢;字庫拆分組件實現(xiàn)對字庫的拆分功能,根據(jù)輸入的參數(shù),利用指定的字庫拆分出包含相應字形數(shù)據(jù)的小字庫;字庫合并組件實現(xiàn)對小字庫的合并操作,可以指定兩個或多個小字庫合并成一個較大的小字庫;字庫格式轉換組件實現(xiàn)對字庫的格式轉換操作,由于不同的軟件支持不同的字庫格式,如IE瀏覽器支持EOT (Embedded Open Type,嵌入式開放)字體格式的字庫,Windows記事本支持Truetype格式的字庫;字庫格式轉換組件根據(jù)請求字庫格式的類型對字庫進行格式轉換;
[0053]接口層:接口層是該系統(tǒng)對外提供服務的窗口,實現(xiàn)客戶端免安裝顯示和瀏覽云服務器上的字庫。接口層基于云平臺實現(xiàn)Web服務集群,利用Tomcat和Axis2實現(xiàn)可負載均衡的webservice服務集群;通過Web集群發(fā)布云字庫服務,提供基于云計算的字庫應用服務。所述Web服務器基于虛擬化集群搭建,通過Nginx+Tomcat的方式實現(xiàn)集群的負載均衡,并通過在Tomcat中部署Axis2實現(xiàn)webservice平臺的搭建。
[0054]本發(fā)明實施例提供一種提供云字庫服務的系統(tǒng),如圖3所示,所述系統(tǒng)包括:
[0055]接口服務模塊31,用于接收客戶端的缺字請求,將所述缺字請求發(fā)送給字庫查詢模塊32 ;其中,接口服務模塊31還可以用于根據(jù)接口服務器的運行狀態(tài)動態(tài)地分配給較為空閑的接口服務器;
[0056]字庫查詢模塊32,用于根據(jù)所述缺字請求在字庫緩存模塊33中查詢對應的字庫;
[0057]字庫緩存模塊33,用于對用戶常用的字庫進行存儲;字庫緩存模塊33是利用內存數(shù)據(jù)庫將部分常用的字庫存儲在內存中,內存的訪問速度要遠遠高于硬盤的訪問速度,因此通過緩存的方式可以提高字庫查找的速度。
[0058]字庫拆分與合并模塊34,用于根據(jù)所述缺字請求選擇字庫拆分與合并策略,根據(jù)所述缺字請求和字庫拆分與合并策略,對所述字庫查詢模塊32查詢到的字庫進行字庫拆分或合并操作,形成目標小字庫,并通過所述接口服務模塊31將所述目標小字庫發(fā)送給客戶端。
[0059]本發(fā)明實施例提供云字庫服務的系統(tǒng),借助于云計算對字庫進行存儲和管理,借助于小字庫技術實現(xiàn)客戶端對字庫按需下載和使用,通過相應的軟件可以顯示和瀏覽在本地沒有安裝的字庫,從而實現(xiàn)通過云平臺為客戶端提供云字庫服務,能夠節(jié)省終端的流量,降低網站服務器的數(shù)據(jù)傳輸壓力。
[0060]具體地,所述字庫查詢模塊32,還用于根據(jù)所述缺字請求中的字庫名稱和字符編碼在字庫緩存模塊33中查詢對應的字庫。
[0061]具體地,所述字庫拆分與合并模塊34,還用于根據(jù)所述缺字請求中的缺字數(shù)量選擇字庫拆分與合并策略。
[0062]具體地,所述字庫拆分與合并模塊34,還用于當同一字體的缺字數(shù)量不少于設定值時,選擇從原始字庫中拆分出小字庫;當同一字體的缺字數(shù)量少于設定值時,選擇對單字字庫進行合并形成小字庫。
[0063]對于一般的漢字字庫來講,當缺字數(shù)量少于10個時,用對應的單字字庫進行合并的效率要高于從原始字庫拆分的效率;當缺字數(shù)量不少于10個時,字庫拆分的效率更高。因此系統(tǒng)會根據(jù)用戶請求的字符數(shù)判斷是對傳統(tǒng)字庫進行拆分還是從單子字庫進行合并。
[0064]進一步地,如圖3所示,所述提供云字庫服務的系統(tǒng)還包括:
[0065]字庫格式轉換模塊35,用于當所述缺字請求來自網站服務器時,將所述目標小字庫轉換為瀏覽器支持的字庫格式。
[0066]字庫格式轉換模塊35可以實現(xiàn)從Truetype字庫到EOT字體、WOFF (Web Open FontFormat,Web開放字體格式)等格式的字庫的轉換;在用戶請求信息中包含請求的客戶端信息,如果是普通的軟件客戶端,直接返回Truetype格式的字庫即可;如果請求來自瀏覽器,則需要根據(jù)瀏覽器的類型和版本號確定字庫格式,并使用字庫格式轉換組件對字庫進行格式轉換。
[0067]具體地,所述字庫緩存模塊33,還用于根據(jù)一段時間內請求頻率最高的字庫和最新請求的字庫,對所存儲的字庫進行更新。由于緩存字庫的文件會根據(jù)用戶請求的情況發(fā)生變化,系統(tǒng)會統(tǒng)計一段時間內請求頻率最高的一部分字庫和部分最新請求的字庫,并根據(jù)統(tǒng)計結果對緩存字庫進行更新。
[0068]圖4展示了所述提供云字庫服務的系統(tǒng)的數(shù)據(jù)流圖。如圖4所示,該系統(tǒng)支持各種類型的客戶端,包括PC機、智能手機、平板電腦等,只需要在客戶端安裝相應的軟件,客戶端或瀏覽器就可以通過服務接口調用云字庫服務。
[0069]下面以客戶端本地軟件為例,說明提供云字庫服務的方法的實現(xiàn)過程。圖5為基于本地軟件提供云字庫服務的業(yè)務邏輯圖。
[0070]如圖5所示,基于本地軟件提供云字庫服務的方法流程如下:
[0071]首先在客戶端中安裝對應的客戶端軟件。以文檔編輯軟件為例,該軟件集成了云字庫的SDK (Software Development Kit,軟件開發(fā)工具包),除了文檔編輯器的基本功能之外,該軟件還包括云字庫訪問組件和緩存字庫。
[0072]客戶端通過該軟件打開包含云字庫的字符時,首先在本地的緩存字庫中查找是否存在字符的字形數(shù)據(jù);存在則直接顯示;出現(xiàn)缺字時則通過云字庫訪問組件向云字庫服務器發(fā)出缺字請求??蛻舳顺霈F(xiàn)缺字時的步驟如下所示:
[0073]S51、客戶端的字庫訪問組件首先判斷缺字的字體及字符編碼,并根據(jù)這些信息生成缺字請求;
[0074]S52、云字庫服務器通過接口服務器接收來自客戶端的缺字請求,根據(jù)缺字請求通過字庫查詢引擎到緩存字庫中查詢字庫;
[0075]S53、云字庫服務器根據(jù)缺字請求選擇相應的字庫拆分與合并策略,然后利用字庫拆分與合并組件對字庫進行拆分或合并操作,生成目標小字庫;
[0076]S54、接口服務器將得到的小字庫返回給客戶端;
[0077]S55、客戶端接收到小字庫后,利用FIFO(First In First Out,先進先出)原則對緩存字庫進行更新,并將字形信息在編輯軟件中顯示。
[0078]通過上述步驟就可以實現(xiàn)基于本地軟件提供云字庫服務,圖7為通過本地軟件使用云字庫服務的頁面效果圖。
[0079]下面以瀏覽器為例,說明提供云字庫服務的方法的實現(xiàn)過程。圖6為基于瀏覽器提供云字庫服務的業(yè)務邏輯圖。
[0080]隨著Web2.0、HTML5等相關技術的不斷發(fā)展,瀏覽器作為各種Web應用的承載平臺,是云字庫的重要服務對象。如圖6所示,與圖5所述的云字庫服務的業(yè)務邏輯不同,由于不同的瀏覽器廠商和版本支持的瀏覽器格式不同,因此在系統(tǒng)中增加了一個字庫格式轉換組件,用于對Truetype格式的字庫進行轉換,轉換為瀏覽器支持的字庫格式。
[0081]在基于瀏覽器提供云字庫服務的業(yè)務邏輯中,缺字請求是由網站的服務器發(fā)出的,網站編輯人員在編輯好網頁之后,將頁面發(fā)布到網站服務器時,需要在頁面中增加一個云字庫提供的Javascript腳本,該腳本的作用包括:(I)采集頁面中所包含的非常見字體,并找出該字體對應的字符列表;(2)根據(jù)瀏覽器類型、缺字字體以及對應的字符列表等信息,向服務器發(fā)送缺字請求,服務器根據(jù)缺字情況拆分字庫并轉化成各種類型格式的字庫發(fā)回給網站服務器;(3)根據(jù)返回字庫的名稱、位置等數(shù)據(jù),生成CSS(Cascading StyleSheets,級聯(lián)樣式表)文件,指定Web字庫的位置等信息,以便于瀏覽器對頁面進行渲染。
[0082]如圖6所示,基于瀏覽器提供云字庫服務的方法流程如下:
[0083]S61、Javascript腳本判斷瀏覽器頁面是否使用云字庫服務,并根據(jù)云字庫使用情況向接口服務器發(fā)出缺字請求;
[0084]S62、云字庫服務器通過接口服務器接收來自客戶端的缺字請求,根據(jù)缺字請求通過字庫查詢引擎到緩存字庫中查詢字庫;
[0085]S63、云字庫服務器根據(jù)缺字請求選擇相應的字庫拆分、合并策略,然后利用字庫拆分與合并組件對字庫進行拆分或合并操作,生成目標小字庫;
[0086]S64、云字庫服務器將所述目標小字庫轉換為瀏覽器所支持的字庫格式;
[0087]由于不同的瀏覽器支持的字庫格式不同,云字庫服務器通過字庫格式轉換組件將目標小字庫轉換為Truetype、EOT或WOFF格式的字庫文件;
[0088]S65、接口服務器將得到的小字庫返回給網站服務器;
[0089]S66、Javascript腳本根據(jù)服務器返回的字庫文件,生成相應的CSS文件,利用@face-font屬性指定特殊字體以及對應的字庫存放位置;
[0090]S67、用戶訪問網頁時,瀏覽器會自動下載頁面文件及CSS文件,并根據(jù)CSS文件的內容下載指定的字庫文件,并使用瀏覽器進行渲染和顯示。
[0091]通過上述步驟就可以實現(xiàn)基于瀏覽器提供云字庫服務。圖8為通過電腦瀏覽器訪問使用云字庫服務的頁面效果圖;圖9為通過安卓手機瀏覽器訪問使用云字庫服務的頁面效果圖;圖10為通過1S設備瀏覽器訪問使用云字庫服務的頁面效果圖;圖11為通過平板電腦瀏覽器訪問使用云字庫服務的頁面效果圖。
[0092]通過網絡分析可知,瀏覽器只需要下載20KB左右的小字庫文件,就可以正常的顯示包含20多個云字庫的字形信息。
[0093]本發(fā)明實施例基于Openstack和Hadoop實現(xiàn)了資源的統(tǒng)一管理,通過云計算平臺為云字庫服務提供了可靠的存儲和計算能力,并利用負載均衡技術保障了服務的高可用性;不僅實現(xiàn)了字庫拆分,還實現(xiàn)了字庫合并、字庫格式轉換。
[0094]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.一種提供云字庫服務的方法,其特征在于,包括: 接口服務器接收客戶端的缺字請求,將所述缺字請求發(fā)送給云字庫服務器; 云字庫服務器根據(jù)所述缺字請求在緩存字庫中查找對應的字庫; 云字庫服務器根據(jù)所述缺字請求選擇字庫拆分與合并策略; 云字庫服務器根據(jù)所述缺字請求和字庫拆分與合并策略,對查找到的字庫進行字庫拆分或合并操作,形成目標小字庫; 云字庫服務器通過接口服務器將所述目標小字庫發(fā)送給客戶端。
2.根據(jù)權利要求1所述的提供云字庫服務的方法,其特征在于,所述云字庫服務器根據(jù)所述缺字請求在緩存字庫中查詢對應的字庫包括:云字庫服務器根據(jù)所述缺字請求中的字庫名稱和字符編碼在緩存字庫中查詢對應的字庫。
3.根據(jù)權利要求1所述的提供云字庫服務的方法,其特征在于,所述云字庫服務器根據(jù)所述缺字請求選擇字庫拆分與合并策略包括:云字庫服務器根據(jù)所述缺字請求中的缺字數(shù)量選擇字庫拆分與合并策略。
4.根據(jù)權利要求3所述的提供云字庫服務的方法,其特征在于,所述云字庫服務器根據(jù)所述缺字請求中的缺字數(shù)量選擇字庫拆分與合并策略包括:若同一字體的缺字數(shù)量不少于設定值,則選擇從原始字庫中拆分出小字庫;若同一字體的缺字數(shù)量少于設定值,則選擇對單字字庫進行合并形成小字庫。
5.根據(jù)權利要求1所述的提供云字庫服務的方法,其特征在于,若所述缺字請求來自網站服務器,則在所述形成目標小字庫之后,還包括: 云字庫服務器將所述目標小字庫轉換為瀏覽器支持的字庫格式。
6.根據(jù)權利要求1所述的提供云字庫服務的方法,其特征在于,還包括: 云字庫服務器統(tǒng)計一段時間內請求頻率最高的字庫和最新請求的字庫,根據(jù)統(tǒng)計結果對緩存字庫進行更新。
7.一種提供云字庫服務的系統(tǒng),其特征在于,包括: 接口服務模塊,用于接收客戶端的缺字請求,將所述缺字請求發(fā)送給字庫查詢模塊; 字庫查詢模塊,用于根據(jù)所述缺字請求在字庫緩存模塊中查詢對應的字庫; 字庫緩存模塊,用于對用戶常用的字庫進行存儲; 字庫拆分與合并模塊,用于根據(jù)所述缺字請求選擇字庫拆分與合并策略,根據(jù)所述缺字請求和字庫拆分與合并策略,對所述字庫查詢模塊查詢到的字庫進行字庫拆分或合并操作,形成目標小字庫,并通過所述接口服務模塊將所述目標小字庫發(fā)送給客戶端。
8.根據(jù)權利要求7所述的提供云字庫服務器的系統(tǒng),其特征在于,所述字庫查詢模塊,還用于根據(jù)所述缺字請求中的字庫名稱和字符編碼在字庫緩存模塊中查詢對應的字庫。
9.根據(jù)權利要求7所述的提供云字庫服務器的系統(tǒng),其特征在于,所述字庫拆分與合并模塊,還用于根據(jù)所述缺字請求中的缺字數(shù)量選擇字庫拆分與合并策略。
10.根據(jù)權利要求9所述的提供云字庫服務器的系統(tǒng),其特征在于,所述字庫拆分與合并模塊,還用于當同一字體的缺字數(shù)量不少于設定值時,選擇從原始字庫中拆分出小字庫;當同一字體的缺字數(shù)量少于設定值時,選擇對單字字庫進行合并形成小字庫。
11.根據(jù)權利要求7所述的提供云字庫服務器的系統(tǒng),其特征在于,還包括: 字庫格式轉換模塊,用于當所述缺字請求來自網站服務器時,將所述目標小字庫轉換為瀏覽器支持的字庫格式。
12.根據(jù)權利要求7所述的提供云字庫服務器的系統(tǒng),其特征在于,所述字庫緩存模塊,還用于根據(jù)一段時間內請求頻率最高的字庫和最新請求的字庫,對所存儲的字庫進行更新。
【文檔編號】G06F17/21GK104462026SQ201410757038
【公開日】2015年3月25日 申請日期:2014年12月10日 優(yōu)先權日:2014年12月10日
【發(fā)明者】安波, 吳健, 芮建武, 馬龍龍, 劉匯丹 申請人:中國科學院軟件研究所