日本昏迷標準(JCS),計算機用語,JCS的特性,記憶體緩衝,時間過期,索引式硬碟緩衝,並行式的分布緩衝(Lateral),Client/Server式的緩衝(Remote),配置方法,記憶體緩衝,時間過期,索引式硬碟緩衝,單獨指明某個緩衝區的屬性,Client/Server式的緩衝(Remote),金和jcs,套用平台,設計理念,
日本昏迷標準(JCS)
JCS:The Japan Coma Scale (JCS) can be used to evaluate a patient with impaired consciousness.
JCS:日本昏迷標準(JCS),用於評估患者受損的意識水平。
Parameters:(1) consciousness level(2) restlessness(3) incontinence of urine and/or feces
參數:(1)意識水平(2)煩躁情況(3)大小便失禁
Jalowiec應對量表(JCS)
Jalowiec應對量表(JCS),由Jalowiec於1984編制,包括40個條目,發展該量表的目的是為高血壓和急診患者應對方式的研究提供工具,也可用於一般人群應對行為的研究。
計算機用語
JCS的特性
JCS除了簡單的將對象緩衝在記憶體中以外,還具有幾個特性,以適應企業級緩衝系統的需要。這些特性包括時間過期、索引式硬碟緩衝、並行式的分布緩衝等。
記憶體緩衝
JCS支持兩種記憶體緩衝算法LRU和MRU。通常都是使用LRU算法。
org.apache.stratum.jcs.engine.memory.lru.LRUMemoryCache
使用記憶體緩衝區需要定義緩衝區大小,當超過緩衝區限制時,會將緩衝內容拋棄掉。如果有配硬碟緩衝,則將擠出來的緩衝內容寫入硬碟緩衝區。
時間過期
JCS對於緩衝的對象,可以設定緩衝過期時間,一個對象在緩衝區中停留的時間超過這個時間,就會被認為是“不新鮮”而被放棄。
索引式硬碟緩衝
一方面,為了避免緩衝區過大,撐爆虛擬機的記憶體,另一方面又希望能夠緩衝更多的對象,JCS可以將超出緩衝區大小的對象快取到硬碟上。配置上也比較方便,只需要指定緩衝臨時檔案的存放目錄位置。硬碟緩衝將緩衝對象的內容寫到檔案上,但是將訪問索引保存在記憶體中,因此也能夠達到儘可能高的訪問效率。
並行式的分布緩衝(Lateral)
通常,將對象緩衝在記憶體中,一方面提高了套用的性能,而另一方面卻使得套用不可以分散式發布。因為假設一個套用配置在兩台伺服器上並行運行,而兩台伺服器單獨緩衝,則很容易導致兩個緩衝區內容出現版本上的不一致而出錯。一個機器上修改了數據,這個動作會影響到本地記憶體緩衝區和
資料庫伺服器,但是卻不會通知到另一台伺服器,導致另一台上緩衝的數據實際上已經無效了。
並行式的分布緩衝就是解決這個問題。可以通過配置,將幾台伺服器配成一個緩衝組,組內每台伺服器上有
數據更新,會橫向將更新的內容通過TCP/IP協定傳輸到其他伺服器的緩衝層,這樣就可以保證不會出現上述情況。這個的缺點是如果組內的並行的伺服器數量增大後,組內的數據傳輸量將會迅速上升。這種方案適合併行伺服器的數量比較少的情況。
Client/Server式的緩衝(Remote)
客戶/
服務端式的緩衝集群。這種方式支持一個主伺服器和最高達到256個
客戶端。
客戶端的緩衝層會嘗試連線主伺服器,如果連線成功,就會在主伺服器上註冊。每個
客戶端有
數據更新,就會通知到主伺服器,主伺服器會將更新通知到除訊息來源的客戶端以外的所有的客戶端。
每個
客戶端可以配置超過一個伺服器,第一個伺服器是主伺服器,如果與第一個伺服器連線失敗,客戶端會嘗試與備用的伺服器連線,如果連線成功,就會通過備用伺服器與其他客戶端對話,同時會定期繼續嘗試與主伺服器取得連線。如果備用伺服器也連線失敗,就會按照配置順序嘗試與下一個備用伺服器連線。
這種方式下,更新通知是一種輕量級的,一個機器上的
數據更新,不會把整個數據傳輸出去,而只是通知一個ID,當遠程的其他機器收到更新通知後,就會把對應ID的緩衝對象從本地的記憶體緩衝區中移除,以保證不會在緩衝區內出現錯誤數據。
這種構造需要分別配置客戶端和伺服器,配置比較麻煩。
配置方法
JCS的好處之一,就是套用在開發的時候,可以不用去構思底層的緩衝配置構架。同一個套用,只需要修改配置,就可以改變緩衝構架,不需要修改套用的原始碼。配置方法也比較簡單,就是修改配置檔案cache.ccf。這個檔案放置在WEB-INF/classes目錄下。配置格式類似log4j的配置檔案格式。下面介紹一下使用各種緩衝結構的配置方法。
記憶體緩衝
#WEB-INF/classes/cache.ccf(以下內容不要換行)
jcs.default=
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
上面配置了默認緩衝屬性。一個套用中,由於對象類型的不同,可能會使用多個緩衝區,每個緩衝區都會有一個名字,如果在配置檔案中沒有指明特定的緩衝區的屬性,所有的緩衝區都會根據默認屬性來構建。上面的內容,指明緩衝區的大小為存放1000個對象,記憶體緩衝器使用LRUMemoryCache對象。可選的還有MRUMemoryCache,應該可以自定義新的記憶體緩衝區。1000個緩衝對象這個容量,是指每個緩衝區都緩衝1000個,而不是指所有緩衝區總容量。以上配置,就可以讓套用運行起來。
時間過期
如果需要引入時間過期機制,則需要加上
jcs.default.cacheattributes.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.default.cacheattributes.cacheattributes.ShrinkerIntervalSeconds=60
這裡指明對象超過3600秒則過期,每隔60秒檢查一次。
索引式硬碟緩衝
索引式硬碟緩衝是輔助緩衝的一種,使用時需要做以下事情
#定義一個硬碟緩衝區產生器(Factory),取名為DC
jcs.auxiliary.DC=org.apache.stratum.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=org.apache.stratum.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=g:/dev/jakarta-turbine-stratum/raf
#這裡其實就是指明了緩衝檔案存放到那裡去。
然後,做以下修改
jcs.default=DC
這樣,所有未特別指定屬性的緩衝區都會自己使用一個硬碟緩衝區,緩衝檔案會以緩衝區的名字來命名。存放在指定的目錄下。
橫向式的並行緩衝
並行式的配置如下
jcs.auxiliary.LTCP=org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LTCP.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LTCP.attributes.TransmissionTypeName=TCP
jcs.auxiliary.LTCP.attributes.TcpServers=192.168.10.129:1121,192.168.10.222:1121
jcs.auxiliary.LTCP.attributes.TcpListenerPort=1121
jcs.auxiliary.LTCP.attributes.PutOnlyMode=false
這裡的配置是在41,129,221三台機器上實現並行緩衝的。
大家都在1121連線埠上監聽,同時與另外兩台機器連線。如果連線失敗,就會等待一個時間後再連線一次,直到連線成功為止。三台機器中任意一台的緩衝區發生更新,比如put和remove動作,就會把更新傳遞給另外兩台。
單獨指明某個緩衝區的屬性
如果,針對某個緩衝區,比如叫做TestCache1,需要單獨配置屬性,可以如下配置。
jcs.region.testCache1=DC,LTCP
jcs.region.testCache1.cacheattributes=org.apache.stratum.jcs.engine.CompositeCacheAttributes
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.stratum.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
system.GroupIdCache
這個概念我也不是很清楚。不過JCS文檔中指出配置以下內容會比較好。
jcs.system.groupIdCache=DC
jcs.system.groupIdCache.cacheattributes=org.apache.stratum.jcs.engine.CompositeCacheAttributes
jcs.system.groupIdCache.cacheattributes.MaxObjects=10000
jcs.system.groupIdCache.cacheattributes.MemoryCacheName=org.apache.stratum.jcs.engine.memory.lru.LRUMemoryCache
這可能是JCS自己的組管理體系上的緩衝區。
Client/Server式的緩衝(Remote)
金和jcs
套用平台
金和協同平台套件系統(JAVA Collaboration System 以下簡稱JCS)是金和軟體擁有自主智慧財產權的、基於J2EE框架的協同軟體系統。它以集團企業協同辦公管理為核心,在滿足企業部門辦公業務處理和個性化功能要求的基礎上,實現信息共享和協同工作,通過統一安全的接口系統,實現各機構和各部門業務之間的高效協同,最終形成一個大型分散式的協同辦公套用平台。
設計理念
金和JCS採用“協同平台”的設計理念,基於J2EE框架,套用SOA/MVC的設計模式,運用了大量先進的諸如Ajax、RSS等web2.0的技術,增強了系統的柔性和開放性,並在智慧運算、高並發、高性能方面實現了重大的技術突破,從而實現了靈活擴展、隨需定製、易於整合的技術平台。金和JCS採用了業務模組松耦合的組件化設計思想,提供標準化的數據規範和API接口,具備強大的跨平台性,多樣的部署方式,滿足產品的功能擴展和跨系統的套用整合需求,從而滿足現代大型企業的支持集團化套用、多維度的許可權、大用戶以及集群式部署的需求。