亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        零配置分布式傳票翻打測(cè)試系統(tǒng)研究

        2018-03-04 07:03:20施茂祺魏旻
        電腦知識(shí)與技術(shù) 2018年36期

        施茂祺 魏旻

        摘要:傳票翻打是財(cái)經(jīng)工作者必備的一項(xiàng)基本功,也是部分財(cái)經(jīng)類專業(yè)的必備技能,并被列入全國高職會(huì)計(jì)技能比賽的正式項(xiàng)目。為更好組織日常教學(xué)及訓(xùn)練,該研究在分析專業(yè)教師和學(xué)生的實(shí)際需求的基礎(chǔ)上,采用客戶機(jī)/服務(wù)器模型,研發(fā)了傳票翻打測(cè)試軟件。經(jīng)實(shí)證應(yīng)用,效果良好,設(shè)計(jì)思路和采用的技術(shù)手段可行,具有一定的普遍性、適用性和較高的應(yīng)用推廣價(jià)值。

        關(guān)鍵詞:零配置分布式;傳票翻打;Client/Server

        中圖分類號(hào):TP3? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? 文章編號(hào):1009-3044(2018)36-0058-02

        1 問題的提出

        傳票翻打,或稱傳票算,是指在經(jīng)濟(jì)核算過程中,對(duì)各類單據(jù)、發(fā)票或憑證進(jìn)行匯總計(jì)算的一種方法。一般使用加減計(jì)算,它是加減運(yùn)算在實(shí)際工作中的具體應(yīng)用,可以為會(huì)計(jì)核算、財(cái)會(huì)分析、統(tǒng)計(jì)報(bào)表提供及時(shí)、準(zhǔn)確、可靠的基礎(chǔ)數(shù)字,是財(cái)經(jīng)工作者必備的一項(xiàng)基本功,并被列入全國高職會(huì)計(jì)技能比賽的正式項(xiàng)目。

        傳票本分為兩種:

        第一種是訂本式傳票,是在傳票的左上角裝訂成冊(cè),一般在比賽中使用。

        第二種活頁式,全國會(huì)計(jì)技能大賽采用。

        筆者所在學(xué)院為財(cái)經(jīng)類院校,傳票翻打是學(xué)院許多專業(yè)學(xué)生的必備技能,因此,亟需一款供日常教學(xué)及訓(xùn)練用傳票翻打測(cè)試軟件。經(jīng)與相關(guān)專業(yè)教師共同探討和分析,確定自己研發(fā)的傳票翻打測(cè)試系統(tǒng)必須具備的以下功能和特點(diǎn):

        1) 系統(tǒng)分為教師端和學(xué)生端兩部分;

        2) 學(xué)生端供學(xué)生練習(xí)與測(cè)試,接受學(xué)生輸入的傳票上的數(shù)據(jù)并實(shí)時(shí)匯總,考慮到學(xué)生練習(xí)時(shí)要求手、腦、眼并用,故學(xué)生端應(yīng)能提供學(xué)生一些提示信息,譬如翻打進(jìn)度、速度、正確率等等;

        3) 教師端是控制端,教師可在教師端批量導(dǎo)入、導(dǎo)出學(xué)生名單、試題,也可現(xiàn)場(chǎng)編撰題目并布置測(cè)試題,統(tǒng)一設(shè)置測(cè)試時(shí)間,實(shí)時(shí)監(jiān)控每一名學(xué)生的測(cè)試情況,收集并導(dǎo)出學(xué)生考試成績;

        4) 性能要求,參考本院實(shí)際班級(jí)人數(shù)以及合班上課的需求,要求系統(tǒng)至少能夠同時(shí)支持150人左右同時(shí)進(jìn)行測(cè)試。

        2 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵重點(diǎn)、難點(diǎn)說明

        根據(jù)上面系統(tǒng)需求分析, 筆者確定該系統(tǒng)的實(shí)現(xiàn)軟件為客戶機(jī)/服務(wù)器模型,又稱為Client/Server體系結(jié)構(gòu)。服務(wù)器Server通常采用高性能的工作站或PC小型機(jī),并采用Client/Server架構(gòu)數(shù)據(jù)庫系統(tǒng),如Sybase? Oracle或SQL? Server,負(fù)責(zé)供多個(gè)用戶共享其信息和功能??蛻舳薈lient部分通常負(fù)責(zé)執(zhí)行前臺(tái)功能,如與用戶交互,數(shù)據(jù)處理等。這種架構(gòu)由多臺(tái)計(jì)算機(jī)構(gòu)成,它們有機(jī)地組合在一起,協(xié)同完成整個(gè)應(yīng)用,并達(dá)到使系統(tǒng)中的軟件、硬件資源得到最大限度的利用。

        本系統(tǒng)服務(wù)器端即為教師端,而客戶端即為學(xué)生端。但是一般Client/Server結(jié)構(gòu)系統(tǒng)在應(yīng)用前都需要進(jìn)行系統(tǒng)部署、設(shè)置和調(diào)試工作,很多情況下,Client/Server架構(gòu)數(shù)據(jù)庫也需要進(jìn)行一系列參數(shù)設(shè)置和環(huán)境設(shè)置,譬如連接時(shí)數(shù)據(jù)庫就至少需要配置連接字符串。由于網(wǎng)絡(luò)環(huán)境不同,連接字符串并非固定不變的,因此往往專業(yè)人員上門進(jìn)行部署和測(cè)試。

        考慮到本系統(tǒng)用戶為會(huì)計(jì)類專業(yè)教師,讓他們?nèi)グ惭b和部署Client/Server架構(gòu)數(shù)據(jù)庫存在諸多的困難,因此,本系統(tǒng)在總體架構(gòu)為Client/Server模型的基礎(chǔ)上,后臺(tái)數(shù)據(jù)庫卻選擇了桌面模型數(shù)據(jù)庫Access。之所以選擇Access,是因?yàn)槲④浌疽呀?jīng)將其數(shù)據(jù)庫引擎Jet內(nèi)置到Windows操作系統(tǒng)之中,完全免安裝。但是桌面型數(shù)據(jù)庫應(yīng)用于網(wǎng)絡(luò)環(huán)境,相比Client/Server架構(gòu)的數(shù)據(jù)庫,如SQL? Server,由于整個(gè)數(shù)據(jù)庫都需要傳輸?shù)娇蛻舳诉M(jìn)行處理,造成網(wǎng)絡(luò)帶寬的巨大浪費(fèi),使得性能低下,支持客戶端的數(shù)量有限。為此,筆者考慮研究實(shí)現(xiàn)一個(gè)分布式框架,該分布式框架可將桌面架構(gòu)數(shù)據(jù)庫虛擬為Client/Server架構(gòu)數(shù)據(jù)庫,并可實(shí)現(xiàn)零配置,其具備以下特點(diǎn):

        1) 該框架適用于小型分布式程序。

        2) 原生框架,不依賴當(dāng)前流行的Java、.Net虛擬機(jī)運(yùn)行時(shí)環(huán)境,這樣才能保證無需任何配置,拷貝到電腦上即可使用。

        3) 將桌面型或嵌入式數(shù)據(jù)庫轉(zhuǎn)換為Client/Server架構(gòu)數(shù)據(jù)庫,服務(wù)器端無需安裝數(shù)據(jù)庫服務(wù)器,如SQL? Server,客戶端無需單獨(dú)安裝數(shù)據(jù)庫驅(qū)動(dòng),并且做到網(wǎng)絡(luò)線路上只有請(qǐng)求流和結(jié)果流,能更有效地利用網(wǎng)絡(luò)帶寬,從而達(dá)到高性能。

        4) 程序員使用本框架開發(fā)軟件簡單易用,如同開發(fā)桌面型數(shù)據(jù)庫一樣簡單。

        3 實(shí)現(xiàn)思路

        3.1 整體結(jié)構(gòu)

        如圖1所示,Client通過自定義協(xié)議向Server發(fā)送請(qǐng)求,Server監(jiān)測(cè)Client連接請(qǐng)求,為每一個(gè)Client連接請(qǐng)求生成一個(gè)服務(wù)線程,考慮到每一個(gè)連接都需要一定的系統(tǒng)開銷,所以Server自己維護(hù)連接歸入池中。因此,線程池負(fù)責(zé)分配管理和釋放Client連接,允許系統(tǒng)重復(fù)使用一個(gè)現(xiàn)有連接,而不是重新建立一個(gè)。

        該線程是衍生的會(huì)話線程,其內(nèi)封裝了客戶端IP、端口號(hào)、Client發(fā)送的數(shù)據(jù)包等大量信息。同樣,為提高性能,系統(tǒng)在啟動(dòng)時(shí)一次性生成一定數(shù)量的數(shù)據(jù)訪問對(duì)象(ADO),并放入對(duì)象池中。當(dāng)程序需要一個(gè)新的對(duì)象時(shí),如果對(duì)象池中有空閑對(duì)象,則立即返回,否則才創(chuàng)建新的該類對(duì)象。當(dāng)一個(gè)對(duì)象不再被使用時(shí),應(yīng)該將其放回對(duì)象池,以便程序后來使用。并提供了一組方法用于與客戶端通信,其原型形如:

        class? CClientThread:CThread

        private:

        bool? FTS;

        void*FChunkbuf;

        bool? Fiskeepalive;

        char*Fpeekbuffev;

        string GlobalPeerIpAddress;

        int? GlobalPeerPort;

        public:

        bool? Connect();

        bool? Listen();

        int? Sendbuf(const? void*buf,int? count);

        int? Write(char? c);

        int? Write(const? string? s);

        int? Write(void *buf,int? len);

        int? Read(void *buf,int? len);

        int? ReadInt()

        bool? SaveTo(CStream* stream,unsigned? timeout);

        bool? SaveTo(File? handle, unsigned? timeout);

        3.2 網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)

        Client/Server是一種請(qǐng)求-響應(yīng)模型,在一次完整的通信過程中,Client與Server之間將完成以下步驟:

        1) 建立TCP連接,通過socket建立Client與Server之間的TCP連接。

        2) Client向Server端發(fā)送命令,與http協(xié)議類似,命令存放在協(xié)議報(bào)文頭信息中。

        3) Client發(fā)送協(xié)議報(bào)文信息。Client在發(fā)送請(qǐng)求命令之后,還要以協(xié)議報(bào)文的形式向服務(wù)器發(fā)送請(qǐng)求的具體參數(shù)。

        4) Server應(yīng)答,Server會(huì)向Client返回響應(yīng),主要是響應(yīng)狀態(tài)碼。

        5) Server返回協(xié)議報(bào)文,發(fā)送Client所請(qǐng)求的實(shí)際數(shù)據(jù)。

        本系統(tǒng)設(shè)計(jì)了如下,一些整數(shù)作為協(xié)議頭信息:

        1) CTSLOGIN=1;成功登陸標(biāo)記;

        2) CRESPOK=1;返回狀態(tài)碼,‘1表示響應(yīng)成功;

        3) CRESPFAULT=2;返回狀態(tài)碼,‘2表示響應(yīng)失敗;

        4) CRESULTOK=0;返回結(jié)果正確;

        5) CRESULTNO=0;返回結(jié)果錯(cuò)誤;

        6) DISONN=0;斷開連接;

        7) EXESQL=1;執(zhí)行SQL結(jié)句;

        8) OPENSQL=2;打開SQL結(jié)句;

        9) LINKTEST=2;連接測(cè)試;

        10) ACTIVEPACK=4;激活包。

        3.3 系統(tǒng)的運(yùn)作流程

        如圖2所示,Server和Client內(nèi)部存在一個(gè)工作循環(huán),Server是一個(gè)監(jiān)聽循環(huán),在循環(huán)內(nèi)Server通過讀取客戶端請(qǐng)求協(xié)議頭信息得知請(qǐng)求意圖,這將觸發(fā)Server做出不同的響應(yīng)動(dòng)作,其邏輯通過偽碼說明如下:

        switch(IHead) {? //對(duì)協(xié)議頭信息進(jìn)行判斷

        case? EXESQL:? // //執(zhí)行一條SQL語句 更新或者執(zhí)行

        Llen = ClientThread→Socket→ReadInteger;

        LSQl = ClientThread→Socket→ReadStr(Llen);

        ADOQuery→SQL.Clear;

        ADOQuery→SQL→Add(LSQl);

        ADOQuery→Execute;

        break;

        case? OPENSQL:? //執(zhí)行一個(gè)查詢語句

        Llen = ClientThread→Socket→ReadInteger;

        LSQl = ClientThread→Socket→ReadStr(Llen);

        ADOQuery→SQL.Clear;

        ADOQuery→SQL→Add(LSQl);

        ADOQuery→Open();

        break;

        }

        3.4 結(jié)果集的返回

        Client/Server架構(gòu)的數(shù)據(jù)庫,可根據(jù)Client查詢請(qǐng)求返回相應(yīng)的結(jié)果集,避免了在網(wǎng)絡(luò)上傳播無效數(shù)據(jù),有效地利用了網(wǎng)絡(luò)帶寬,提高了系統(tǒng)性能。本系統(tǒng)采用了流處理機(jī)制(Stream)對(duì)數(shù)據(jù)集對(duì)象(ADO)序列化和反序列化,利用AdoDataSet數(shù)據(jù)集SaveToFile方法將數(shù)據(jù)集保存到文件中,再通過內(nèi)存流(MemoryStream)緩存在內(nèi)存中,使用 ZIP壓縮算法在壓縮內(nèi)存流中的數(shù)據(jù)后返回給Client,Client收到響應(yīng)數(shù)據(jù)后進(jìn)行反序列化即可還原出該數(shù)據(jù)集對(duì)象(ADO)。由于網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,進(jìn)一步提高了系統(tǒng)性能。

        4 結(jié)束語

        本系統(tǒng)開發(fā)完成后,一直應(yīng)用于江西財(cái)經(jīng)職業(yè)學(xué)院會(huì)計(jì)及相關(guān)專業(yè)教學(xué)之中,并選作了近幾年江西省大學(xué)生會(huì)計(jì)技能競(jìng)賽軟件,效果良好,證明其設(shè)計(jì)思路和采用的技術(shù)手段是可行的,具有一定的普遍性和適用性以及較高的推廣價(jià)值。

        參考文獻(xiàn):

        [1] 劉向東.基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2018,14(11):8-10.

        [2] 孟繁榮.中職傳票翻打技能比賽有效訓(xùn)練的實(shí)踐及研究[J].科教導(dǎo)刊:中旬刊,2016(04):42-43.

        [3] 狄慶貴.基于Client/Server技術(shù)的質(zhì)量信息管理系統(tǒng)[J].中國管理信息化,2017,20(10):50-51.

        [通聯(lián)編輯:張薇]

        日本视频精品一区二区| 台湾无码av一区二区三区| 一二三四在线视频社区3| 精品一二区| 久久黄色精品内射胖女人| 国产乱子伦精品无码专区| 亚洲av成人无码网站大全| 国产免费av片在线观看播放| 精品在线视频免费在线观看视频| av天堂最新在线播放| 久久久亚洲欧洲日产国码αv| 免费一区二区三区久久| 日本丰满少妇高潮呻吟| 日本最新视频一区二区| 亚洲中文字幕无码中文字| 漂亮人妻被黑人久久精品| 久久成人黄色免费网站| 免费av日韩一区二区| 中文字幕乱偷无码av先锋蜜桃| 色综合一本| 丁香婷婷激情俺也去俺来也| 白白色白白色视频发布| 一本色道久久综合亚洲精品不卡| 青青青伊人色综合久久亚洲综合| 亚洲三级香港三级久久| 成人做爰69片免费看网站野花| 艳妇乳肉豪妇荡乳av无码福利| 国产视频精品一区白白色| 蜜桃臀av一区二区三区| 成人毛片一区二区 | 一本大道在线一久道一区二区| 国产丝袜一区丝袜高跟美腿| 国产精品 亚洲 无码 在线| 国内精品九九久久久精品| 国内精品人人妻少妇视频| 亚洲人成综合第一网站| 亚洲产国偷v产偷v自拍色戒| 69av视频在线| 日韩精品乱码中文字幕| 在线观看热码亚洲av每日更新| 在线精品无码一区二区三区|