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

        ?

        基于SaaS模式的云農(nóng)平臺的設(shè)計與搭建

        2021-01-14 00:47:20龍濤諶愛文
        現(xiàn)代信息科技 2021年14期
        關(guān)鍵詞:農(nóng)業(yè)信息化農(nóng)業(yè)現(xiàn)代化

        龍濤 諶愛文

        摘 要:在鮮果類經(jīng)濟作物收獲季,一些地理位置相對偏僻的地區(qū)由于諸多原因?qū)е罗r(nóng)產(chǎn)品滯銷問題較為嚴重。因此,文章基于Django語言和SaaS模式開發(fā)設(shè)計一個由數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)處理系統(tǒng)、文件管理系統(tǒng)三部分組成的信息服務云農(nóng)平臺,利用該平臺的數(shù)據(jù)整合查詢功能以及云盤文件管理功能解決地區(qū)農(nóng)業(yè)獲取市場信息不及時導致信息不對稱問題,從而有效地提升農(nóng)產(chǎn)品的銷量問題,也提升地區(qū)農(nóng)業(yè)的信息化水平,加快推動現(xiàn)代信息農(nóng)業(yè)發(fā)展。

        關(guān)鍵詞:SaaS平臺;農(nóng)業(yè)信息化;農(nóng)業(yè)現(xiàn)代化;滯銷

        中圖分類號:TP311 ? ? ?文獻標識碼:A文章編號:2096-4706(2021)14-0001-04

        Abstract: In the harvest season of fresh fruit cash crops, the unsalable problem of agricultural products in some relatively remote areas is more serious due to many reasons. Therefore, based on Django language and SaaS mode, this paper develops and designs an information service cloud agriculture platform composed of data acquisition system, data processing system and file management system, and uses the data integration query function and cloud disk file management function of the platform to solve the problem of information asymmetry caused by the untimely acquisition of market information by regional agriculture, so as to effectively improve the sales of agricultural products, improve the informatization level of regional agriculture, and accelerate the development of modern information agriculture.

        Keywords: SaaS platform; agricultural informatization; agricultural modernization; unsalable

        0 ?引 ?言

        近年來,湘西州地區(qū)由于地處偏遠,交通不便,市場信息比較閉塞等原因?qū)е迈r果類產(chǎn)品滯銷問題頻發(fā)[1]。隨著我國信息技術(shù)產(chǎn)業(yè)蓬勃發(fā)展,農(nóng)業(yè)的發(fā)展與改革也搭上了信息快車,從傳統(tǒng)農(nóng)業(yè)向現(xiàn)代農(nóng)業(yè)轉(zhuǎn)變,邁向信息化、數(shù)字化。美國、法國、澳大利亞和日本等農(nóng)業(yè)發(fā)達國家根據(jù)自己農(nóng)業(yè)信息化情況并結(jié)合本地實際,形成了具有自身的特點農(nóng)業(yè)信息化建設(shè)的方法與實踐。目前,“農(nóng)業(yè)+云平臺”已成為現(xiàn)代農(nóng)業(yè)發(fā)展的主方向,大數(shù)據(jù)分析平臺的支撐已成為農(nóng)業(yè)信息化,農(nóng)業(yè)現(xiàn)代化的必要需求。因此,搭建一個農(nóng)業(yè)數(shù)據(jù)云平臺是極具意義的,能讓當?shù)剞r(nóng)業(yè)產(chǎn)業(yè)體系更地享受信息紅利,與此同時帶動生產(chǎn)力的積極性,同時也深化數(shù)字農(nóng)業(yè)改革,響應《數(shù)字農(nóng)業(yè)農(nóng)村發(fā)展規(guī)劃(2019—2025年)》,將數(shù)字化賦能于傳統(tǒng)農(nóng)業(yè),加速湘西地區(qū)的數(shù)字農(nóng)業(yè)農(nóng)村發(fā)展[2]。

        1 ?系統(tǒng)總體設(shè)計

        湘西云農(nóng)平臺是一個使用Django開發(fā)的SaaS結(jié)構(gòu)平臺,為企業(yè)或個人提供一種開箱即用的軟件服務方式??紤]到平臺的目標用戶群體,該系統(tǒng)整體界面設(shè)計簡潔明了,使用操作簡便,對每個專業(yè)術(shù)語都標有通俗的說明與簡要作用,極大方便了租戶,降低了其學習成本,讓租戶可以直接從數(shù)據(jù)圖中感受到市場變化。

        該平臺系統(tǒng)主要實現(xiàn)有兩個主要功能:數(shù)據(jù)整合查詢功能以及云盤文件管理功能。

        數(shù)據(jù)整合查詢功能為用戶提供數(shù)據(jù)來源。該平臺整合了互聯(lián)網(wǎng)上有關(guān)農(nóng)業(yè)作物的數(shù)據(jù)(價格、產(chǎn)地種植面積、產(chǎn)能等),其來源有果蔬、農(nóng)業(yè)垂直網(wǎng)站,金融資訊網(wǎng)站、交易所、地方統(tǒng)計局和國家統(tǒng)計局年鑒等,為租戶提供農(nóng)作物的數(shù)據(jù)查詢服務。該平臺的數(shù)據(jù)查詢種類主要有鮮果類,也包括其他種類,例如油料作物、蔬菜作物、糧食作物等,同時其布告欄上也整合了多家垂直網(wǎng)站的預警消息、供求帖、方便租戶及時獲取最新的消息以了解市場行情。農(nóng)戶不需要坐等商家上門,可直接通過供求帖獲取商家聯(lián)系方式進行洽談,掌握云農(nóng)平臺上的數(shù)據(jù)提高議價能力[3]。

        云盤文件管理功能為用戶提供便捷的文件管理服務。每位租戶在該平臺上有自己的云盤空間,能夠?qū)⒆约旱臄?shù)據(jù)上傳到自己的云盤,然后在平臺上將上傳的數(shù)據(jù)與平臺數(shù)據(jù)整合在同一個表格中做比較,同時也會向租戶提供部分商品的短期價格預測。

        1.1 ?基于SaaS模式搭建平臺

        SaaS是Software-as-a-Service(軟件即服務)的簡稱,是21世紀開始興起的一種軟件應用模式,可以跨地域、跨平臺服務。該軟件模式有多種特性和優(yōu)勢。

        對于服務提供商而言,可以統(tǒng)一對軟件進行版本管理,統(tǒng)一版本,統(tǒng)一更新,能夠進行多端適配縮短產(chǎn)品上線時間,同時也能夠降低維護成本,減小運維壓力[4]。

        對于用戶而言,SaaS方式能夠做到開箱即用,只需要在登錄網(wǎng)站后即可體驗提供商提供的軟件服務。相比于傳統(tǒng)使用軟件的方式,租戶省去了研發(fā)、部署、運維等一系列繁復的過程,且獲得軟件的時間和費用成本都大幅度降低。而且租戶每次登錄到系統(tǒng)上時,就已經(jīng)獲取了最新版本的軟件服務,不需要再重新下載、安裝、配置,SaaS登錄即可體驗[5]。

        1.2 ?系統(tǒng)組成

        湘西云農(nóng)平臺通過Django開發(fā)[6],用戶只需要在終端設(shè)備登錄網(wǎng)站,即可觀察到最新的行情變動。具體而言主要由以下3個子系統(tǒng)構(gòu)成。

        1.2.1 ?數(shù)據(jù)采集系統(tǒng)

        采用Scrapy-Redis分布式爬蟲,在多個有關(guān)農(nóng)作物、果蔬信息的垂直網(wǎng)站上進行爬取,再以不同的農(nóng)作物類型、水果類型建表,解析并存儲名稱、價格、時間、地名(轉(zhuǎn)換成中國城市編碼)、收購價格、批發(fā)價格等等,經(jīng)過清洗后保存在MongoDB中[7],如圖1所示。

        平臺使用Redis作為高速緩存,緩存一些頻繁被訪問的數(shù)據(jù)(例如柑橘類信息,全州鮮果類主要作物中,柑橘類占近70%[2]),租戶瀏覽的歷史記錄等。當租戶請求數(shù)據(jù)時,平臺會先從Redis取數(shù)據(jù),有則響應返回數(shù)據(jù),如果沒有的話,就向MongoDB取相應的數(shù)據(jù),如圖2所示。

        1.2.2 ?數(shù)據(jù)處理系統(tǒng)

        展示數(shù)據(jù)圖表和一些垂直網(wǎng)站上的市場預警信息、求購信息等。將MongoDB中的數(shù)據(jù)分類,多級菜單,分頁展示,使用Echarts展示圖表,界面提供多種圖表樣式可隨時替換。租戶可以將一些圖表收藏(星標)在自己的空間里“我的圖表”。

        該系統(tǒng)還能為用戶提供一個圖表轉(zhuǎn)化的功能,主要是可以將選取的系統(tǒng)數(shù)據(jù)與租戶自己上傳的數(shù)據(jù)(Excel或CSV文件)結(jié)合在同一個圖表中顯示,這樣比較將能最直觀地感受到數(shù)據(jù)上的變化。同時系統(tǒng)也可以針對部分農(nóng)作物,根據(jù)近年的數(shù)據(jù)使用ARIMA模型進行短期的價格預測。

        1.2.3 ?文件管理系統(tǒng)

        對象存儲(Cloud Object Storage, COS)是由騰訊云推出的無目錄層次結(jié)構(gòu)、無數(shù)據(jù)格式限制,可容納海量數(shù)據(jù)且支持 HTTP/HTTPS 協(xié)議訪問的分布式存儲服務。平臺通過COS對象存儲服務,實現(xiàn)更快的上傳、查看、下載文件等操作,如圖3所示。COS存儲桶空間無容量上限,無須分區(qū)管理,適用于 CDN 數(shù)據(jù)分發(fā)、數(shù)據(jù)萬象處理或大數(shù)據(jù)計算與分析的數(shù)據(jù)湖等多種場景。文件管理系統(tǒng)實現(xiàn)多個功能,通過臨時密鑰上傳文件、下載文件、查看文件、刪除文件等。

        每個租戶初始都有一定的云盤空間,可以通過瀏覽器對自己的文件進行更刪改查等操作。

        上傳文件時,平臺會返回一個臨時Token作為租戶上傳文件的憑證,然后上傳至COS,上傳成功之后返回文件名給平臺存儲至數(shù)據(jù)庫。

        租戶也可以在系統(tǒng)上下載Excel文件,依據(jù)年份,或者農(nóng)作物種類/名稱,數(shù)據(jù)類型等選擇下載或星標收藏文件。同樣先向平臺發(fā)送下載請求然后平臺從COS獲取對應的文件內(nèi)容并返回給租戶。

        2 ?實現(xiàn)與部署

        開發(fā)環(huán)境與部署環(huán)境均為python3.7、Django1.11.28、docker19.03.5。兩臺主機,分別為Windows10筆電和樹莓派4b Raspbian。

        2.1 ?數(shù)據(jù)采集部分

        使用docker布置多臺機器,Scrapy-Redis分布式爬取垂直類網(wǎng)站。為防止爬取速度過快而對網(wǎng)站服務器造成損害,在中間件middlewares.py里設(shè)置隨機延遲RANDOM_DELAY。

        同時為了避免IP被封,還需要創(chuàng)建代理池,如圖4所示。由于代理池中的IP有時效性,需要不斷被驗證:校驗器從頭部去取IP,一次性取多個IP并使用異步請求(協(xié)程處理)進行二次校驗,成功的重新添加到List尾部,而使用代理時就直接從尾部取。調(diào)度器負責通過調(diào)用校驗器和添加器對代理IP隊列進行循環(huán)校驗與循環(huán)檢測,

        部分頁面解析的回調(diào)函數(shù)為:

        def parse_infoPage(response):

        info_list=response.xpath(‘/html/body/div[3]/table//td’)

        for cnt,I in enumerate(info_list,1):

        rem=cnt%6

        if rem==1:

        date=i.xpath(‘./@title’).extract_first()

        if rem==2:

        addr=i.xpath(‘./a/text()’).extract_first()

        if rem==3:

        fruit=i.xpath(‘./a/text()’).extract_first()

        if rem==4:

        price=i.xpath(‘string(./p[1])’).extract_first().strip()

        if rem==5:

        user=i.xpath(‘./a/text()’).extract_first()

        if rem==0:

        phone = i.xpath(‘./p/text()’).extract_first()

        爬取的數(shù)據(jù)部分展示如圖5所示。

        2.2 ?短信驗證碼的實現(xiàn)

        短信驗證碼功能主要實現(xiàn)兩種方法一種是單條發(fā)送短信,另一種是批量發(fā)送短信。單條發(fā)送短信驗證碼的方法用來實現(xiàn)用戶注冊、登錄、重置密碼,而批量發(fā)送短信驗證碼的方法主要用作推廣或者廣告。該功能核心代碼及實現(xiàn)流程為:先注冊騰訊云并開通云短信在騰訊云上創(chuàng)建三個短信模板,分別用作“用戶注冊”“用戶登錄”“重置密碼“三個功能。然后安裝騰訊的SDK,pip install qcloudsms_py。

        2.3 ?用戶權(quán)限及用戶額度處理

        平臺大部分功能只對已注冊登錄的用戶開放,對于未登錄的訪問者不予以功能服務。設(shè)置登錄白名單(無須登錄就可訪問的頁面)以實現(xiàn)登錄用戶與游客的權(quán)限劃分。

        配置文件settings.py中設(shè)置url白名單:

        WHITE_REGEX_URL_LIST = [

        “/register/”,

        “/send/sms/”, ?#短信驗證碼

        “/login/”,

        “/image/code”, #圖形驗證碼

        “/index/”,

        ]

        在auth.py中創(chuàng)建中間件AuthMiddleware(),同時將用戶信息及其額度信息封裝到中間件Vip中:

        class Vip(object): # 將用戶信息與額度信息封裝在vip中

        self.user = None

        self.price_policy = None

        class AuthMiddleware(MiddlewareMixin):

        def process_request(self, request):

        . request.vip = Vip()

        user_id = request.session.get(‘user_id’, 0)

        user_object = models.UserInfo.object.filter(id=user_id).first()

        request.vip.user = user_object

        if request.path_info in settings.WHITE_REGEX_URL_LIST:

        return

        if not request.vip.user:

        return redirect(“l(fā)ogin”) ? ?# 否則重定向到登錄界面

        .

        # 免費額度在交易記錄中存儲

        _object = models.Transaction.object.filter(user=user_object, status=2).order_by(‘-id’).first()

        current_datetime = datetime.datetime.now()

        if _object.end_datetime and _object.end_datetime<current_datetime:

        _object = models.Transaction.object.filter(user=user_object, status=2, price_policy_category=1).first()

        request.vip.price_policy = _object.price_policy

        2.4 ?文件上傳、刪除、下載功能的實現(xiàn)

        用戶上傳文件時,會先向django發(fā)送請求,然后服務器返回臨時憑證,用戶才能攜帶臨時憑證上傳文件。需要有兩個路由,一個用于獲取臨時憑證,一個用于上傳文件,URL為:

        url(r’^uploadFile/$’, manage.upload, name=’upload_file’),

        url(r’^cos/credential/$’, manage.cos_credential, name=’cos_credential’)

        安裝一個用于生成臨時憑證的python模塊,pip install qcloud-python-sts -U.

        COS創(chuàng)建存儲桶并設(shè)置CORS跨域處理的核心代碼實現(xiàn):

        下載文件。用戶下載文件分為兩種,一種是從自己云盤空間下載,需要從COS端獲取,而下載云平臺上的公共文件,即從本地數(shù)據(jù)庫獲取。下文為從COS端下載文件的核心代碼:

        def file_download(request, project_id, file_id):

        file_object = models.FileRepository.object.filter(id=file_id, project_id=project_id).first()

        res = request.get(file_object.file_path)

        data = res.content

        response = HttpResponse(data)

        # 設(shè)置響應頭

        response[‘Content-Disposition’] = “attachment; filename={}”.format(file_object.name)

        return response

        3 ?結(jié) ?論

        本文基于Django語言和SaaS模式開發(fā)設(shè)計一個由數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)處理系統(tǒng)、文件管理系統(tǒng)三個子系統(tǒng)組成的信息服務云農(nóng)平臺,利用該平臺的數(shù)據(jù)整合查詢功能以及云盤文件管理功能,為用戶提供了大量農(nóng)產(chǎn)品市場信息以及便捷的文件管理服務,有效地解決了地區(qū)農(nóng)產(chǎn)品市場信息不對稱問題,從而有效地提升農(nóng)產(chǎn)品的銷量問題。但是本文算法運行速度較慢,很難滿足實時性,未來可以在上述不足之處進行優(yōu)化,進一步提高本算法的性能。

        參考文獻:

        [1] 湘西自治州統(tǒng)計局.湘西統(tǒng)計年鑒 [R/OL].(2019-11-27).http://www.xxz.gov.cn/zfsj/tjnj_47577/201911/t20191127_1289033.html

        [2] 劉鐘.現(xiàn)代農(nóng)業(yè)中的數(shù)字化信息系統(tǒng) [D].成都:電子科技大學,2015.

        [3] 呂小剛.數(shù)字農(nóng)業(yè)推動農(nóng)業(yè)高質(zhì)量發(fā)展的思路和對策 [J].農(nóng)業(yè)經(jīng)濟,2020(9):15-16.

        [4] 昌中作,徐悅,戴鋼.基于SaaS模式公共服務平臺多用戶數(shù)據(jù)結(jié)構(gòu)的研究 [J].計算機系統(tǒng)應用,2008(2):7-11.

        [5] 國艷群,韓敏,孫林夫.開放SaaS產(chǎn)業(yè)服務平臺模型與體系結(jié)構(gòu) [J].西南交通大學學報,2014,49(6):1068-1072.

        [6] 徐秀芳,夏旻,徐森,等.基于Django的校園疫情防控系統(tǒng)設(shè)計與實現(xiàn) [J].軟件導刊,2021,20(2):24-30.

        [7] 趙宸,劉建華.基于Django的分布式爬蟲框架設(shè)計與實現(xiàn) [J].計算機與數(shù)字工程,2020,48(10):2495-2498.

        作者簡介:龍濤(2000—),男,漢族,湖南長沙人,本科在讀,主要研究方向:大數(shù)據(jù)分析處理;通訊作者:諶愛文(1970—),女,漢族,湖南安化人,副教授,碩士,主要研究方向:計算機應用。

        猜你喜歡
        農(nóng)業(yè)信息化農(nóng)業(yè)現(xiàn)代化
        基于本體的農(nóng)業(yè)知識建模研究
        軟件導刊(2016年12期)2017-01-21 15:13:22
        咸寧市農(nóng)業(yè)現(xiàn)代化現(xiàn)狀及發(fā)展對策
        宿遷市農(nóng)業(yè)信息化發(fā)展的現(xiàn)狀分析及對策研究
        基于網(wǎng)絡和多媒體的農(nóng)業(yè)信息化建設(shè)探討
        “互聯(lián)網(wǎng)+農(nóng)業(yè)”信息化發(fā)展路徑探討
        金融對農(nóng)業(yè)現(xiàn)代化發(fā)展的影響及對策實證分析
        人間(2016年24期)2016-11-23 15:40:08
        新型城鎮(zhèn)化背景下新型職業(yè)農(nóng)民培育機制研究
        貫徹新的發(fā)展理念 促進農(nóng)業(yè)現(xiàn)代化
        新一代(2016年15期)2016-11-16 15:40:53
        農(nóng)業(yè)信息化對我國農(nóng)業(yè)經(jīng)濟增長影響分析
        農(nóng)業(yè)現(xiàn)代化及其金融支持的國際經(jīng)驗
        亚洲人妻御姐中文字幕| 亚洲不卡av不卡一区二区| 一级一级毛片无码免费视频 | 亚洲国产精品悠悠久久琪琪| 麻豆国产乱人伦精品一区二区| 亚洲国产精品中文字幕日韩| 亚洲午夜看片无码| 国产亚洲无码1024| 久久精品av一区二区免费| 日本少妇熟女一区二区| 亚洲毛片一区二区在线| 精品人妻一区二区三区久久| 亚洲精品无码久久久影院相关影片| 理论片午午伦夜理片影院| 国产精品内射后入合集| 超碰Av一区=区三区| 亚洲综合一区二区三区蜜臀av| 亚洲无毛成人在线视频| 亚洲夜夜性无码| 毛片无码国产| 国产精品后入内射日本在线观看 | 狂野欧美性猛xxxx乱大交| 性色av无码一区二区三区人妻| 真实国产网爆门事件在线观看| 亚洲一区二区三区毛片| 国产亚洲精品一品二品| 就爱射视频在线视频在线| 亚洲中文字幕日产无码| 人人摸人人搞人人透| 国精品无码一区二区三区在线蜜臀 | 51看片免费视频在观看| 无码专区久久综合久中文字幕| 日韩国产成人精品视频| 国产精品人成在线765| 日本人妻伦理在线播放 | 国产网友自拍视频在线观看| 国产亚洲一区二区三区| 女人18毛片a级毛片| 国产精品成人久久电影| 国产成人九九精品二区三区| 亚洲精品美女自拍偷拍|