在线视频国产欧美另类,偷拍亚洲一区一区二区三区,日韩中文字幕在线视频,日本精品久久久久中文字幕

<small id="qpqhz"></small>
  • <legend id="qpqhz"></legend>

      <td id="qpqhz"><strong id="qpqhz"></strong></td>
      <small id="qpqhz"><menuitem id="qpqhz"></menuitem></small>
    1. 解決方案

      時間:2024-10-31 12:06:13 解決方案 我要投稿

      【精品】解決方案模板集合7篇

        為了確保工作或事情順利進行,時常需要預先制定一份周密的方案,方案是書面計劃,具有內容條理清楚、步驟清晰的特點。那么應當如何制定方案呢?以下是小編幫大家整理的解決方案7篇,歡迎閱讀與收藏。

      【精品】解決方案模板集合7篇

        解決方案 篇1

        眾所周知,處理好人際關系在職場中非常重要,但很多職場人士都被這個問題給困擾。

        1、冷漠

        冷漠是人際交往中的大忌。這種人可能是出于一些錯誤的認識,比如覺得“酷”才是自己的個性所在,還有可能出于內向型性格。這種人失去了認識別人的機會,也失去了讓別人了解自己的機會。

        解決方法:見到同事要面帶微笑,主動打招呼問好;主動與同事進行溝通交流;為人處世要有人情味,要關心同事,愛護同事,尊重同事,理解同事。同事與同事相處,應當減少“火藥味”,增加人情味。

        2、嫉妒

        楊東認為,嫉妒是否會給人際關系帶來致命影響,在于這種心理是不是表現(xiàn)在行為當中。要是只在心里想想,是人之常情,真要被人察覺,也可以坦然承認、自我解嘲一番。要是發(fā)展到加害、中傷他人,那么就可能成為“過街老鼠”。

        解決方法:厚道做人,在與同事的交往中,不能待人苛刻,使小心眼。同事有了成功,不能眼紅,不能嫉妒;同事有了問題,不能幸災樂禍,落井下石,更不能給人“穿小鞋”。

        3、封閉

        每個人都會偶爾想關起門,把嘈雜擋在門外!叭绻^于封閉,會變得孤單甚至自閉。知識、經(jīng)驗以及思維方式都會迅速老化,失去競爭力和吸引力!睏顤|說。

        解決方法:主動與同事進行溝通交流,多參與公司的集體活動,多培養(yǎng)自己的興趣愛好。

        4、自我

        有些人為了讓自己的利益最大化,不惜打小報告、給別人的.業(yè)務使壞甚至中傷他人的名譽。楊東表示“自我為中心”會因為損害他人的利益和尊嚴為職場不容。

        解決方法:多跟別人分享看法,多聽取和接受別人意見,這樣你才能獲得眾人接納和支持,方能順利推展工作大計。

        解決方案 篇2

        Android設置鬧鐘并不像IOS那樣這么簡單,做過Android設置鬧鐘的開發(fā)者都知道里面的坑有多深。下面記錄一下,我解決Android鬧鐘設置的解決方案。

        主要問題

        1、API19開始AlarmManager的機制修改。

        2、應用程序被Kill掉后,設置的鬧鐘不響。

        3、6.0以上進入Doze模式會使JobScheduler停止工作。

        4、手機設置重啟后,鬧鐘失效問題。

        API19以上AlarmManager機制的修改

        API19之前AlarmManager提供了三個設置鬧鐘的方法,由于業(yè)務需求鬧鐘只需要一次性,所以采用set(int type,long startTime,PendingIntent pi);這個方法。

        從API 19開始,AlarmManager的機制都是非準確傳遞,操作系統(tǒng)將會轉換鬧鐘,來最小化喚醒和電池使用。

      Android鬧鐘設置的解決方案1  

        由于之前的程序,沒有對API19以上的鬧鐘設置做處理,導致在4.4以上的手機設置鬧鐘無響應(應用程序沒有被殺死的情況也沒有鬧鐘)。

        因些,設置鬧鐘需要根據(jù)API的版本進行分別處理設置。代碼如下:

        AlarmManager am = (AlarmManager) getActivity() .getSystemService(Context.ALARM_SERVICE);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { am.setExact(AlarmManager.RTC_WAKEUP, TimeUtils .stringToLong(recordTime, TimeUtils.NO_SECOND_FORMAT), sender);}else { am.set(AlarmManager.RTC_WAKEUP, TimeUtils .stringToLong(recordTime, TimeUtils.NO_SECOND_FORMAT), sender);}

        這樣,保證鬧鐘在應用程序沒有被Kill掉的情況鬧鐘。

        應用程序被Kill掉時的處理

        應用程序被Kill掉后,設置的鬧鐘失效,這里利用守護進程以及灰色保活來保證后臺鬧鐘服務不被Kill掉。當應用程序以及鬧鐘服務被Kill掉,守護進程以及灰色;顏碇匦聠郁[鐘服務,并且重新設置鬧鐘。

        關于守護進程的處理,這里采用開源的守護進程庫。Android-AppDaemon

        在鬧鐘服務的onCreat加入Android-AppDaemon這個開源的守護進程。代碼如下:

        @Overridepublic void onCreate() { super.onCreate(); Daemon.run(DaemonService.this, DaemonService.class, Daemon.INTERVAL_ONE_MINUTE); startTimeTask(); grayGuard();}

        為進一步保證鬧鐘服務的存活,同加上灰色保活(利用系統(tǒng)的漏洞啟動前臺Service)。

        代碼如下:

        private void grayGuard() { if (Build.VERSION.SDK_INT < 18) { //API < 18 ,此方法能有效隱藏Notification上的圖標 startForeground(GRAY_SERVICE_ID, new Notification()); } else { Intent innerIntent = new Intent(this, DaemonInnerService.class); startService(innerIntent); startForeground(GRAY_SERVICE_ID, new Notification()); } //發(fā)送喚醒廣播來促使掛掉的UI進程重新啟動起來 AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent alarmIntent = new Intent(); alarmIntent.setAction(WakeReceiver.GRAY_WAKE_ACTION); PendingIntent operation = PendingIntent.getBroadcast(this, WAKE_REQUEST_CODE, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { alarmManager.setWindow(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), ALARM_INTERVAL, operation); }else { alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), ALARM_INTERVAL, operation); }}/** * 給 API >= 18 的平臺上用的灰色;钍侄 */public static class DaemonInnerService extends Service { @Override public void onCreate() { Log.i(LOG_TAG, "InnerService -> onCreate"); super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.i(LOG_TAG, "InnerService -> onStartCommand"); startForeground(GRAY_SERVICE_ID, new Notification()); //stopForeground(true); stopSelf(); return super.onStartCommand(intent, flags, startId); } @Override public IBinder onBind(Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); } @Override public void onDestroy() { Log.i(LOG_TAG, "InnerService -> onDestroy"); super.onDestroy(); }}

        上面操作盡可能提高鬧鐘服務的存活。但是在5.0以上的手機,利用系統(tǒng)的自帶的Clean功能的時候,還是會將鬧鐘服務徹底的干掉。為了解決5.0以上的問題,這里引入5.0以上的新特性 JobScheduler。

        5.0以上的JobScheduler

        在這里利用5.0以上的JobScheduler創(chuàng)建一個定時的任務,定時檢測鬧鐘服務是否存在,沒在存在則重新啟動鬧鐘服務。(這里我設置每一分鐘檢測一次鬧鐘服務)

        在進入應用程序的時候檢測當前系統(tǒng)是否是5.0以上,如果是則啟動JobScheduler這個服務。代碼如下:

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(getPackageName(), JobSchedulerService.class.getName())); builder.setPeriodic(60 * 1000); //每隔60秒運行一次 builder.setRequiresCharging(true); builder.setPersisted(true); //設置設備重啟后,是否重新執(zhí)行任務 builder.setRequiresDeviceIdle(true); if (mJobScheduler.schedule(builder.build()) <= 0) { //If something goes wrong }}

        其中的builder.setPersisted(true); 方法是設備重啟后,是否重新執(zhí)行任務,在這測過是可以重新啟動任務的。

        上面的操作進一步保證了鬧鐘服務被Kill掉后,重新啟動服務。但是在6.0以上引入了Doze模式,當6.0以上的手機進入這個模式后,便會使JobScheduler停止工作。

        6.0以上Doze模式的處理

        為了讓JobScheduler可以在6.0以上進入Doze模式工作,這里針對6.0以上的Doze模式做特殊的處理-忽略電池的優(yōu)化。

        在Manifest.xml中加入權限。

        在設置鬧鐘的時候,判斷系統(tǒng)是否是6.0以上,如果是,則判斷是否忽略電池的優(yōu)化。判斷是否忽略電池優(yōu)化代碼如下:

        @TargetApi(Build.VERSION_CODES.M)public static boolean isIgnoringBatteryOptimizations(Activity activity){ String packageName = activity.getPackageName(); PowerManager pm = (PowerManager) activity .getSystemService(Context.POWER_SERVICE); if (pm.isIgnoringBatteryOptimizations(packageName)) { return true; }else { return false; }}

        如果沒有忽略電池優(yōu)化的時候,彈出提醒對話框,提示用戶進行忽略電池優(yōu)化操作。代碼如下:

        /*** 針對N以上的Doze模式** @param activity*/public static void isIgnoreBatteryOption(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { try { Intent intent = new Intent(); String packageName = activity.getPackageName(); PowerManager pm = (PowerManager) activity.getSystemService(Context.POWER_SERVICE); if (!pm.isIgnoringBatteryOptimizations(packageName)) {// intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + packageName)); activity.startActivityForResult(intent, REQUEST_IGNORE_BATTERY_CODE); } } catch (Exception e) { e.printStackTrace(); } }}

        在界面重寫onActivityResult方法來捕獲用戶的選擇。如,代碼如下:

        @Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == BatteryUtils.REQUEST_IGNORE_BATTERY_CODE){ //TODO something } }else if (resultCode == RESULT_CANCELED){ if (requestCode == BatteryUtils.REQUEST_IGNORE_BATTERY_CODE){ ToastUtils.show(getActivity(), "請開啟忽略電池優(yōu)化~"); } }}

        補充

        當應用程序被Kill掉,但是鬧鐘的'服務沒有被Kill掉的,這時候又設置了鬧鐘。這就意味著設置的鬧鐘沒有放到鬧鐘服務那里。所以這種情況,設置的鬧鐘會失效。為了解決這種情況,利用AIDL(鬧鐘服務在另一個進程的需要進程間通信)調用鬧鐘服務的重新設置鬧鐘方法重設鬧鐘。

        在應用程序的onCreat()方法啟動鬧鐘服務,然后再綁定鬧鐘服務。

        private void initAlarmService() { startService(new Intent(this, DaemonService.class));//啟動鬧鐘服務 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //JobScheduler ... } //綁定鬧鐘服務 Intent intent = new Intent(this, DaemonService.class); intent.setAction("android.intent.action.DaemonService"); bindService(intent, mConnection, Context.BIND_AUTO_CREATE);}

        在onDestroy()方法,調用鬧鐘服務的重設鬧鐘方法。代碼如下:

        @Overrideprotected void onDestroy() { super.onDestroy(); try {//判斷是否有鬧鐘,沒有則關閉鬧鐘服務 String alarm = localPreferencesHelper.getString(LocalPreferencesHelper.ALARM_CLOCK); if (daemonService != -1 && mIRemoteService != null) {// android.os.Process.killProcess(daemonService); mIRemoteService.resetAlarm(); } if (!alarm.equals("[]")) { if (daemonService != -1) { startService(new Intent(this, DaemonService.class)); } } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mJobScheduler.cancel(JOB_ID); } } unbindService(mConnection); //解除綁定服務。 } catch (Exception e) { }}

        這里說明一下,當服務啟動并且被綁定的情況下,unbindService是不會停止服務的。

        最后

        以上并不代表所有的Android手機的鬧鐘都可以用,這只是盡最大的可能保證大部分的手機。

        以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持教程網(wǎng)。

        解決方案 篇3

        1.項目背景

        HIS系統(tǒng)是一套集成門診掛號收費、住院收費、藥庫管理、藥房管理、院長查詢等工作站的醫(yī)院管理系統(tǒng).

        某大型醫(yī)院采用HIS系統(tǒng)后,擁有大量服務提供相關服務應用.

        隨著業(yè)務量的增加,服務器承擔的服務任務越來越多,需要使用多臺服務器來運行相同服務.

        針對大圖像(CT)的服務器服務響應壓力也越來越大.需要通過負載均衡設備來提高系統(tǒng)應用交付能力及高可靠性.

        2.客戶需求

        保證當前的HIS系統(tǒng)WEB服務器的高可靠性,可擴展性.

        在WEB服務器前放置四/七層負載均衡設備,把HIS系統(tǒng)流量轉發(fā)到多臺的WEB服務器上,對流量進行合理優(yōu)化,減少單點故障的問題,提高系統(tǒng)效率.

        保證當前的HIS系統(tǒng)圖像服務器的高可靠性,可擴展性,在圖像服務器前放置四/七層負載均衡設備,把用戶的圖像的下載流量智能轉發(fā)到多臺圖像服務器上,減少單點故障的問題,提高系統(tǒng)效率.

        3.PIOLINK設計方案

        方案中采用了PIOLINK的PAS3516負載均衡設備,支持16個千兆端口(16×10/100/1000Base-TX,16×1000Base-XSFP),該設備缺省配置了雙電源,雙閃存。

        PIOLINK的PAS系列產(chǎn)品基于“ALLINONE”的設計理念,PAS3516上配置了SLB服務器的負載均衡功能,對訪問內部的服務器的流量進行流量均衡,將其分攤到對應服務器集群的主機上,保證用戶的最佳服務.

        2臺PAS3516通過VRRP協(xié)議做了設備冗余,保證網(wǎng)絡的可靠性,平時一臺處于Active工作狀態(tài),另一臺處于standby的備份狀態(tài)。備機可以備份主設備上的所有會話和狀態(tài),這樣如果主設備出現(xiàn)問題或故障,根據(jù)冗余協(xié)議的設置,備份PAS會即時接管主設備的所有會話,用戶當前的應用不會受到影響,從而使得用戶的關鍵業(yè)務不會造成中斷,實現(xiàn)了高可用性。

        如果醫(yī)院有增加internet鏈路出口,也可以將PAS3516前移,同時實現(xiàn)鏈路負載均衡的功能,充分保證了用戶的.投資。

        4.采用PIOLINK給客戶帶來的收益

        實現(xiàn)服務器應用的負載均衡,大大提升了HIS系統(tǒng)整體的性能表現(xiàn).

        PAS3516缺省支持雙電源,雙閃存,多風扇系統(tǒng),保證了設備的可靠性,同時兩臺設備本身可實現(xiàn)的熱備份,提高了客戶系統(tǒng)的穩(wěn)定性.

        PIOLINK負載均衡產(chǎn)品“ALLINONE”的設計理念,最大程度保證了用戶的投資。

        PAS3516上啟動了安全模塊PSM(PIOLINKsecuritymanager),可以提供蠕蟲病毒攻擊,電子郵件蠕蟲病毒攻擊和DoS攻擊等的防護功能,更進一步加強了用戶的網(wǎng)絡安全。

        解決方案 篇4

        中小企業(yè)融資是指金融機構針對中小企業(yè)推出的定制化融資解決方案,由現(xiàn)有企業(yè)籌集資金并完成項目的投資建設,無論項目建成之前或之后,都不出現(xiàn)新的獨立法人。貸款和其他債務資金實際上是用于項目投資,但是債務方是公司而不是項目,整個公司的現(xiàn)金流量和資產(chǎn)都可用于償還債務、提供擔保;也就是說債權人對債務有完全的追索權,即使項目失敗也必須由公司還貸,因而貸款的風險程度相對較低。

        專業(yè)解析:

        據(jù)上海埂莎投資管理有限公司總裁吳田平介紹,中小企業(yè)融資是一個企業(yè)的資金籌集的行為與過程。也就是公司根據(jù)自身的生產(chǎn)經(jīng)營狀況、資金擁有的狀況,以及公司未來經(jīng)營發(fā)展的需要,通過科學的預測和決策,采用一定的'方式,從一定的渠道向公司的投資者和債權人去籌集資金,組織資金的供應,以保證公司正常生產(chǎn)需要,經(jīng)營管理活動需要的理財行為。中小企業(yè)融資過程是從中小企業(yè)融資準備到中小企業(yè)融資成功的階段,需要中小企業(yè)融資方做細致而具體的工作。中小企業(yè)融資過程主要分為以下幾個方面:

        1、中小企業(yè)融資準備工作

        中小企業(yè)融資需要有中小企業(yè)融資團隊、資料等準備,最關鍵的是商業(yè)計劃書準備中小企業(yè)融資解決方案中小企業(yè)融資解決方案。

        通常,與風險投資公司接觸的第一步是遞交商業(yè)計劃書。風險投資商經(jīng)常接到大量商業(yè)計劃書,因此,商業(yè)計劃書必需立刻吸引風險投資商的眼球。商業(yè)計劃書摘要很重要,做得好可以引得投資商精讀計劃書全文,做得不好會讓他們決定不再浪費更多時間。

        一份好的商業(yè)計劃書是至關重要的,應該完整而清晰地闡述公司的發(fā)展目標、長期戰(zhàn)略等,這是表現(xiàn)企業(yè)發(fā)展?jié)摿蛣?chuàng)業(yè)者自身素質的絕好機會。風險投資家在初次閱讀一份商業(yè)計劃時,就會對該企業(yè)的管理者進行評估,從而預測投資回報。

        2、中小企業(yè)融資方案策劃

        制訂可行的中小企業(yè)融資方案將會有針對性的進行中小企業(yè)融資運作,提高中小企業(yè)融資的效率

        通常要考慮中小企業(yè)融資條件、中小企業(yè)融資方式、合作期限及資金退出方式等。

        3、中小企業(yè)融資實施:

        首先要選擇風險投資公司,這是中小企業(yè)融資過程中甚為重要的一環(huán)中小企業(yè)融資解決方案投資創(chuàng)業(yè)。如果對投資者不進行調研和選擇,就容易造成無謂的四處推銷,從而拖延中小企業(yè)融資過程。

        在選擇投資者時,通常應考慮到地域、行業(yè)重點、發(fā)展階段以及所需資金量等因素。其它一些因素也同等重要,例如投資者在中小企業(yè)融資中是否為主投方,已投資過的企業(yè)是否會與你的公司進行互補或競爭。

        解決方案 篇5

        1.軟件問題:顯卡的驅動沒有裝好。其實即使沒有驅動,顯示器也會正確地顯示每種顏色的,不至于出現(xiàn)丟失元色的情況,但是如果驅動安裝不正確卻有可能出現(xiàn)這個問題。如顯卡的類型和驅動類型對應不一致,版本不一致等。這樣的問題解決起來很簡單,把原有的顯卡驅動卸載重新安裝即可。卸載驅動的方法是:我的電腦——右鍵“屬性”——硬件——設備管理器——顯示卡——右鍵——卸載。檢測是否顯卡驅動問題的方法很簡單:以Windows XP為例,在電腦開機進入滾動等候畫面時,如果能夠正確顯示XP徽標上紅色而進入系統(tǒng)之后卻無法顯示,則證明顯卡驅動不正確。

        2.顯示器問題:顯示器硬件故障。造成顯示器硬件問題的原因很多,如顯像管老化,所處環(huán)境潮濕導致線路氧化、靜電等都會造成顏色顯示不正常。根據(jù)不同的原因采取不同的方法即可,如將顯示器置于通風處等(很多人喜歡給顯示器蒙一塊布來防塵,這里dudo提醒大家的是,防塵要用專用的防塵罩,否則可能會導致顯示器通風散熱不暢)。

        3.顯卡問題:顯示問題是最經(jīng)常出現(xiàn)的問題。例如卡槽接觸不緊密、顯卡過熱、顯卡線路與元件問題等。對于卡槽不緊密的問題可以拔下來重插,有時可能是因為灰塵較多,這里需要清理一下插槽并用橡皮 等工具清理顯示卡。對于顯卡過熱,則可以上面安裝一個小風扇或者把機箱放置通風處,顯卡過熱造成的顏色不正常往往是剛開機的時候比較正常,使用一段時間之后開始走色。

        4.接線問題:顯示器和顯卡之間的.連接線。顯卡上所有的顏色信息都是經(jīng)常一條數(shù)據(jù)線傳遞到顯示器上的,如果這里出了問題則也會引起三元色缺失或者顏色不正常。所以可以考慮換一根線試試。

        5.線路接口針問題:這是我遇到的問題。顯示器缺少紅色的問題困擾了我很久,我使用了上面所有的辦法都沒有解決掉,最后一次在群里聊天時,老田同志讓我看看是不是顯卡接口處的針斷了。我把數(shù)據(jù)線拔下來檢查,果不其然,其中一根針嚴重彎曲,并沒有插入到針孔里去。后來用小鑷子直過來之后發(fā)現(xiàn)顯示器顏色一切正常了,缺失的紅色又回來了。

        解決方案 篇6

        一個小型的網(wǎng)站,比如個人網(wǎng)站,可以使用最簡單的html靜態(tài)頁面就實現(xiàn)了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網(wǎng)站對系統(tǒng)架構、性能的要求都很簡單,隨著互聯(lián)網(wǎng)業(yè)務的不斷豐富,網(wǎng)站相關的技術經(jīng)過這些年的發(fā)展,已經(jīng)細分到很細的方方面面,尤其對于大型網(wǎng)站來說,所采用的技術更是涉及面非常廣,從硬件到軟件、編程語言、數(shù)據(jù)庫、WebServer、防火墻等各個領域都有了很高的要求,已經(jīng)不是原來簡單的html靜態(tài)網(wǎng)站所能比擬的。

        大型網(wǎng)站,比如門戶網(wǎng)站。在面對大量用戶訪問、高并發(fā)請求方面,基本的解決方案集中在這樣幾個環(huán)節(jié):使用高性能的服務器、高性能的數(shù)據(jù)庫、高效率的編程語言、還有高性能的Web容器。但是除了這幾個方面,還沒法根本解決大型網(wǎng)站面臨的高負載和高并發(fā)問題。

        上面提供的幾個解決思路在一定程度上也意味著更大的投入,并且這樣的解決思路具備瓶頸,沒有很好的擴展性,下面我從低成本、高性能和高擴張性的角度來說說我的一些經(jīng)驗。

        1、HTML靜態(tài)化

        其實大家都知道,效率最高、消耗最小的就是純靜態(tài)化的html頁面,所以我們盡可能使我們的網(wǎng)站上的頁面采用靜態(tài)頁面來實現(xiàn),這個最簡單的方法其實也是最有效的方法。但是對于大量內容并且頻繁更新的網(wǎng)站,我們無法全部手動去挨個實現(xiàn),于是出現(xiàn)了我們常見的信息發(fā)布系統(tǒng)CMS,像我們常訪問的各個門戶站點的新聞頻道,甚至他們的其他頻道,都是通過信息發(fā)布系統(tǒng)來管理和實現(xiàn)的,信息發(fā)布系統(tǒng)可以實現(xiàn)最簡單的信息錄入自動生成靜態(tài)頁面,還能具備頻道管理、權限管理、自動抓取等功能,對于一個大型網(wǎng)站來說,擁有一套高效、可管理的CMS是必不可少的。

        除了門戶和信息發(fā)布類型的網(wǎng)站,對于交互性要求很高的社區(qū)類型網(wǎng)站來說,盡可能的靜態(tài)化也是提高性能的必要手段,將社區(qū)內的帖子、文章進行實時的靜態(tài)化,有更新的時候再重新靜態(tài)化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的策略,網(wǎng)易社區(qū)等也是如此。

        同時,html靜態(tài)化也是某些緩存策略使用的手段,對于系統(tǒng)中頻繁使用數(shù)據(jù)庫查詢但是內容更新很小的應用,可以考慮使用html靜態(tài)化來實現(xiàn),比如論壇中論壇的公用設置信息,這些信息目前的主流論壇都可以進行后臺管理并且存儲再數(shù)據(jù)庫中,這些信息其實大量被前臺程序調用,但是更新頻率很小,可以考慮將這部分內容進行后臺更新的時候進行靜態(tài)化,這樣避免了大量的數(shù)據(jù)庫訪問請求。

        2、圖片服務器分離

        大家知道,對于Web服務器來說,不管是Apache、IIS還是其他容器,圖片是最消耗資源的,于是我們有必要將圖片與頁面進行分離,這是基本上大型網(wǎng)站都會采用的策略,他們都有獨立的圖片服務器,甚至很多臺圖片服務器。這樣的架構可以降低提供頁面訪問請求的服務器系統(tǒng)壓力,并且可以保證系統(tǒng)不會因為圖片問題而崩潰,在應用服務器和圖片服務器上,可以進行不同的配置優(yōu)化,比如apache在配置ContentType的時候可以盡量少支持,盡可能少的LoadModule,保證更高的系統(tǒng)消耗和執(zhí)行效率。

        3、數(shù)據(jù)庫集群和庫表散列

        大型網(wǎng)站都有復雜的.應用,這些應用必須使用數(shù)據(jù)庫,那么在面對大量訪問的時候,數(shù)據(jù)庫的瓶頸很快就能顯現(xiàn)出來,這時一臺數(shù)據(jù)庫將很快無法滿足應用,于是我們需要使用數(shù)據(jù)庫集群或者庫表散列。

        在數(shù)據(jù)庫集群方面,很多數(shù)據(jù)庫都有自己的解決方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是類似的方案,您使用了什么樣的DB,就參考相應的解決方案來實施即可。

        上面提到的數(shù)據(jù)庫集群由于在架構、成本、擴張性方面都會受到所采用DB類型的限制,于是我們需要從應用程序的角度來考慮改善系統(tǒng)架構,庫表散列是常用并且最有效的解決方案。我們在應用程序中安裝業(yè)務和應用或者功能模塊將數(shù)據(jù)庫進行分離,不同的模塊對應不同的數(shù)據(jù)庫或者表,再按照一定的策略對某個頁面或者功能進行更小的數(shù)據(jù)庫散列,比如用戶表,按照用戶ID進行表散列,這樣就能夠低成本的提升系統(tǒng)的性能并且有很好的擴展性。sohu的論壇就是采用了這樣的架構,將論壇的用戶、設置、帖子等信息進行數(shù)據(jù)庫分離,然后對帖子、用戶按照板塊和ID進行散列數(shù)據(jù)庫和表,最終可以在配置文件中進行簡單的配置便能讓系統(tǒng)隨時增加一臺低成本的數(shù)據(jù)庫進來補充系統(tǒng)性能。

        4、緩存

        緩存一詞搞技術的都接觸過,很多地方用到緩存。網(wǎng)站架構和網(wǎng)站開發(fā)中的緩存也是非常重要。這里先講述最基本的兩種緩存。高級和分布式的緩存在后面講述。

        架構方面的緩存,對Apache比較熟悉的人都能知道Apache提供了自己的緩存模塊,也可以使用外加的Squid模塊進行緩存,這兩種方式均可以有效的提高Apache的訪問響應能力。

        網(wǎng)站程序開發(fā)方面的緩存,Linux上提供的Memory Cache是常用的緩存接口,可以在web開發(fā)中使用,比如用Java開發(fā)的時候就可以調用MemoryCache對一些數(shù)據(jù)進行緩存和通訊共享,一些大型社區(qū)使用了這樣的架構。另外,在使用web語言開發(fā)的時候,各種語言基本都有自己的緩存模塊和方法,PHP有Pear的Cache模塊,Java就更多了,。net不是很熟悉,相信也肯定有。

        5、鏡像

        鏡像是大型網(wǎng)站常采用的提高性能和數(shù)據(jù)安全性的方式,鏡像的技術可以解決不同網(wǎng)絡接入商和地域帶來的用戶訪問速度差異,比如ChinaNet和EduNet之間的差異就促使了很多網(wǎng)站在教育網(wǎng)內搭建鏡像站點,數(shù)據(jù)進行定時更新或者實時更新。在鏡像的細節(jié)技術方面,這里不闡述太深,有很多專業(yè)的現(xiàn)成的解決架構和產(chǎn)品可選。也有廉價的通過軟件實現(xiàn)的思路,比如Linux上的rsync等工具。

        6、負載均衡

        負載均衡將是大型網(wǎng)站解決高負荷訪問和大量并發(fā)請求采用的終極解決辦法。

        負載均衡技術發(fā)展了多年,有很多專業(yè)的服務提供商和產(chǎn)品可以選擇,我個人接觸過一些解決方法,其中有兩個架構可以給大家做參考。

        1)硬件四層交換

        第四層交換使用第三層和第四層信息包的報頭信息,根據(jù)應用區(qū)間識別業(yè)務流,將整個區(qū)間段的業(yè)務流分配到合適的應用服務器進行處理。 第四層交換功能就象是虛IP,指向物理服務器。它傳輸?shù)臉I(yè)務服從的協(xié)議多種多樣,有HTTP、FTP、NFS、Te。net或其他協(xié)議。這些業(yè)務在物理服務器基礎上,需要復雜的載量平衡算法。在IP世界,業(yè)務類型由終端TCP或UDP端口地址來決定,在第四層交換中的應用區(qū)間則由源端和終端IP地址、TCP和UDP端口共同決定。

        在硬件四層交換產(chǎn)品領域,有一些知名的產(chǎn)品可以選擇,比如Alteon、F5等,這些產(chǎn)品很昂貴,但是物有所值,能夠提供非常優(yōu)秀的性能和很靈活的管理能力。Yahoo中國當初接近20xx臺服務器使用了三四臺Alteon就搞定了。

        2)軟件四層交換

        大家知道了硬件四層交換機的原理后,基于OSI模型來實現(xiàn)的軟件四層交換也就應運而生,這樣的解決方案實現(xiàn)的原理一致,不過性能稍差。但是滿足一定量的壓力還是游刃有余的,有人說軟件實現(xiàn)方式其實更靈活,處理能力完全看你配置的熟悉能力。

        軟件四層交換我們可以使用Linux上常用的LVS來解決,LVS就是Linux Virtual Server,他提供了基于心跳線heartbeat的實時災難應對解決方案,提高系統(tǒng)的魯棒性,同時可供了靈活的虛擬VIP配置和管理功能,可以同時滿足多種應用需求,這對于分布式的系統(tǒng)來說必不可少。

        一個典型的使用負載均衡的策略就是,在軟件或者硬件四層交換的基礎上搭建squid集群,這種思路在很多大型網(wǎng)站包括搜索引擎上被采用,這樣的架構低成本、高性能還有很強的擴張性,隨時往架構里面增減節(jié)點都非常容易。這樣的架構我準備空了專門詳細整理一下和大家探討。

        解決方案 篇7

        每到新學期,許多孩子出現(xiàn)“開學綜合癥”的表現(xiàn),比如厭學、焦慮、上課走神、情緒不穩(wěn)定等,嚴重的還出現(xiàn)失眠、嗜睡及一些查無明確原因的頭暈、惡心、腹痛、小便失禁、疲倦、食欲不振等病癥。這些問題都讓很多家長困惑不已。

        “開學綜合癥”主要集中表現(xiàn)在四類孩子身上:

        其一,適應新環(huán)境能力較弱,比如幼升小,小升初,初升高的孩子;

        其二,經(jīng)常被老師批評的孩子,比如特別頑皮的,有不良習慣的孩子;

        其三,學習成績不好的孩子;

        其四,過于追求完美的孩子,比如三好生。

        “開學綜合癥”輕則體現(xiàn)在心理上,重則體現(xiàn)在生理上,這就要求我們的家長細心對待。以下是專家給我們的一些建議。

        1、如何解決心理上的“開學綜合癥”?

        首先,家長應該幫助孩子樹立信心,這樣可以緩解孩子內心的脆弱和不安,建立自己比別人強的信念。這樣就能對學習抱有更積極的態(tài)度,更能適應新環(huán)境。

        其次,不要有過高的期待,不要用理想化,完美化的眼光去期待新的環(huán)境。要讓理想和現(xiàn)實處于平衡的狀態(tài)。

        其三,培養(yǎng)獨立的自我意識。比如,要多和同學在一起。這樣你才不會被孤獨感所包圍,不會被懷舊情緒所左右。

        要常與老師、父母溝通、交流。只有在相互溝通、交流的基礎上,大家才能相互理解、相互諒解,也能為你營造良好的學習生活環(huán)境;培養(yǎng)更多的興趣愛好。這樣不僅會使你結交到更多的`朋友,更會使你在興趣愛好中暫時了卻對家的思念。

        2、如何解決生理上的“開學綜合癥”?

        生理上出現(xiàn)的“開學綜合癥”癥狀就比較嚴重了。除了從精神上給予引導和舒壓,家長還應多陪伴孩子,或者去專業(yè)的教育咨詢機構幫助孩子共同解決這些癥狀。專業(yè)的教育咨詢機構,既能用專業(yè)的方法幫助孩子解決“開學綜合癥”的問題,同時,也能彌補孩子學業(yè)問題,可謂一舉兩得。

      【解決方案】相關文章:

      解決方案05-20

      解決方案(實用)05-27

      解決方案優(yōu)秀05-12

      行業(yè)解決方案08-16

      erp解決方案04-22

      oa解決方案05-31

      產(chǎn)品解決方案11-19

      招聘解決方案02-14

      解決方案(精)05-23

      解決方案【優(yōu)秀】08-25