【精品】解決方案模板集合7篇
為了確保工作或事情順利進(jìn)行,時(shí)常需要預先制定一份周密的方案,方案是書(shū)面計劃,具有內容條理清楚、步驟清晰的特點(diǎn)。那么應當如何制定方案呢?以下是小編幫大家整理的解決方案7篇,歡迎閱讀與收藏。
解決方案 篇1
眾所周知,處理好人際關(guān)系在職場(chǎng)中非常重要,但很多職場(chǎng)人士都被這個(gè)問(wèn)題給困擾。
1、冷漠
冷漠是人際交往中的大忌。這種人可能是出于一些錯誤的認識,比如覺(jué)得“酷”才是自己的個(gè)性所在,還有可能出于內向型性格。這種人失去了認識別人的機會(huì ),也失去了讓別人了解自己的機會(huì )。
解決方法:見(jiàn)到同事要面帶微笑,主動(dòng)打招呼問(wèn)好;主動(dòng)與同事進(jìn)行溝通交流;為人處世要有人情味,要關(guān)心同事,愛(ài)護同事,尊重同事,理解同事。同事與同事相處,應當減少“火藥味”,增加人情味。
2、嫉妒
楊東認為,嫉妒是否會(huì )給人際關(guān)系帶來(lái)致命影響,在于這種心理是不是表現在行為當中。要是只在心里想想,是人之常情,真要被人察覺(jué),也可以坦然承認、自我解嘲一番。要是發(fā)展到加害、中傷他人,那么就可能成為“過(guò)街老鼠”。
解決方法:厚道做人,在與同事的交往中,不能待人苛刻,使小心眼。同事有了成功,不能眼紅,不能嫉妒;同事有了問(wèn)題,不能幸災樂(lè )禍,落井下石,更不能給人“穿小鞋”。
3、封閉
每個(gè)人都會(huì )偶爾想關(guān)起門(mén),把嘈雜擋在門(mén)外!叭绻^(guò)于封閉,會(huì )變得孤單甚至自閉。知識、經(jīng)驗以及思維方式都會(huì )迅速老化,失去競爭力和吸引力!睏顤|說(shuō)。
解決方法:主動(dòng)與同事進(jìn)行溝通交流,多參與公司的集體活動(dòng),多培養自己的興趣愛(ài)好。
4、自我
有些人為了讓自己的利益最大化,不惜打小報告、給別人的.業(yè)務(wù)使壞甚至中傷他人的名譽(yù)。楊東表示“自我為中心”會(huì )因為損害他人的利益和尊嚴為職場(chǎng)不容。
解決方法:多跟別人分享看法,多聽(tīng)取和接受別人意見(jiàn),這樣你才能獲得眾人接納和支持,方能順利推展工作大計。
解決方案 篇2
Android設置鬧鐘并不像IOS那樣這么簡(jiǎn)單,做過(guò)Android設置鬧鐘的開(kāi)發(fā)者都知道里面的坑有多深。下面記錄一下,我解決Android鬧鐘設置的解決方案。
主要問(wèn)題
1、API19開(kāi)始AlarmManager的機制修改。
2、應用程序被Kill掉后,設置的鬧鐘不響。
3、6.0以上進(jìn)入Doze模式會(huì )使JobScheduler停止工作。
4、手機設置重啟后,鬧鐘失效問(wèn)題。
API19以上AlarmManager機制的修改
API19之前AlarmManager提供了三個(gè)設置鬧鐘的方法,由于業(yè)務(wù)需求鬧鐘只需要一次性,所以采用set(int type,long startTime,PendingIntent pi);這個(gè)方法。
從API 19開(kāi)始,AlarmManager的機制都是非準確傳遞,操作系統將會(huì )轉換鬧鐘,來(lái)最小化喚醒和電池使用。
由于之前的程序,沒(méi)有對API19以上的鬧鐘設置做處理,導致在4.4以上的手機設置鬧鐘無(wú)響應(應用程序沒(méi)有被殺死的情況也沒(méi)有鬧鐘)。
因些,設置鬧鐘需要根據API的版本進(jìn)行分別處理設置。代碼如下:
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);}
這樣,保證鬧鐘在應用程序沒(méi)有被Kill掉的情況鬧鐘。
應用程序被Kill掉時(shí)的處理
應用程序被Kill掉后,設置的鬧鐘失效,這里利用守護進(jìn)程以及灰色;顏(lái)保證后臺鬧鐘服務(wù)不被Kill掉。當應用程序以及鬧鐘服務(wù)被Kill掉,守護進(jìn)程以及灰色;顏(lái)重新啟動(dòng)鬧鐘服務(wù),并且重新設置鬧鐘。
關(guān)于守護進(jìn)程的處理,這里采用開(kāi)源的守護進(jìn)程庫。Android-AppDaemon
在鬧鐘服務(wù)的onCreat加入Android-AppDaemon這個(gè)開(kāi)源的守護進(jìn)程。代碼如下:
@Overridepublic void onCreate() { super.onCreate(); Daemon.run(DaemonService.this, DaemonService.class, Daemon.INTERVAL_ONE_MINUTE); startTimeTask(); grayGuard();}
為進(jìn)一步保證鬧鐘服務(wù)的存活,同加上灰色;睿ɡ孟到y的漏洞啟動(dò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ā)送喚醒廣播來(lái)促使掛掉的UI進(jìn)程重新啟動(dòng)起來(lái) 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(); }}
上面操作盡可能提高鬧鐘服務(wù)的存活。但是在5.0以上的手機,利用系統的自帶的Clean功能的時(shí)候,還是會(huì )將鬧鐘服務(wù)徹底的干掉。為了解決5.0以上的問(wèn)題,這里引入5.0以上的新特性 JobScheduler。
5.0以上的JobScheduler
在這里利用5.0以上的JobScheduler創(chuàng )建一個(gè)定時(shí)的任務(wù),定時(shí)檢測鬧鐘服務(wù)是否存在,沒(méi)在存在則重新啟動(dòng)鬧鐘服務(wù)。(這里我設置每一分鐘檢測一次鬧鐘服務(wù))
在進(jìn)入應用程序的時(shí)候檢測當前系統是否是5.0以上,如果是則啟動(dòng)JobScheduler這個(gè)服務(wù)。代碼如下:
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); //設置設備重啟后,是否重新執行任務(wù) builder.setRequiresDeviceIdle(true); if (mJobScheduler.schedule(builder.build()) <= 0) { //If something goes wrong }}
其中的builder.setPersisted(true); 方法是設備重啟后,是否重新執行任務(wù),在這測過(guò)是可以重新啟動(dòng)任務(wù)的。
上面的操作進(jìn)一步保證了鬧鐘服務(wù)被Kill掉后,重新啟動(dòng)服務(wù)。但是在6.0以上引入了Doze模式,當6.0以上的手機進(jìn)入這個(gè)模式后,便會(huì )使JobScheduler停止工作。
6.0以上Doze模式的處理
為了讓JobScheduler可以在6.0以上進(jìn)入Doze模式工作,這里針對6.0以上的Doze模式做特殊的處理-忽略電池的優(yōu)化。
在Manifest.xml中加入權限。
在設置鬧鐘的時(shí)候,判斷系統是否是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; }}
如果沒(méi)有忽略電池優(yōu)化的時(shí)候,彈出提醒對話(huà)框,提示用戶(hù)進(jìn)行忽略電池優(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(); } }}
在界面重寫(xiě)onActivityResult方法來(lái)捕獲用戶(hù)的選擇。如,代碼如下:
@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(), "請開(kāi)啟忽略電池優(yōu)化~"); } }}
補充
當應用程序被Kill掉,但是鬧鐘的'服務(wù)沒(méi)有被Kill掉的,這時(shí)候又設置了鬧鐘。這就意味著(zhù)設置的鬧鐘沒(méi)有放到鬧鐘服務(wù)那里。所以這種情況,設置的鬧鐘會(huì )失效。為了解決這種情況,利用AIDL(鬧鐘服務(wù)在另一個(gè)進(jìn)程的需要進(jìn)程間通信)調用鬧鐘服務(wù)的重新設置鬧鐘方法重設鬧鐘。
在應用程序的onCreat()方法啟動(dòng)鬧鐘服務(wù),然后再綁定鬧鐘服務(wù)。
private void initAlarmService() { startService(new Intent(this, DaemonService.class));//啟動(dòng)鬧鐘服務(wù) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //JobScheduler ... } //綁定鬧鐘服務(wù) Intent intent = new Intent(this, DaemonService.class); intent.setAction("android.intent.action.DaemonService"); bindService(intent, mConnection, Context.BIND_AUTO_CREATE);}
在onDestroy()方法,調用鬧鐘服務(wù)的重設鬧鐘方法。代碼如下:
@Overrideprotected void onDestroy() { super.onDestroy(); try {//判斷是否有鬧鐘,沒(méi)有則關(guān)閉鬧鐘服務(wù) 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); //解除綁定服務(wù)。 } catch (Exception e) { }}
這里說(shuō)明一下,當服務(wù)啟動(dòng)并且被綁定的情況下,unbindService是不會(huì )停止服務(wù)的。
最后
以上并不代表所有的Android手機的鬧鐘都可以用,這只是盡最大的可能保證大部分的手機。
以上就是本文的全部?jì)热,希望對大家的學(xué)習有所幫助,也希望大家多多支持教程網(wǎng)。
解決方案 篇3
1.項目背景
HIS系統是一套集成門(mén)診掛號收費、住院收費、藥庫管理、藥房管理、院長(cháng)查詢(xún)等工作站的醫院管理系統.
某大型醫院采用HIS系統后,擁有大量服務(wù)提供相關(guān)服務(wù)應用.
隨著(zhù)業(yè)務(wù)量的增加,服務(wù)器承擔的服務(wù)任務(wù)越來(lái)越多,需要使用多臺服務(wù)器來(lái)運行相同服務(wù).
針對大圖像(CT)的服務(wù)器服務(wù)響應壓力也越來(lái)越大.需要通過(guò)負載均衡設備來(lái)提高系統應用交付能力及高可靠性.
2.客戶(hù)需求
保證當前的HIS系統WEB服務(wù)器的高可靠性,可擴展性.
在WEB服務(wù)器前放置四/七層負載均衡設備,把HIS系統流量轉發(fā)到多臺的WEB服務(wù)器上,對流量進(jìn)行合理優(yōu)化,減少單點(diǎn)故障的問(wèn)題,提高系統效率.
保證當前的HIS系統圖像服務(wù)器的高可靠性,可擴展性,在圖像服務(wù)器前放置四/七層負載均衡設備,把用戶(hù)的圖像的下載流量智能轉發(fā)到多臺圖像服務(wù)器上,減少單點(diǎn)故障的問(wèn)題,提高系統效率.
3.PIOLINK設計方案
方案中采用了PIOLINK的PAS3516負載均衡設備,支持16個(gè)千兆端口(16×10/100/1000Base-TX,16×1000Base-XSFP),該設備缺省配置了雙電源,雙閃存。
PIOLINK的PAS系列產(chǎn)品基于“ALLINONE”的設計理念,PAS3516上配置了SLB服務(wù)器的負載均衡功能,對訪(fǎng)問(wèn)內部的服務(wù)器的流量進(jìn)行流量均衡,將其分攤到對應服務(wù)器集群的主機上,保證用戶(hù)的最佳服務(wù).
2臺PAS3516通過(guò)VRRP協(xié)議做了設備冗余,保證網(wǎng)絡(luò )的可靠性,平時(shí)一臺處于A(yíng)ctive工作狀態(tài),另一臺處于standby的備份狀態(tài)。備機可以備份主設備上的所有會(huì )話(huà)和狀態(tài),這樣如果主設備出現問(wèn)題或故障,根據冗余協(xié)議的設置,備份PAS會(huì )即時(shí)接管主設備的所有會(huì )話(huà),用戶(hù)當前的應用不會(huì )受到影響,從而使得用戶(hù)的關(guān)鍵業(yè)務(wù)不會(huì )造成中斷,實(shí)現了高可用性。
如果醫院有增加internet鏈路出口,也可以將PAS3516前移,同時(shí)實(shí)現鏈路負載均衡的功能,充分保證了用戶(hù)的.投資。
4.采用PIOLINK給客戶(hù)帶來(lái)的收益
實(shí)現服務(wù)器應用的負載均衡,大大提升了HIS系統整體的性能表現.
PAS3516缺省支持雙電源,雙閃存,多風(fēng)扇系統,保證了設備的可靠性,同時(shí)兩臺設備本身可實(shí)現的熱備份,提高了客戶(hù)系統的穩定性.
PIOLINK負載均衡產(chǎn)品“ALLINONE”的設計理念,最大程度保證了用戶(hù)的投資。
PAS3516上啟動(dòng)了安全模塊PSM(PIOLINKsecuritymanager),可以提供蠕蟲(chóng)病毒攻擊,電子郵件蠕蟲(chóng)病毒攻擊和DoS攻擊等的防護功能,更進(jìn)一步加強了用戶(hù)的網(wǎng)絡(luò )安全。
解決方案 篇4
中小企業(yè)融資是指金融機構針對中小企業(yè)推出的定制化融資解決方案,由現有企業(yè)籌集資金并完成項目的投資建設,無(wú)論項目建成之前或之后,都不出現新的獨立法人。貸款和其他債務(wù)資金實(shí)際上是用于項目投資,但是債務(wù)方是公司而不是項目,整個(gè)公司的現金流量和資產(chǎn)都可用于償還債務(wù)、提供擔保;也就是說(shuō)債權人對債務(wù)有完全的追索權,即使項目失敗也必須由公司還貸,因而貸款的風(fēng)險程度相對較低。
專(zhuān)業(yè)解析:
據上海埂莎投資管理有限公司總裁吳田平介紹,中小企業(yè)融資是一個(gè)企業(yè)的資金籌集的行為與過(guò)程。也就是公司根據自身的生產(chǎn)經(jīng)營(yíng)狀況、資金擁有的狀況,以及公司未來(lái)經(jīng)營(yíng)發(fā)展的需要,通過(guò)科學(xué)的預測和決策,采用一定的'方式,從一定的渠道向公司的投資者和債權人去籌集資金,組織資金的供應,以保證公司正常生產(chǎn)需要,經(jīng)營(yíng)管理活動(dòng)需要的理財行為。中小企業(yè)融資過(guò)程是從中小企業(yè)融資準備到中小企業(yè)融資成功的階段,需要中小企業(yè)融資方做細致而具體的工作。中小企業(yè)融資過(guò)程主要分為以下幾個(gè)方面:
1、中小企業(yè)融資準備工作
中小企業(yè)融資需要有中小企業(yè)融資團隊、資料等準備,最關(guān)鍵的是商業(yè)計劃書(shū)準備中小企業(yè)融資解決方案中小企業(yè)融資解決方案。
通常,與風(fēng)險投資公司接觸的第一步是遞交商業(yè)計劃書(shū)。風(fēng)險投資商經(jīng)常接到大量商業(yè)計劃書(shū),因此,商業(yè)計劃書(shū)必需立刻吸引風(fēng)險投資商的眼球。商業(yè)計劃書(shū)摘要很重要,做得好可以引得投資商精讀計劃書(shū)全文,做得不好會(huì )讓他們決定不再浪費更多時(shí)間。
一份好的商業(yè)計劃書(shū)是至關(guān)重要的,應該完整而清晰地闡述公司的發(fā)展目標、長(cháng)期戰略等,這是表現企業(yè)發(fā)展潛力和創(chuàng )業(yè)者自身素質(zhì)的絕好機會(huì )。風(fēng)險投資家在初次閱讀一份商業(yè)計劃時(shí),就會(huì )對該企業(yè)的管理者進(jìn)行評估,從而預測投資回報。
2、中小企業(yè)融資方案策劃
制訂可行的中小企業(yè)融資方案將會(huì )有針對性的進(jìn)行中小企業(yè)融資運作,提高中小企業(yè)融資的效率
通常要考慮中小企業(yè)融資條件、中小企業(yè)融資方式、合作期限及資金退出方式等。
3、中小企業(yè)融資實(shí)施:
首先要選擇風(fēng)險投資公司,這是中小企業(yè)融資過(guò)程中甚為重要的一環(huán)中小企業(yè)融資解決方案投資創(chuàng )業(yè)。如果對投資者不進(jìn)行調研和選擇,就容易造成無(wú)謂的四處推銷(xiāo),從而拖延中小企業(yè)融資過(guò)程。
在選擇投資者時(shí),通常應考慮到地域、行業(yè)重點(diǎn)、發(fā)展階段以及所需資金量等因素。其它一些因素也同等重要,例如投資者在中小企業(yè)融資中是否為主投方,已投資過(guò)的企業(yè)是否會(huì )與你的公司進(jìn)行互補或競爭。
解決方案 篇5
1.軟件問(wèn)題:顯卡的驅動(dòng)沒(méi)有裝好。其實(shí)即使沒(méi)有驅動(dòng),顯示器也會(huì )正確地顯示每種顏色的,不至于出現丟失元色的情況,但是如果驅動(dòng)安裝不正確卻有可能出現這個(gè)問(wèn)題。如顯卡的類(lèi)型和驅動(dòng)類(lèi)型對應不一致,版本不一致等。這樣的問(wèn)題解決起來(lái)很簡(jiǎn)單,把原有的顯卡驅動(dòng)卸載重新安裝即可。卸載驅動(dòng)的方法是:我的電腦——右鍵“屬性”——硬件——設備管理器——顯示卡——右鍵——卸載。檢測是否顯卡驅動(dòng)問(wèn)題的方法很簡(jiǎn)單:以Windows XP為例,在電腦開(kāi)機進(jìn)入滾動(dòng)等候畫(huà)面時(shí),如果能夠正確顯示XP徽標上紅色而進(jìn)入系統之后卻無(wú)法顯示,則證明顯卡驅動(dòng)不正確。
2.顯示器問(wèn)題:顯示器硬件故障。造成顯示器硬件問(wèn)題的原因很多,如顯像管老化,所處環(huán)境潮濕導致線(xiàn)路氧化、靜電等都會(huì )造成顏色顯示不正常。根據不同的原因采取不同的方法即可,如將顯示器置于通風(fēng)處等(很多人喜歡給顯示器蒙一塊布來(lái)防塵,這里dudo提醒大家的是,防塵要用專(zhuān)用的防塵罩,否則可能會(huì )導致顯示器通風(fēng)散熱不暢)。
3.顯卡問(wèn)題:顯示問(wèn)題是最經(jīng)常出現的問(wèn)題。例如卡槽接觸不緊密、顯卡過(guò)熱、顯卡線(xiàn)路與元件問(wèn)題等。對于卡槽不緊密的問(wèn)題可以拔下來(lái)重插,有時(shí)可能是因為灰塵較多,這里需要清理一下插槽并用橡皮 等工具清理顯示卡。對于顯卡過(guò)熱,則可以上面安裝一個(gè)小風(fēng)扇或者把機箱放置通風(fēng)處,顯卡過(guò)熱造成的顏色不正常往往是剛開(kāi)機的時(shí)候比較正常,使用一段時(shí)間之后開(kāi)始走色。
4.接線(xiàn)問(wèn)題:顯示器和顯卡之間的.連接線(xiàn)。顯卡上所有的顏色信息都是經(jīng)常一條數據線(xiàn)傳遞到顯示器上的,如果這里出了問(wèn)題則也會(huì )引起三元色缺失或者顏色不正常。所以可以考慮換一根線(xiàn)試試。
5.線(xiàn)路接口針問(wèn)題:這是我遇到的問(wèn)題。顯示器缺少紅色的問(wèn)題困擾了我很久,我使用了上面所有的辦法都沒(méi)有解決掉,最后一次在群里聊天時(shí),老田同志讓我看看是不是顯卡接口處的針斷了。我把數據線(xiàn)拔下來(lái)檢查,果不其然,其中一根針嚴重彎曲,并沒(méi)有插入到針孔里去。后來(lái)用小鑷子直過(guò)來(lái)之后發(fā)現顯示器顏色一切正常了,缺失的紅色又回來(lái)了。
解決方案 篇6
一個(gè)小型的網(wǎng)站,比如個(gè)人網(wǎng)站,可以使用最簡(jiǎn)單的html靜態(tài)頁(yè)面就實(shí)現了,配合一些圖片達到美化效果,所有的頁(yè)面均存放在一個(gè)目錄下,這樣的網(wǎng)站對系統架構、性能的要求都很簡(jiǎn)單,隨著(zhù)互聯(lián)網(wǎng)業(yè)務(wù)的不斷豐富,網(wǎng)站相關(guān)的技術(shù)經(jīng)過(guò)這些年的發(fā)展,已經(jīng)細分到很細的方方面面,尤其對于大型網(wǎng)站來(lái)說(shuō),所采用的技術(shù)更是涉及面非常廣,從硬件到軟件、編程語(yǔ)言、數據庫、WebServer、防火墻等各個(gè)領(lǐng)域都有了很高的要求,已經(jīng)不是原來(lái)簡(jiǎn)單的html靜態(tài)網(wǎng)站所能比擬的。
大型網(wǎng)站,比如門(mén)戶(hù)網(wǎng)站。在面對大量用戶(hù)訪(fǎng)問(wèn)、高并發(fā)請求方面,基本的解決方案集中在這樣幾個(gè)環(huán)節:使用高性能的服務(wù)器、高性能的數據庫、高效率的編程語(yǔ)言、還有高性能的Web容器。但是除了這幾個(gè)方面,還沒(méi)法根本解決大型網(wǎng)站面臨的高負載和高并發(fā)問(wèn)題。
上面提供的幾個(gè)解決思路在一定程度上也意味著(zhù)更大的投入,并且這樣的解決思路具備瓶頸,沒(méi)有很好的擴展性,下面我從低成本、高性能和高擴張性的角度來(lái)說(shuō)說(shuō)我的一些經(jīng)驗。
1、HTML靜態(tài)化
其實(shí)大家都知道,效率最高、消耗最小的就是純靜態(tài)化的html頁(yè)面,所以我們盡可能使我們的網(wǎng)站上的頁(yè)面采用靜態(tài)頁(yè)面來(lái)實(shí)現,這個(gè)最簡(jiǎn)單的方法其實(shí)也是最有效的方法。但是對于大量?jì)热莶⑶翌l繁更新的網(wǎng)站,我們無(wú)法全部手動(dòng)去挨個(gè)實(shí)現,于是出現了我們常見(jiàn)的信息發(fā)布系統CMS,像我們常訪(fǎng)問(wèn)的各個(gè)門(mén)戶(hù)站點(diǎn)的新聞頻道,甚至他們的其他頻道,都是通過(guò)信息發(fā)布系統來(lái)管理和實(shí)現的,信息發(fā)布系統可以實(shí)現最簡(jiǎn)單的信息錄入自動(dòng)生成靜態(tài)頁(yè)面,還能具備頻道管理、權限管理、自動(dòng)抓取等功能,對于一個(gè)大型網(wǎng)站來(lái)說(shuō),擁有一套高效、可管理的CMS是必不可少的。
除了門(mén)戶(hù)和信息發(fā)布類(lèi)型的網(wǎng)站,對于交互性要求很高的社區類(lèi)型網(wǎng)站來(lái)說(shuō),盡可能的靜態(tài)化也是提高性能的必要手段,將社區內的帖子、文章進(jìn)行實(shí)時(shí)的靜態(tài)化,有更新的時(shí)候再重新靜態(tài)化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的策略,網(wǎng)易社區等也是如此。
同時(shí),html靜態(tài)化也是某些緩存策略使用的手段,對于系統中頻繁使用數據庫查詢(xún)但是內容更新很小的應用,可以考慮使用html靜態(tài)化來(lái)實(shí)現,比如論壇中論壇的公用設置信息,這些信息目前的主流論壇都可以進(jìn)行后臺管理并且存儲再數據庫中,這些信息其實(shí)大量被前臺程序調用,但是更新頻率很小,可以考慮將這部分內容進(jìn)行后臺更新的時(shí)候進(jìn)行靜態(tài)化,這樣避免了大量的數據庫訪(fǎng)問(wèn)請求。
2、圖片服務(wù)器分離
大家知道,對于Web服務(wù)器來(lái)說(shuō),不管是Apache、IIS還是其他容器,圖片是最消耗資源的,于是我們有必要將圖片與頁(yè)面進(jìn)行分離,這是基本上大型網(wǎng)站都會(huì )采用的策略,他們都有獨立的圖片服務(wù)器,甚至很多臺圖片服務(wù)器。這樣的架構可以降低提供頁(yè)面訪(fǎng)問(wèn)請求的服務(wù)器系統壓力,并且可以保證系統不會(huì )因為圖片問(wèn)題而崩潰,在應用服務(wù)器和圖片服務(wù)器上,可以進(jìn)行不同的配置優(yōu)化,比如apache在配置ContentType的時(shí)候可以盡量少支持,盡可能少的LoadModule,保證更高的系統消耗和執行效率。
3、數據庫集群和庫表散列
大型網(wǎng)站都有復雜的.應用,這些應用必須使用數據庫,那么在面對大量訪(fǎng)問(wèn)的時(shí)候,數據庫的瓶頸很快就能顯現出來(lái),這時(shí)一臺數據庫將很快無(wú)法滿(mǎn)足應用,于是我們需要使用數據庫集群或者庫表散列。
在數據庫集群方面,很多數據庫都有自己的解決方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是類(lèi)似的方案,您使用了什么樣的DB,就參考相應的解決方案來(lái)實(shí)施即可。
上面提到的數據庫集群由于在架構、成本、擴張性方面都會(huì )受到所采用DB類(lèi)型的限制,于是我們需要從應用程序的角度來(lái)考慮改善系統架構,庫表散列是常用并且最有效的解決方案。我們在應用程序中安裝業(yè)務(wù)和應用或者功能模塊將數據庫進(jìn)行分離,不同的模塊對應不同的數據庫或者表,再按照一定的策略對某個(gè)頁(yè)面或者功能進(jìn)行更小的數據庫散列,比如用戶(hù)表,按照用戶(hù)ID進(jìn)行表散列,這樣就能夠低成本的提升系統的性能并且有很好的擴展性。sohu的論壇就是采用了這樣的架構,將論壇的用戶(hù)、設置、帖子等信息進(jìn)行數據庫分離,然后對帖子、用戶(hù)按照板塊和ID進(jìn)行散列數據庫和表,最終可以在配置文件中進(jìn)行簡(jiǎn)單的配置便能讓系統隨時(shí)增加一臺低成本的數據庫進(jìn)來(lái)補充系統性能。
4、緩存
緩存一詞搞技術(shù)的都接觸過(guò),很多地方用到緩存。網(wǎng)站架構和網(wǎng)站開(kāi)發(fā)中的緩存也是非常重要。這里先講述最基本的兩種緩存。高級和分布式的緩存在后面講述。
架構方面的緩存,對Apache比較熟悉的人都能知道Apache提供了自己的緩存模塊,也可以使用外加的Squid模塊進(jìn)行緩存,這兩種方式均可以有效的提高Apache的訪(fǎng)問(wèn)響應能力。
網(wǎng)站程序開(kāi)發(fā)方面的緩存,Linux上提供的Memory Cache是常用的緩存接口,可以在web開(kāi)發(fā)中使用,比如用Java開(kāi)發(fā)的時(shí)候就可以調用MemoryCache對一些數據進(jìn)行緩存和通訊共享,一些大型社區使用了這樣的架構。另外,在使用web語(yǔ)言開(kāi)發(fā)的時(shí)候,各種語(yǔ)言基本都有自己的緩存模塊和方法,PHP有Pear的Cache模塊,Java就更多了,。net不是很熟悉,相信也肯定有。
5、鏡像
鏡像是大型網(wǎng)站常采用的提高性能和數據安全性的方式,鏡像的技術(shù)可以解決不同網(wǎng)絡(luò )接入商和地域帶來(lái)的用戶(hù)訪(fǎng)問(wèn)速度差異,比如ChinaNet和EduNet之間的差異就促使了很多網(wǎng)站在教育網(wǎng)內搭建鏡像站點(diǎn),數據進(jìn)行定時(shí)更新或者實(shí)時(shí)更新。在鏡像的細節技術(shù)方面,這里不闡述太深,有很多專(zhuān)業(yè)的現成的解決架構和產(chǎn)品可選。也有廉價(jià)的通過(guò)軟件實(shí)現的思路,比如Linux上的rsync等工具。
6、負載均衡
負載均衡將是大型網(wǎng)站解決高負荷訪(fǎng)問(wèn)和大量并發(fā)請求采用的終極解決辦法。
負載均衡技術(shù)發(fā)展了多年,有很多專(zhuān)業(yè)的服務(wù)提供商和產(chǎn)品可以選擇,我個(gè)人接觸過(guò)一些解決方法,其中有兩個(gè)架構可以給大家做參考。
1)硬件四層交換
第四層交換使用第三層和第四層信息包的報頭信息,根據應用區間識別業(yè)務(wù)流,將整個(gè)區間段的業(yè)務(wù)流分配到合適的應用服務(wù)器進(jìn)行處理。 第四層交換功能就象是虛IP,指向物理服務(wù)器。它傳輸的業(yè)務(wù)服從的協(xié)議多種多樣,有HTTP、FTP、NFS、Te。net或其他協(xié)議。這些業(yè)務(wù)在物理服務(wù)器基礎上,需要復雜的載量平衡算法。在IP世界,業(yè)務(wù)類(lèi)型由終端TCP或UDP端口地址來(lái)決定,在第四層交換中的應用區間則由源端和終端IP地址、TCP和UDP端口共同決定。
在硬件四層交換產(chǎn)品領(lǐng)域,有一些知名的產(chǎn)品可以選擇,比如Alteon、F5等,這些產(chǎn)品很昂貴,但是物有所值,能夠提供非常優(yōu)秀的性能和很靈活的管理能力。Yahoo中國當初接近20xx臺服務(wù)器使用了三四臺Alteon就搞定了。
2)軟件四層交換
大家知道了硬件四層交換機的原理后,基于OSI模型來(lái)實(shí)現的軟件四層交換也就應運而生,這樣的解決方案實(shí)現的原理一致,不過(guò)性能稍差。但是滿(mǎn)足一定量的壓力還是游刃有余的,有人說(shuō)軟件實(shí)現方式其實(shí)更靈活,處理能力完全看你配置的熟悉能力。
軟件四層交換我們可以使用Linux上常用的LVS來(lái)解決,LVS就是Linux Virtual Server,他提供了基于心跳線(xiàn)heartbeat的實(shí)時(shí)災難應對解決方案,提高系統的魯棒性,同時(shí)可供了靈活的虛擬VIP配置和管理功能,可以同時(shí)滿(mǎn)足多種應用需求,這對于分布式的系統來(lái)說(shuō)必不可少。
一個(gè)典型的使用負載均衡的策略就是,在軟件或者硬件四層交換的基礎上搭建squid集群,這種思路在很多大型網(wǎng)站包括搜索引擎上被采用,這樣的架構低成本、高性能還有很強的擴張性,隨時(shí)往架構里面增減節點(diǎn)都非常容易。這樣的架構我準備空了專(zhuān)門(mén)詳細整理一下和大家探討。
解決方案 篇7
每到新學(xué)期,許多孩子出現“開(kāi)學(xué)綜合癥”的表現,比如厭學(xué)、焦慮、上課走神、情緒不穩定等,嚴重的還出現失眠、嗜睡及一些查無(wú)明確原因的頭暈、惡心、腹痛、小便失禁、疲倦、食欲不振等病癥。這些問(wèn)題都讓很多家長(cháng)困惑不已。
“開(kāi)學(xué)綜合癥”主要集中表現在四類(lèi)孩子身上:
其一,適應新環(huán)境能力較弱,比如幼升小,小升初,初升高的孩子;
其二,經(jīng)常被老師批評的孩子,比如特別頑皮的,有不良習慣的孩子;
其三,學(xué)習成績(jì)不好的孩子;
其四,過(guò)于追求完美的孩子,比如三好生。
“開(kāi)學(xué)綜合癥”輕則體現在心理上,重則體現在生理上,這就要求我們的家長(cháng)細心對待。以下是專(zhuān)家給我們的一些建議。
1、如何解決心理上的“開(kāi)學(xué)綜合癥”?
首先,家長(cháng)應該幫助孩子樹(shù)立信心,這樣可以緩解孩子內心的脆弱和不安,建立自己比別人強的信念。這樣就能對學(xué)習抱有更積極的態(tài)度,更能適應新環(huán)境。
其次,不要有過(guò)高的期待,不要用理想化,完美化的眼光去期待新的環(huán)境。要讓理想和現實(shí)處于平衡的狀態(tài)。
其三,培養獨立的自我意識。比如,要多和同學(xué)在一起。這樣你才不會(huì )被孤獨感所包圍,不會(huì )被懷舊情緒所左右。
要常與老師、父母溝通、交流。只有在相互溝通、交流的基礎上,大家才能相互理解、相互諒解,也能為你營(yíng)造良好的學(xué)習生活環(huán)境;培養更多的興趣愛(ài)好。這樣不僅會(huì )使你結交到更多的`朋友,更會(huì )使你在興趣愛(ài)好中暫時(shí)了卻對家的思念。
2、如何解決生理上的“開(kāi)學(xué)綜合癥”?
生理上出現的“開(kāi)學(xué)綜合癥”癥狀就比較嚴重了。除了從精神上給予引導和舒壓,家長(cháng)還應多陪伴孩子,或者去專(zhuān)業(yè)的教育咨詢(xún)機構幫助孩子共同解決這些癥狀。專(zhuān)業(yè)的教育咨詢(xún)機構,既能用專(zhuān)業(yè)的方法幫助孩子解決“開(kāi)學(xué)綜合癥”的問(wèn)題,同時(shí),也能彌補孩子學(xué)業(yè)問(wèn)題,可謂一舉兩得。
【解決方案】相關(guān)文章:
解決方案05-20
解決方案(實(shí)用)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