丁柳++任書民
摘 要:本文從大型煤礦企業實際出發,結合煤礦現有生產管理業務系統,設計實現了一個大型煤礦移動信息化綜合應用平臺。平臺服務端實現了業務接口對接、數據轉發、權限管理、消息推送等功能,為移動客戶端提供服務支持。在移動端采用插件式框架,結合服務端的權限管理模塊,實現了自由安裝,按需加載的移動應用。通過本項目的實施,可以給用戶提供隨時隨地查詢以及監管煤礦生產運營情況,加強了各個礦級單位之間的聯系。對大型煤礦企業的提高生產效率、加強了管理力度、降低了安全隱患方面提供了巨大的幫助。
關鍵詞:移動設備;移動信息化;插件式框架
中圖分類號:TP315 文獻標識碼:A 文章編號:1671-2064(2017)20-0009-05
1 引言
計算機便攜化是未來的發展趨勢,而Android作為最受歡迎的手機、平板電腦操作之一,其發展的上升勢頭是勢不可當的[1]。移動應用在日常生活中越來越不可缺少,移動通信和互聯網組成的移動應用技術不僅可以讓用戶隨時隨地處理工作和生活中的事務,更可掌握第一手資訊,及時的調整策略應對未來。
在當前的移動互聯網時代,出行有滴滴快車、摩拜單車;吃飯有美團外賣、餓了嗎;交水電煤氣,逛超市購物,可以通過支付寶、微信;醫院看病有醫院掛號APP;等個公交也有城市公交APP。各行各業都開發了自己的移動應用,方便了人們的生活,也提高了本行業的生產活力。
煤炭行業作為一個傳統行業,具有人員多,地域廣,管理難得特點。隨著互聯網技術的發展,也逐漸的開發應用了許多業務系統為日常的生產、經營和管理提供了巨大的幫助。但是放到如今移動互聯網是代,很多原本的業務系統已經不能滿足當前這個信息快速傳播的需求,利用移動終端進行業務處理,已經成為了煤炭行業迫切需要的工作方式。
2 煤炭企業信息化現存問題
對于傳統的煤炭行業,隨著信息技術的發展,為了適應市場行情,煤礦企業都陸陸續續的開發安裝了一些業務管理系統,但是煤炭企業信息化建設中存在缺乏頂層規劃、煤礦信息化標準建設滯后、缺乏能有效利用煤礦大數據的智能軟件等問題[2],具體原因分析如下:
(1)由于開發安裝的時期不同,開發的廠家不同,系統相對獨立,沒有統一的設計,系統功能類似,但不能進行數據互通。(2)對廠商的依賴性過大,對新的業務需求無法得到及時的更新和升級,只能不停地安裝新的系統用以滿足新的業務需求。(3)系統上線運行后時間間隔太久,源代碼丟失,無法更新維護。(4)無法隨時隨地的獲取系統數據,需要安排值班人員實時監控系統,信息傳遞不及時。(5)開發新的業務系統,相關人員對業務需求不明確,當系統上線后對業務系統頻繁更新維護,造成系統運行不穩定,易出錯。
基于以上研究背景,本論文主要研究如何為大型煤礦構建一個移動信息化綜合應用平臺,平臺兼顧傳統應用、云應用的開發和運維模式,支持對接原有的傳統業務系統,將原有的傳統業務系統移動化,同時針對先如今的發展需要,開發新的移動應用,為各業務條線提供全面的移動信息化支撐,滿足行業發展需要。
3 國內外信息化發展趨勢
隨著移動通信技術的發展和智能移動設備的普及,移動信息化正在逐漸的改變人們的生活習慣和企業的運營方式。在國外,移動信息化發展相對國內比較迅速,在政府、交通、醫療、教育、銀行、制造、銷售等行業,充分利用移動設備的移動性、實時性、交互性、易管理性等特點,開發了大量的移動應用,實現生產效率和管理水平的全面提升。移動信息化已從輔助發展提升為核心關鍵的技術手段,為企業的生產力和行業的影響力提供了巨大的幫助。
對于國內,移動應用的涉及領域也越來越廣泛,人們的出行、工作、生活已離不開移動應用,不可否認,移動應用正在改變我們的生活。而相對于企業來說,目前的移動應用主要基于訪問其所依賴的現有企業應用與數據,并與之互動,提高響應的工作效率。
對于煤礦企,通過移動互聯網應用,及時的掌握第一手行業資訊,對接瓦斯檢測,關注生產安全;引入生產經營調度系統數據,實時掌握生產情況;增設云會議,視頻監控等,實現便捷管理,統一調控。使煤礦企業由原本的傳統管理轉變為移動化信息化管理體制,更加適應當代發展需要。
4 移動信息化綜合平臺需求分析
4.1 礦山現有系統應用現狀
目前,整個集團下屬有大大小小不同的礦山企業組成,隨著信息化發展,每個礦都使用了不同的安全生產業務軟件,這些軟件由于使用的時期不同,廠家不同,雖然功能類似,但是在數據上相對獨立,無法互通。
4.2 平臺移動應用業務需求
平臺系統的開發前提是為了提高礦山生產效率同時降低事故發生率,方便領導層的統一管理。
4.2.1 安全生產
隨時隨地的獲取生產安全信息,關注萬斯含量,通過人員定位,了解采面人員分布情況,實時掌握危險源,及時采取措施避免事故發生。
4.2.2 經營調度
對礦山的生產、裝運、銷售等信息進行調控,及時掌握市場動態,調整生產效率,擴大經營利潤,通過系統更好的適應市場需求,提高企業競爭力。
4.2.3 決策管理
由于礦山分布廣,會議決策發布不及時等問題實際存在,所以通過移動互聯網發布會議決策勢在必行。
5 移動信息化綜合平臺功能設計
5.1 平臺服務端設計
作為一個企業級移動信息化綜合應用平臺,負責移動客戶端的身份驗證和數據交換服務,是移動設備和服務端應用的一個橋梁,需要具有對接轉換外部系統數據的能力、分級多層次的權限控制、移動應用版本控制等功能。主要設計一下幾個模塊:
數據轉發模塊:對接原有的系統數據接口,轉換為移動端可識別的數據類型發送給移動端進行數據展示。endprint
數據同步模塊:當移動端發送請求時,根據請求進行數據更新,保持移動數據和服務端數據庫數據的一致性。可同步的數據包含數據實體、圖片、表單、權限應用等。
版本控制模塊:為系統提供移動項目的應用發布、下載、版本控制等功能,保證移動客戶端更新時,及時的提醒用戶下載新的客戶端。
消息推送模塊:發送新的消息及時的推送到移動客戶端。
權限控制:對移動客戶端登陸用戶進行身份認證,考慮到一個企業分為不同的單位,人員所關注的角度不同,需要提供多級多層次的權限控制。
5.2 移動客戶端設計
考慮到大型煤礦企業用戶量比較大,每個用戶關注點因工作性質的不同而有差異,所以移動端設計采用插件式移動框架。
所謂插件式開發框架是指將一個程序劃分為不同部分為一個插件,再由宿主程序動態加載每個插件構成整個應用程序[3]。所以插件式應用框架一般由宿主程序和插件兩部分組成:
宿主程序:主界面程序,主要包含各種通用工具、設置、菜單等;插件引擎用于搜索插件程序集合;通信協議,用于和插件程序之間的通信。
插件:可獨立完成某一個或一系列功能的模塊,由宿主程序加載運行。
5.3 平臺插件式設計
對于移動端用戶來說,需要根據不同的用戶權限加載不同的插件來查看不同的應用數據,具體實現流程如圖1所示。
當移動端用戶下載新的插件或者卸載應用時,需要通知服務端更新插件列表,確保服務端和移動端插件的一致性。如圖2所示。
5.4 服務器推送方式
Android Cloud to Device Messaging(C2DM)是一個用來幫助開發者從服務器向Android應用程序發送數據的服務。該服務提供了一個簡單的、輕量級的機制,允許服務器可以通知移動應用程序直接與服務器進行通信,以便于從服務器獲取應用程序更新和用戶數據。C2DM服務負責處理諸如消息排隊等事務并向運行于目標設備上的應用程序分發這些消息。如圖3所示。
5.5 平臺框架主要接口定義
5.5.1 登陸權限接口
本接口用于用戶的登錄鑒權操作,方法名:login;
接口及參數:
用戶名 name
用戶加密密碼 pwd
手機串號 imei
驗證關鍵字 appcode(應用特定APP url字段,用于區分url)
注:框架登陸 appcode:固定值 system;驗證全部按小寫
返回Json數據如表1。
5.5.2 應用列表接口
本接口用于顯示應用LIST列表,更新應用權限組,只返回有權限的list列表接口及參數如表2。
5.6 平臺安全設計
5.6.1 網絡安全設計方案
本系統由App應用服務器、數據服務器和數據轉發服務器三部分構成,通過端口映射的方式,通過防火墻過濾后再連接到互聯網為App提供數據服務。如圖4所示。
5.6.2 軟件安全設計方案
移動設備串號綁定,根據移動設備入網的唯一串號標識和登錄的賬號進行綁定,即使登錄賬號泄露,也無法在其他移動設備上登錄;數據在網絡上傳輸,采用數據加密方式,保證數據在網絡傳輸中的安全性;應用功能采用插件管理方式,把每個模塊做成一個功能插件,針對不同的業務需求及用戶權限,安裝不同的功能模塊,降低了數據泄露的危險系數。
5.6.3 軟件使用安全設計方案
對不同用戶業務需求,設置不同的權限,根據用戶權限劃分,訪問不同的功能模塊。密碼定期三個月強制修改,不允許連續使用相同密碼,密碼定長11位且必須符合一定的復雜度,例如字母,數字,符號等組合。
對系統數據配置定時備份策略。
6 平臺詳細設計與實現
6.1 服務端功能設計與實現
基礎管理包括:組織機構管理、權限對象管理、角色設置、用戶管理、移動端注冊用戶審批流程管理、特定指定應用權限。
組織機構管理:提供對組織架構和用戶信息的管理功能,包括組織機構的設置、維護功能。
權限對象模塊:對窗體、控件、功能等多個層面對權限對象進行管理,支持包括角色設置,系統模塊的設置和權限的設置,下載權限分配,根據下載權限修改用戶登陸接口反饋參數。
角色設置:對系統中所有具有相同操作的人員定義為一組角色,將各維度配合使用,形成具有共性特征的角色,并分配角色權限。
用戶管理:根據對應的組織機構樹,分配用戶下載權限,用戶登錄等功能。對用戶登錄密碼進行修改,可添加多個用戶,用戶信息變更,更改相應的控制字段給移動端。
移動端注冊用戶審批流程管理:對通過移動端注冊用戶的審核,處理,分配權限進行管理。
特定指定應用權限:對一些特殊用戶擁有特殊應用權限的特別指定。
應用的發布提供框架和各個子項目的發布管理,包括:應用管理、應用上傳、應用下載、版本控制、新版本發布消息。
應用管理:對應用的增刪改查操作,應用分組,相關應用說明等。
應用上傳:上傳應用安裝包。
應用下載:生成下載地址,記錄下載用戶。
版本控制:對單獨應用模塊進行版本控制。
新版本發布消息:發布新版本后,對獨立的子項目進行單獨的消息推送。
新聞發布針對框架首頁輪播圖的進行新聞添加修改發布。
新聞發布:包括新聞添加修改刪除、新聞圖片、新聞連接地址、新聞審批。
消息推送,包括新增消息,修改消息,刪除消息,消息回退。endprint
新增消息:增加新的推送消息。
修改消息:修改推送消息。
刪除消息:刪除推送消息。
消息回退:對發送錯誤的消息進行回退操作,及時的彌補錯誤。
流量統計對用戶使用流量進行統計,用戶安裝應用模塊流量進行統計。
流量統計接口:用戶使用流量上傳接收接口。
流量查看:對用戶使用流量進行查看。
6.2 移動客戶端的設計與實現
移動客戶端采用插件加載方式,根據用戶的需求安裝不同的子項目。根據插件之間的約定,由宿主程序查找加載插件。
配置文件manifest
在manifest下增加和主框架相同的共享ID如下
android:sharedUserId="com.pmcc.android.pluginframe.work "
com.pmcc.android.pluginframe.work 為主框架ID
修改啟動頁面中
intent-filter 的啟動文件為子項目主頁面Activity 刪除 “android.intent.action.MAIN”
配額制啟動方式為隱式啟動
例如啟動文件為:LinkerTabHost 位置為com.midong.comlinker 配置如下
android:name="com.midong.comlinker.LinkerTabHost" android:label="@string/app_name">
增加beans文件GenDescript.java
GenDescript.java 定義子項目傳遞給主框架的參數,主要包括:
子項目ICON iconResId;
子項目名稱subTitle;
子項目描述信息description;
代碼如下:
package com.pmcc.android.pluginframe;
public class GenDescript
{
protected int iconResId;
protected String subTitle;
protected String description;
public int getIconResId()
{
return this.iconResId;
}
public String getSubTitle()
{
return this.subTitle;
}
public String getDescription()
{
return this.description;
}
}
增加PlugDescription.java文件
代碼如下:
package com.pmcc.android.pluginframe;
import com.pmcc.android.pluginframe.GenDescript;
import android.util.Log;
/**
*插件說明
*/
public class PlugDescription extends GenDescript{
/**
*首先,這個無參數的構造方法是必須有的
*其次,接口是主程序自己定義的,可自行定義并擴展
*最后,assets/plugin.xml 中必須定義這個類
*/
public PlugDescription() {
Log.i("org.igeek.android-plugin", "插件1實例化1"); //傳遞名稱
iconResId=R.drawable.a1_00; //傳遞圖標
subTitle="插件1--窗口演示2"; //傳遞標題
description="這個插件將彈出對話框3"; //傳遞說明
}
}
在子項目的assets 下增加 plugin.xml文件
代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 插件提供的功能(類) -->
<!-- 描述類,這個是自定義的 -->
<!—啟動子項目文件-->
<!-- 這是一個功能(類) 調用子項目的方法-->
<!-- 這是一個方法 -->
<!-- name 方法名 -->
<!-- 這是一個功能(類) 調用子項目的方法-->
7 結語
本文主要介紹了大型煤礦移動信息化綜合平臺的整體設計和實現,平臺主要針對大型煤炭企業信息化現狀,本著增強各個礦級之間的聯系,增加工作效率的目的,實現了人員定位,生產調度,經營管理等系統的整合對接。
通過該平臺的使用,用戶可以隨時隨地的通過移動應用獲取相關信息,提高集團領導對煤礦工作人員的管理及經營狀況的了解,實現了管理部門精細化控制,對提高企業管理效能,降低礦山事故發生率起到了積極的作用。
參考文獻
[1]李剛.瘋狂Android講義[M].北京:電子工業出版社,2013:25-42.
[2]譚章祿,陳曉.煤炭企業信息化建設現狀及發展對策探討[J].北京:工礦自動化,2016,42(7):63-65.
[3]孫劍.Android系統上應用程序按需加載機制的設計與實現[M].北京大學,2011:99-110.endprint