考試軟件流程

modelTp== 2, 搜索題目

modelTp==3, 組卷

modelTp== 4 顯示5個模塊, 每個模塊幾道題

modelTp== 1, 點擊樹節點,顯示html格式的題目

點擊計時器結束按鈕,

彈出UploadDialog對話框,框有個函數InstantSaveAsync,字面意思:立即上傳

{

1. PrepareUpload, 返回CommonExam, 該考試裏面最重要成員List<CommonStudent> students, 該學生重要成員爲:

strokesFile, scoreFile, 筆跡文件和得分文件

每次上傳會創建一個目錄,yyyyddMMHHmmss

然後遍歷每個學生, 對每個學生:

a 產生筆跡文件,stroke_guid.dat, 筆跡序列化到文件中

b 產生得分文件,score_guid.dat, 題目和分數信息序列化到文件中

c 保存該學生的考試信息,POST 到api/student-examines, 考試狀態爲PARTIAL

最後返回一個CommonExam,包含上傳到雲端的一些信息, 包括筆跡前綴, 得分前綴, 上傳文件的本地路徑等等

2. UploadToAliServer

a 遍歷每個學生,把筆跡文件和得分文件上傳到雲端

b 把這次考試對象上傳到服務器, api/examines/update_status, 該考試的狀態爲EVALUATE

注意: EVALUATE和PARTIAL分別是對應考試和學生的, 不要搞混了,考試也有PARTIAL狀態,從識別服務到數據庫改考試爲PARTIAL

}

============================================================================

服務器端,

在session的Initialize函數中創建識別對象

創建連接工廠ConnectionFactory, 這是連接到RabbitMQ用的。

獲取到連接對象之後,再創建一個RecogMessageReceiver對象。在對象的構造函數中,

先從連接對象獲取到一個channel,用這個channel聲明一個隊列,QueueDeclare

然後構造一個EventingBasicConsumer消費者對象,爲該對象添加一個接收消息處理器OnReceiver

相關數據結構, 

api/examines/update_status, 收到Examine對象,從服務器中找出該考試,然後更新考試的狀態爲EVALUATE

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章