CN116757757A - 一种基于云服务和移动平台的自动算量方法 - Google Patents

一种基于云服务和移动平台的自动算量方法 Download PDF

Info

Publication number
CN116757757A
CN116757757A CN202310593048.7A CN202310593048A CN116757757A CN 116757757 A CN116757757 A CN 116757757A CN 202310593048 A CN202310593048 A CN 202310593048A CN 116757757 A CN116757757 A CN 116757757A
Authority
CN
China
Prior art keywords
parameter
data
engineering
activity
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310593048.7A
Other languages
English (en)
Inventor
史椸
刘雨寒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202310593048.7A priority Critical patent/CN116757757A/zh
Publication of CN116757757A publication Critical patent/CN116757757A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/08Construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于云服务和移动平台的自动算量方法,为云服务和移动终端应用、服务于建筑工程领域提供了可借鉴的途径和方法。其技术方案是:1)将Android平台引入工程预算领域,便于进行数据交换和共享。2)将语音识别应用于工程预算数据录入,将预算人员从手工算量和电脑前解放出来。3)提出“模型‑语音‑控制”概念。其中模型为工程函数库,定义为Java类,规定了预算对象的参数库和描述参数之间关系的方法,便于扩展和共享。4)提倡将系统和工程函数库开源并采用GPL许可证发布。经过工程应用沉淀,函数库将涵盖大部分专业领域,从业人员可直接调用函数库。5)在PC端采用B/S架构,在移动平台采用C/S架构,并通过MySQL数据库实现数据共享。

Description

一种基于云服务和移动平台的自动算量方法
技术领域
本发明属于移动互联网和云计算领域,以云服务为后盾,以移动平台作为终端,将二者引入工程预算领域,特别涉及一种基于云服务和移动平台的自动算量方法。
背景技术
云计算的话题热议了多年,其轮廓已逐渐清晰。公有云平台提供了越来越优质的云应用和云存储服务,也让普通客户感受到了“云”的存在,如新浪SAE(Sina App Engine)、Google的GAE、百度BAE等。通过租赁或有限制的免费使用这些云服务,普通客户可以将自己的系统部署于云端,在给终端用户提供可靠服务的同时,节省了开发时间也降低了维护成本,并使海量数据的处理与存储成为可能。同时,借助于移动平台操作系统的开发和推广,移动应用的使用已成为人们生活中不可分割的一部分。
建筑工程领域引进BIM(建筑信息建模,Building Information Modeling)技术,步入了普及“2D(维数,Dimension)”,推广“3D”,部署“4D”,研究“5D”,展望“6D”的发展路线。AutoCAD(二维制图软件)和3DS MAX(三维制图软件)分别为“2D”和“3D”的普及和推广做出了贡献,所谓“5D”,即“3D+施工进度+工程造价”,主要目的是实现工程的精细化预算。BIM的发展与完善,实现了建筑工程信息化管理和成本的有效控制,提高了企事业单位和相关部门对工程的预期收益。
无论BIM如何发展,给企业带来多大利润,工程造价的根本还是没有改变。工程预算作为工程造价的主要内容,其中大部分工作繁琐、重复且巨大的工程量计算和统计,而均由广大底层施工员和预算员完成,其中一部分仍旧采用手工计算,在草稿纸上记录,再在计算器上反反复复的加减乘除;另一部分则因为有相关软件支持而可以实现电算化(如广联达公司GCL画图算量或图形算量软件——主要用于计算混凝土数量)。采用电算化可提高工作效率,但却加剧了预算员劳动强度,要求预算员长时间高速运转在显示屏前,从而产生了手工计算时代不曾出现的造价行业职业病。
基于云服务的移动平台自动预算方法,以云服务为后盾,以移动平台作为终端,将二者引入工程预算领域,为云服务和移动终端应用、服务于建筑工程领域提供了可借鉴的途径和方法。整套方法摒弃复杂,框架设计轻便简洁,力求打造“喝茶看报式”预算,为工程造价软件开发商提供了又一可选的软件开发方向——“1D”傻瓜式预算。方法中设计了可扩展工程函数库(Project Beans),并制定了编写规范,有利于广大预算员的参与,调动预算行业的积极性,使得覆盖面越来越大,工作越来越简单。
自动算量方法提供了一种特殊的工程预算方式,将彻底结束手工算量时代,清理手工算量的“残余领域”,而在某些领域可以把预算员从电脑前解放出来,甚至于有可能取代传统电算化,让从业人员彻底摆脱职业病的困扰。一方面,该方法降低了预算行业准入门槛,利用现成的工程函数库,只要能看懂图纸就可以做专业的预算;另一方面,要求从业人员拥有更高的能力来胜任预算工作,以便扩展工程函数库,如果个别领域的工程预算要求较高,就得掌握基本的函数库编程思想,这样可以让工作更简单、结果更精确。
发明内容
本发明的目的在于提供一种基于云服务的移动平台自动预算方法。
本发明所采用的技术方案是:
1.一种基于云服务和移动平台的自动算量方法,包括以下步骤:
步骤1,设计移动平台客户端架构,用于接收用户输入的数据,是整套方法框架的核心部分之一;
步骤2,设计Web前端网站,便于用户操作数据、访问数据库,网站设计主要分为界面层设计和业务层设计;
步骤3,设计服务器端架构,用于云服务部署,实现海量数据存储;
步骤4,设计数据库框架,用于规范存储用户数据,便于修改、更新、共享数据,同时实现PC端B/S架构、移动平台C/S架构的数据共享。
步骤1的移动平台客户端架构包括以下若干功能模块:登录注册模块(LoginModule),实现客户端登录、注册功能,工程选择模块Select Project Module,实现新建工程或工程选择,并提供SQLite操作主菜单选项,数据录入模块Data Input Module,实现工程数据的语音录入或手工录入,数据处理模块Data Handle Module,实现录入数据语音检测、数据文件上传、删除以及请求上传数据的计算结果,参数定制模块Params Module,实现参数模板表的定制或选用默认参数表,工具类模块Tools Module,提供参数库的更新和数据库的访问接口;
步骤1中,用户登录Login Module后,移动客户端以工程为单位,以参数库SQLite为操作对象,为每一个工程新建文件夹,工程文件夹一般都包含默认参数库、用户定制的参数模板库、数据录入当前库和已上传数据库;
步骤1包括:
步骤1.1,设计登录注册模块;登录注册模块由2个Activity和一个登录验证请求类组成;
步骤1.2,设计工程选择模块,工程选择模块由工程选择Select ProjectActivity、新建工程New Project Activity、工程列表Projects List Activity、主菜单Main Menu Activity组成;
步骤1.3,设计数据录入模块;数据录入模块由当前参数库列表文件SQLite ListActivity、语音录入ASR Activity和手工录入Handword Activity组成;
步骤1.4,设计参数定制模块,参数定制模块由查询方式列表Query MethodActivity、手动查询参数表Input Query Activity、专业领域列表Fields List Activity、分部列表Parts List Activity、分项列表Items List Activity、参数定制方式UseMethod Activity、定制参数Select Params Activity、参数表命名Input Name Activity组成;
步骤1.5,设计数据处理模块,数据处理模块由文件浏览SQLite ExplorerActivity、文件上传SQLite Upload Activity、模拟表单请求类、语音播报TTS SettingActivity、语音校验TTS SQLite Activity、数据删除Delete SQLite Activity、结果请求Get XML Activity、SharedPreferences(XML)文件组成;
步骤1.6,设计工具类模块,工具类模块包括参数库的更新Activity和一些公共类如数据库访问类等。
步骤1中,步骤1.1包括:
步骤1.1.1,登录Activity,设计表单登录方式,提供自动登录和离线登录功能,自动登录指用于启动客户端程序后,程序读取保存的用户名和密码实现自动登录请求,离线登录指不申请服务器端登录验证连接,直接启动客户端,当需要与服务器端连接时再启用登录验证;
步骤1.1.2,注册Activity,向服务器端提交注册信息,提供简单的信息注册,只需填入用户名、密码和有效电子邮箱;
步骤1.1.3,登录验证注册请求类,利用Android集成的Apache HTTP Client模块,向Tomcat服务器提交Get请求,申请密码验证或用户注册;
步骤1中,步骤1.2包括:
步骤1.2.1,设计工程选择Activity,可选新建工程或选择已有工程,选择新建工程进入新建工程Activity,选择选择已有工程进入工程列表Activity,
步骤1.2.2,新建工程Activity,用于输入工程名称,程序会为些工程建立独立的工程数据存储文件夹,用于存储当前参数库、已上传参数库,输入确定后,进入主菜单Activity,
步骤1.2.3,将主菜单Activity继承至ListActivity类,提供了对参数或数据的所有操作方式,选项内容包括:语音录入、手工录入、参数定制、参数模板、语音播报、数据清除、文件上传、请求结果、参数更新,九类操作按操作的数据库文件对象的不同分别属于4个模块中,数据录入模块完成语音录入和手工录入,参数定制模块包含参数定制和参数模板,数据处理包含文件上传、请求结果、数据清除和语音播报,工具类模块包括参数更新和数据库访问工具包,
步骤1中,步骤1.3包括:
步骤1.3.1,将数据库列表文件Activity继承至ListActivity类,显示当前参数库列表,选择需要录入数据的参数库即进入语音录入Activity或手工录入Activity,
步骤1.3.2,将语音录入Activity,显示当前行需要录入的数据的ID、字段名称(参数名称)和录入值,当输入错误时,可对录入值进行修改,提供修改后保存按钮和语音录入启动或暂停按钮,以及返回数据库列表文件Activity按钮,
步骤1.3.3,手工录入Activity,以列表形式显示字段和值,数据库参数表中一行数据为一个列表,设置键盘回车键为换行键,当录入完列表中最后一个数据按回车键后将此列表中的数据插入当前参数库中,再刷新界面重新输入下一行数据,
步骤1中,步骤1.4包括:
步骤1.4.1,定制参数存为模板后生成模版库,在主菜单选择参数模板选项会进入模板的查询和选择流程,分项列表Activity会列出所选分项的全部模板,选择模板参数库后将直接进入参数表命名Activity,
步骤1.4.2,对选择参数表命名后,会在当前参数库中生成对应参数表,随后在数据录入模块中可供选择进行数据录入,
步骤1中,步骤1.5包括:
步骤1.5.1,模拟表单请求类,设置HTTP请求头和对文件流进行包装,因为客户端上传文件需要模拟网页表单HTTP请求,
步骤1.5.2,设计语音播报Activity,提供开启语音播报服务和对参数库语音校验,在语音录入数据的同时如果需要对录入的数据同步播报以检验录入的正确性,需要开启语音播报服务,此服务默认为开启,如果不需要同步播报,则关闭此服务即可;而对整个参数库进行语音播报校验时需要选择待校验的参数库文件,然后进入语音校验Activity,
步骤1.5.3,设计语音校验Activity,提供对整个参数库的自动语音播报,界面提供暂停功能,并显示当前播报的行ID、字段和对应的值,如果发现错误可暂停修改,然后保存,
步骤1.5.4,设计结果请求Activity,选择需要获得结果的已上传参数表,根据参数表名,查询共享参数(SharedPreferences)文件看结果是否已经存在,如果存在则从XML文件中读出,否则,向服务器发送结果请求,服务器端返回结果会以列表形式显示出来,如果开启了语音播报服务则同时会语音读出,SharedPreferences文件:服务器端的返回的结果被设计为SharedPreferences的形式存储在XML文件中,方便再次使用,
步骤1中,步骤1.6包括:
步骤1.6.1,设计更新列表Activity,提供启用自动更新,立即更新,提示更新的基本更新操作,
步骤1.6.2,设计数据库访问接口类,提供SQLite数据库的查询、插入、修改的接口功能,
步骤2的web前端网站包括界面层设计和业务层设计,界面层采用层叠样式表CSS进行布局,首页分为登录区、下载区、论坛区、公告区等,采用HTML5建立用户面板,提供用户资料查询、更新、密码修改、退出登录、用户注销以及数据操作按钮,数据操作是界面层核心内容,采用AJAX技术,包括以下操作:1)用户工程查询,显示用户所有工程,2)选择工程后,显示和查询用户所需报表,3)提供报表下载、删除、打印功能,采用JavaScript执行多选效果,
业务层采用MySQL数据库技术,执行MySQL数据库访问操作,包括:数据库设置、建立数据库连接、建立用户数据库、登录密码验证、注册信息写入、工程数据查询和删除、删除用户等。
步骤3包括:
步骤3.1,设计登录验证模块,与数据库对应实现登录验证功能,
步骤3.2,设计数据处理模块,完成SQLite文件的接收和存储、读取SQLite参数表中的数据、调用工程函数库、生成报表写入MySQL数据库;
步骤3.3,设计结果输出模块,便于用户直观查询结果;
步骤3.4,设计工程函数库,这是本套方法框架的核心部分。
步骤3中步骤3.1包括:
步骤3.1.1,导入Servlet API包,使用Servlet工具设计数据库访问类;
步骤3.1.2,设计登录验证类,使其继承至HttpServlet类,并重写doPost()和doGet()方法,用户名和密码验证成功给客户端返回“true”,否则返回“false”,用于接收和响应客户端请求;
步骤3.1.3,设计数据库访问类,首先读取属性文件内的信息连接数据库,再根据客户端传过来的用户名和密码查询数据库,如果查询成功返回“true”,否则返回“false”;
步骤3中,步骤3.2包括:
步骤3.2.1,设计数据上传接收类,继承至HttpServlet类,以接收和响应请求,当文件接收存储妥当后向客户端返回“文件上传成功”,否则返回“上传失败”的提示信息,接着循环调用读SQLite类取得参数数据后,再调用Project Beans进行数据处理,最后调用写MySQL类将结果存入用户MySQL数据库中,存入完毕向客户端返回“成功生成报表”,否则返回“报表生成失败”;
步骤3.2.2,设计读SQLite类,将参数按行读出存入有序散列表LinkedHashMap对象内,有序散列表用于初始化Project Bean中的参数变量;
步骤3.2.3,设计写MySQL类,调用Project Bean中getLinkedHashMap()方法取得带有参数数据和结果数据的有序散列表,逐行写入用户MySQL数据库报表中,同时生成仅包含结果的XML文件,并以上传文件名命名该XML文件;
设计结果输出类,同样继承至HttpServlet类,以接收和响应请求,根据用户发送过来的报表名称,查询存储有结果与报表同名的XML文件,将数据读出发送给客户端。
步骤3中,步骤3.4包括:
步骤3.4.1,设计工程函数库,工程函数库以jar格式打包成库,更新时只需用新jar库替换原jar库即可,库内按专业划分为多个包,每个包内含有本专业领域的PojectBeans;
步骤3.4.2,定义并规范化Poject Beans,Project Beans为按一定规范编写的Java类,以完成具体工程量的计算,每个Project Bean对应一个参数表和一组结果。
步骤3.4.2包括:
步骤3.4.2.1,定义Project Beans命名规范,其一般由四部分组成,中间以下划线隔开:专业领域+分部分项+工程量类型+关键字说明,如:
JeiGouJiaGu_ZhanGang_Zhu_SG111_1_2.class,显示了专业、加固部位、工程材料和采用的图集标准,SG111_1_2表示国家建筑标准设计图集SG111_1~2;
结构加固包zdys.efl.jiegoujiagu内的Project Beans基本涵盖了按国家标准图集SG111_1~2设计的建筑物梁、柱和板的加固方法所需主要工程材料数量的计算方法,在工程实际中,如果面临的加固方法和对象均为按此图集设计和施工,则可以直接采用相应Project Beans提供的参数表录入所需参数,调用相应的Project Beans即可得到加固材料的统计量,人工、材料和机械;
步骤3.4.2.2,定义Project Beans形式,Project Beans由四部分组成:成员属性、构造方法、Get方法和算量方法,成员属性,包括四项内容,用于计算的参数,计算的结果,一个有序的散列表linkedHashMap,以及建立此Project Beans对应的参数表的SQL语句,计算参数来源于实际工程,用于计算工程量,初值为0;计算结果为通过对计算参数的判断与运算所得出的结果,初值为0;linkedHashMap存放生成报表的参数和结果数据;SQL语句用于更新移动平台客户端SQLite参数库,调用此语句以生成新的参数表,参数表为移动客户端录入数据的载体;
构造方法,带一个有序散列表形参LinkedHashMap lhm,分别完成对参数变量、结果变量和有序散列表linkedHashMap的初始化,形参lhm中不存在的参数值,参数变量默认为0;
两个Get方法,一个可以获得建立参数表的SQL语句;一个可以获得生成报表所需数据的有序散列表linkedHashMap;
算量方法,描述了各参数之间的关系,通过对参数判断和运算,返回算量结果,在运算过程中,如果判断参数不存在,则视具体情况置为0或者1后,参与运算;
步骤3.4.2.3,定义Project Beans规范,采用统一格式编写Project Beans,1)类名即为Project Bean名,2)关于访问修饰符的规定,类、构造方法和成员方法均采用public修饰符,成员属性采用private修饰符,3)成员属性分为四部分,参数变量和结果变量数据类型为float,赋初值0;有序散列表数据类型为LinkedHashMap;SQL语句部分数据类型为String,SQL语句格式为:表名同类名,设定id为主键,取text类型;参数变量均取float类型,允许为空,4)构造方法带有序散列表形参LinkedHashMap lhm,用形参lhm实例化成员属性LinkedHashMap,用LinkedHashMap的get方法获得属性值,判断属性值非空后,给相应参数变量赋值,5)用算量方法的返回值初始化结果变量,6)用LinkedHashMap的put方法将所有结果变量插入LinkedHashMap对象中,键名类型为String,与结果变量名同名,7)设定取得SQL语句和LinkedHashMap对象的Get方法,8)每个结果变量对应一个算量方法,每个算量方法都返回float类型结果。
步骤4包括:
步骤4.1,设计网站数据库,网站数据均存储于MySQL数据库中,包括用户信息表、网页链接表和用户留言表;
步骤4.2,设计工程数据库,用户注册后,每个用户会自动分配一个MySQL数据库,用于存储用户工程数据,数据库命名由用户名+后缀“_db”构成,数据库内包括一个工程一览表(project)和若干工程报表;
步骤4.3,设计参数库,参数库存储于移动平台客户端,采用SQLite数据库,按用途分为三种类型数据库:默认库、当前库、模板库,默认库由Project Beans生成并更新和扩展,字段数包括Project Beans成员属性中的参数变量和结果变量,当前库为用户选择的当前需要录入数据的库,当前库即为带有数据的默认库或模板库字段数的子集。
本发明一种特殊的工程预算方式,结束手工算量时代,采用语音识别技术替代手动算量输入,将预算员从电脑前解放出来。本套方法在PC端采用B/S架构,在移动平台采用C/S架构,并通过MySQL数据库服务器实现数据共享。本方法利用现成的工程函数库进行算量计算,极大地减轻了算量员的工作负担,只要能看懂图纸就可以做专业的预算;同时,要求从业人员拥有更高的能力来胜任预算工作,以便扩展工程函数库,如果个别领域的工程预算要求较高,就得掌握基本的函数库编程思想,从而丰富工程算量函数库。通过web前端和移动端方便从业人员进行数据管理,建立工程,从而系统地管理整个工程算量函数库。
附图说明
图1为本发明主体框架图
图2为移动客户端架构图
图3为工程选择模块Activity切换流程图
图4为数据录入模块Activity切换流程图
图5为参数定制模块Activity切换流程图
图6为数据处理模块Activity切换流程图
图7为结构加固领域Project Beans
图8为参数表E-R关系图
具体实施方式
1.框架设计
1.1方法架构
如图1所示,本套方法在PC端采用B/S架构,在移动平台采用C/S架构,并通过MySQL数据库服务器实现数据共享。
B/S架构采用Apache服务器,分为两层,界面层(View Layer)和业务层(BusinessLayer),用PHP语言编写,通过PHP引擎解析显示。表示层主要负责页面的显示,业务层负责对本地文件和数据库访问。
C/S架构采用支持Servlet解析的Tomcat服务器,使用MSC(Model SpeechControl)层级模式,即模型-语音-控制,模型指由移动客户端上传的SQLite数据库和工程函数库,语音指移动客户端语音输入输出模块,控制指Servlet,实现数据处理等功能。
1.2移动平台客户端架构
移动平台客户端作为数据的来源,是整套方法的关键,图2为移动客户端架构。
用户登录(Login Module)后,移动客户端以工程为单位,以参数库SQLite为操作对象,为每一个工程新建文件夹,工程文件夹一般都包含默认参数库、用户定制的参数模板库、数据录入当前库和已上传数据库。
各模块主要功能如下:
1、登录注册模块(Login Module),主要实现客户端登录、注册功能
2、工程选择模块(Select Project Module),主要实现新建工程或工程选择,并提供SQLite操作主菜单选项。
3、数据录入模块(Data Input Module),实现工程数据的语音录入或手工录入。
4、数据处理模块(Data Handle Module),实现录入数据语音检测、数据文件上传、删除以及请求上传数据的计算结果。
5、参数定制模块(Params Module),实现参数模板表的定制或选用默认参数表。
6、工具类模块(Tools Module),提供参数库的更新和数据库的访问接口。
2 网站设计
2.1 界面层
界面层采用层叠样式表CSS进行布局,首页分为登录区、下载区、论坛区、公告区等。
登录后建立用户面板,提供用户资料查询、更新、密码修改、退出登录、用户注销以及数据操作按钮。
数据操作是界面层核心内容,采用AJAX技术,包括以下操作:
1、用户工程查询,显示用户所有工程。
2、选择工程后,显示和查询用户所需报表。
3、提供报表下载、删除、打印功能,采用JavaScript执行多选效果。
2.2业务层
业务层主要执行MySQL数据库访问操作,包括:数据库设置、建立数据库连接、建立用户数据库、登录密码验证、注册信息写入、工程数据查询和删除、删除用户等。
3 移动客户端设计
3.1 登录注册模块
登录注册模块由2个Activity和一个登录验证请求类组成。
登录Activity,采用用户名和密码表单登录方式,提供自动登录和离线登录功能。自动登录指用于启动客户端程序后,程序读取保存的用户名和密码实现自动登录请求。离线登录指不申请服务器端登录验证连接,直接启动客户端,当需要与服务器端连接时再启用登录验证。
注册Activity,向服务器端提交注册信息,提供简单的信息注册,只需填入用户名、密码和有效电子邮箱。
登录验证注册请求类,利用Android集成的Apache HTTP Client模块,向Tomcat服务器提交Get请求,申请密码验证或用户注册。
3.2工程选择模块
客户端操作以工程为单位,以工程内含有的所有参数库为操作对象,所以登录后需完成工程的选择以及选择操作方式。工程选择模块由工程选择(Select ProjectActivity)、新建工程(New Project Activity)、工程列表(Projects List Activity)、主菜单(Main Menu Activity)组成,Activity之间切换流程如图3所示。
工程选择Activity,可选新建工程或选择已有工程。选择新建工程进入新建工程Activity,选择选择已有工程进入工程列表Activity。
新建工程Activity,用于输入工程名称,程序会为些工程建立独立的工程数据存储文件夹,用于存储当前参数库、已上传参数库。输入确定后,进入主菜单Activity。
主菜单Activity继承至ListActivity类,提供了对参数或数据的所有操作方式,选项内容包括:语音录入、手工录入、参数定制、参数模板、语音播报、数据清除、文件上传、请求结果、参数更新。九类操作按操作的数据库文件对象的不同分别属于4个模块中。数据录入模块完成语音录入和手工录入,参数定制模块包含参数定制和参数模板,数据处理包含文件上传、请求结果、数据清除和语音播报,工具类模块包括参数更新和数据库访问工具包。
3.3数据录入模块
数据录入模块由当前参数库列表文件(SQLite List Activity)、语音录入(ASRActivity)和手工录入(Handword Activity)组成,Activity之间切换流程如图4。
数据库列表文件Activity继承至ListActivity类,显示当前参数库列表,选择需要录入数据的参数库即进入语音录入Activity或手工录入Activity。
语音录入Activity,显示当前行需要录入的数据的ID、字段名称(参数名称)和录入值,当输入错误时,可对录入值进行修改,提供修改后保存按钮和语音录入启动或暂停按钮,以及返回数据库列表文件Activity按钮。
手工录入Activity,以列表形式显示字段和值,数据库参数表中一行数据为一个列表。设置键盘回车键为换行键,当录入完列表中最后一个数据按回车键后将此列表中的数据插入当前参数库中,再刷新界面重新输入下一行数据。
3.4参数定制模块
参数定制模块由查询方式列表(Query Method Activity)、手动查询参数表(Input Query Activity)、专业领域列表(Fields List Activity)、分部列表(Parts ListActivity)、分项列表(Items List Activity)、参数定制方式(Use Method Activity)、定制参数(Select Params Activity)、参数表命名(Input Name Activity)组成,Activity之间切换流程如图5:
当定制参数存为模板后生成模版库,在主菜单选择参数模板选项会进入模板的查询和选择流程,分项列表Activity会列出所选分项的全部模板,选择模板参数库后将直接进入参数表命名Activity。
对选择参数表命名后,会在当前参数库中生成对应参数表,随后在数据录入模块中可供选择进行数据录入。
3.5数据处理模块
数据处理模块由文件浏览(SQLite Explorer Activity)、文件上传(SQLiteUpload Activity)、模拟表单请求类、语音播报(TTS Setting Activity)、语音校验(TTSSQLite Activity)、数据删除(Delete SQLite Activity)、结果请求(Get XML Activity)、SharedPreferences(XML)文件组成,Acitivity切换流程如图6。
模拟表单请求类,设置HTTP请求头和对文件流进行包装。因为客户端上传文件需要模拟网页表单HTTP请求。
语音播报Activity,提供开启语音播报服务和对参数库语音校验,在语音录入数据的同时如果需要对录入的数据同步播报以检验录入的正确性,需要开启语音播报服务,此服务默认为开启,如果不需要同步播报,则关闭此服务即可;而对整个参数库进行语音播报校验时需要选择待校验的参数库文件,然后进入语音校验Activity。
语音校验Activity,提供对整个参数库的自动语音播报,界面提供暂停功能,并显示当前播报的行ID、字段和对应的值,如果发现错误可暂停修改,然后保存。
结果请求Activity,选择需要获得结果的已上传参数表,根据参数表名,查询共享参数(SharedPreferences)文件看结果是否已经存在,如果存在则从XML文件中读出,否则,向服务器发送结果请求,服务器端返回结果会以列表形式显示出来,如果开启了语音播报服务则同时会语音读出。SharedPreferences文件:服务器端的返回的结果被设计为SharedPreferences的形式存储在XML文件中,方便再次使用。
3.6工具类模块
工具类模块包括参数库的更新Activity和一些公共类如数据库访问类等。
更新列表Activity,提供启用自动更新,立即更新,提示更新的基本更新操作。
数据库访问接口类,提供SQLite数据库的查询、插入、修改的接口功能。
4 服务器端设计
4.1 登录验证模块
登录验证模块需要访问数据库,而访问数据库首先得连接数据库,为了方便移植和修改,连接数据库的基本信息应该存放在属性文件中。登录验证模块设计为三个部分:数据库访问类、登录验证类、数据库访问属性文件。使用Servlet需要导入Servlet API包,此包在Tomcat服务器安装文件夹下可找到。
登录验证类,因为要接收和响应客户端请求,登录验证类应该继承至HttpServlet类,并重写doPost()和doGet()方法。用户名和密码验证成功给客户端返回“true”,否则返回“false”。
数据库访问类,首先读取属性文件内的信息连接数据库,再根据客户端传过来的用户名和密码查询数据库,如果查询成功返回“true”,否则返回“false”。
属性文件存放JDBC驱动路径、数据库服务器访问路径、用户名和密码这四个属性值。
4.2数据处理模块
数据处理模块需完成SQLite文件的接收和存储、读取SQLite参数表中的数据、调用工程函数库、生成报表写入MySQL数据库。在接收到用户上传的文件后触发数据处理模块工作,所有操作在数据上传接收类中完成,另外设计两个调用类为:读SQLite类和写MySQL类。
数据上传接收类,继承至HttpServlet类,以接收和响应请求,当文件接收存储妥当后向客户端返回“文件上传成功”,否则返回“上传失败”的提示信息。接着循环调用读SQLite类取得参数数据后,再调用Project Beans进行数据处理,最后调用写MySQL类将结果存入用户MySQL数据库中,存入完毕向客户端返回“成功生成报表”,否则返回“报表生成失败”。
读SQLite类,将参数按行读出存入有序散列表LinkedHashMap对象内,有序散列表用于初始化Project Bean中的参数变量。
写MySQL类,调用Project Bean中getLinkedHashMap()方法取得带有参数数据和结果数据的有序散列表,逐行写入用户MySQL数据库报表中,同时生成仅包含结果的XML文件,并以上传文件名命名该XML文件。
4.3结果输出模块
结果输出模块比较简单,当用户接收到“成功生成报表”的返回信息后即可查看结果。结果输出模块接收到用户查看结果请求,便查询数据库,发送结果给客户端。结果输出类,同样继承至HttpServlet类,以接收和响应请求。根据用户发送过来的报表名称,查询存储有结果与报表同名的XML文件,将数据读出发送给客户端。
4.4工程函数库
1)工程函数库功能
工程函数库是整套方法的核心所在,其扩展和更新主要围绕工程函数库实施。工程函数库以jar格式打包成库,更新时只需用新jar库替换原jar库即可,库内按专业划分为多个包,每个包内含有本专业领域的Poject Beans,如下图,工程函数库包含了四个专业领域的包:土建工程、安装工程、钢结构工程和结构加固工程。
2)Project Beans
(1)Project Beans概述
Project Beans为按一定规范编写的Java类,以完成具体工程量的计算。每个Project Bean对应一个参数表和一组结果。图7为结构加固领域的一部分Project Beans,目前,采用的结构加固方法主要有:增大截面、粘贴纤维布或塑料、粘贴钢板、外包钢板等,主要加固对象为建筑物梁、柱和楼板。
Project Beans命名一般由四部分组成,中间以下划线隔开:专业领域+分部分项+工程量类型+关键字说明,如:JeiGouJiaGu_ZhanGang_Zhu_SG111_1_2.class,显示了专业、加固部位、工程材料和采用的图集标准,SG111_1_2表示国家建筑标准设计图集SG111_1~2。
结构加固包zdys.efl.jiegoujiagu内的Project Beans基本涵盖了按国家标准图集SG111_1~2设计的建筑物梁、柱和板的加固方法所需主要工程材料数量的计算方法,在工程实际中,如果面临的加固方法和对象均为按此图集设计和施工,则可以直接采用相应Project Beans提供的参数表录入所需参数,调用相应的Project Beans即可得到加固材料的统计量(人工、材料和机械)。但如果实际工程中并非按国家标准图集设计和施工,则需要另外编写标准图集以外的Project Beans。为了其他人员方便复用,需要对这一特殊设计和现场施工附图,并提供Project Beans的详细文档,根据图文,从业人员即可判断这个Project Beans是否可用于自己工程。否则,如果没有合适的Project Beans可用,则需自己编写适合当前工程的Project Beans。
(2)Project Beans形式
Project Beans由四部分组成:成员属性、构造方法、Get方法和算量方法。
成员属性,包括四项内容,用于计算的参数,计算的结果,一个有序的散列表linkedHashMap,以及建立此Project Beans对应的参数表的SQL语句。计算参数来源于实际工程,用于计算工程量,初值为0;计算结果为通过对计算参数的判断与运算所得出的结果,初值为0;linkedHashMap存放生成报表的参数和结果数据;SQL语句用于更新移动平台客户端SQLite参数库,调用此语句以生成新的参数表,参数表为移动客户端录入数据的载体。
构造方法,带一个有序散列表形参LinkedHashMap lhm,分别完成对参数变量、结果变量和有序散列表linkedHashMap的初始化。形参lhm中不存在的参数值,参数变量默认为0。
两个Get方法,一个可以获得建立参数表的SQL语句;一个可以获得生成报表所需数据的有序散列表linkedHashMap。
算量方法,描述了各参数之间的关系,通过对参数判断和运算,返回算量结果,在运算过程中,如果判断参数不存在,则视具体情况置为0或者1后,参与运算。
(3)Project Beans规范
为了便于扩展、共享以及兼容,需要采用统一格式编写Project Beans,这些规范应该严格遵守,以利于使用人员阅读、修改和使用。
1、类名即为Project Bean名。
2、关于访问修饰符的规定。类、构造方法和成员方法均采用public修饰符,成员属性采用private修饰符。
3、成员属性分为四部分,参数变量和结果变量数据类型为float,赋初值0;有序散列表数据类型为LinkedHashMap;SQL语句部分数据类型为String,SQL语句格式为:表名同类名,设定id为主键,取text类型;参数变量均取float类型,允许为空。
4、构造方法带有序散列表形参LinkedHashMap lhm,用形参lhm实例化成员属性LinkedHashMap,用LinkedHashMap的get方法获得属性值,判断属性值非空后,给相应参数变量赋值。
5、用算量方法的返回值初始化结果变量。
6、用LinkedHashMap的put方法将所有结果变量插入LinkedHashMap对象中,键名类型为String,与结果变量名同名。
7、设定取得SQL语句和LinkedHashMap对象的Get方法。
8、每个结果变量对应一个算量方法,每个算量方法都返回float类型结果。
5数据库设计
本套方法框架中主要采用了三类数据库:网站数据库、工程数据库和参数库。网站数据库中有如下实体:用户表、链接表和留言表;工程数据库中实体有:工程表、汇总表、明细表;参数库中实体有:参数表。用E-R图描述实体间关系如图8。
5.1网站数据库
网站数据均存储于MySQL数据库中,包括用户信息表、网页链接表和用户留言表。
用户信息表内容包括用户名、密码、性别、电子邮箱、电话、所属公司、专业领域、生日、个人网站、个人数据库和注册时间。这些信息由用户注册时生成,其中用户名、密码、性别和电子邮箱为用户注册时的必填项,用户数据库和注册时间为自动生成的必填项,其他字段可留空。用户名为主键且唯一,即不允许同名用户存在,这也保证了用户数据库的唯一性。
用户留言表包括如下信息:留言号、留言用户、留言日期和留言内容。
网页链接表存储网站所有的链接信息包括链接号、链接地址、链接名、链接图片、链接目标和链接描述。
5.2工程数据库
用户注册后,每个用户会自动分配一个MySQL数据库,用于存储用户工程数据。数据库命名由用户名+后缀“_db”构成。数据库内包括一个工程一览表(project)和若干工程报表。
工程列表信息包括:工程名称、专业领域、分部分项、明细报表和汇总报表。
工程表project字段包括工程名、专业名、分部名、分项名、明细表名和汇总表名。
5.3参数库
参数库存储于移动平台客户端,采用SQLite数据库。按用途分为三种类型数据库:默认库、当前库、模板库。默认库由Project Beans生成并更新和扩展,字段数包括ProjectBeans成员属性中的参数变量和结果变量。当前库为用户选择的当前需要录入数据的库,当前库即为带有数据的默认库或模板库字段数的子集。

Claims (10)

1.一种基于云服务和移动平台的自动算量方法,其特征在于,包括以下步骤:
步骤1,设计移动平台客户端架构,用于接收用户输入的数据,是整套方法框架的核心部分之一;
步骤2,设计Web前端网站,便于用户操作数据、访问数据库,网站设计主要分为界面层设计和业务层设计;
步骤3,设计服务器端架构,用于云服务部署,实现海量数据存储;
步骤4,设计数据库框架,用于规范存储用户数据,便于修改、更新、共享数据,同时实现PC端B/S架构、移动平台C/S架构的数据共享。
2.如权利要求1所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤1的移动平台客户端架构包括以下若干功能模块:登录注册模块(Login Module),实现客户端登录、注册功能,工程选择模块Select Project Module,实现新建工程或工程选择,并提供SQLite操作主菜单选项,数据录入模块Data Input Module,实现工程数据的语音录入或手工录入,数据处理模块Data Handle Module,实现录入数据语音检测、数据文件上传、删除以及请求上传数据的计算结果,参数定制模块Params Module,实现参数模板表的定制或选用默认参数表,工具类模块Tools Module,提供参数库的更新和数据库的访问接口;
步骤1中,用户登录Login Module后,移动客户端以工程为单位,以参数库SQLite为操作对象,为每一个工程新建文件夹,工程文件夹一般都包含默认参数库、用户定制的参数模板库、数据录入当前库和已上传数据库;
步骤1包括:
步骤1.1,设计登录注册模块;登录注册模块由2个Activity和一个登录验证请求类组成;
步骤1.2,设计工程选择模块,工程选择模块由工程选择Select Project Activity、新建工程New Project Activity、工程列表Projects List Activity、主菜单Main MenuActivity组成;
步骤1.3,设计数据录入模块;数据录入模块由当前参数库列表文件SQLite ListActivity、语音录入ASR Activity和手工录入Handword Activity组成;
步骤1.4,设计参数定制模块,参数定制模块由查询方式列表Query Method Activity、手动查询参数表Input Query Activity、专业领域列表Fields List Activity、分部列表Parts List Activity、分项列表Items List Activity、参数定制方式Use MethodActivity、定制参数Select Params Activity、参数表命名Input Name Activity组成;
步骤1.5,设计数据处理模块,数据处理模块由文件浏览SQLite Explorer Activity、文件上传SQLite Upload Activity、模拟表单请求类、语音播报TTS Setting Activity、语音校验TTS SQLite Activity、数据删除Delete SQLite Activity、结果请求Get XMLActivity、SharedPreferences(XML)文件组成;
步骤1.6,设计工具类模块,工具类模块包括参数库的更新Activity和一些公共类如数据库访问类等。
3.如权利要求2所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤1.1包括:
步骤1.1.1,登录Activity,设计表单登录方式,提供自动登录和离线登录功能,自动登录指用于启动客户端程序后,程序读取保存的用户名和密码实现自动登录请求,离线登录指不申请服务器端登录验证连接,直接启动客户端,当需要与服务器端连接时再启用登录验证;
步骤1.1.2,注册Activity,向服务器端提交注册信息,提供简单的信息注册,只需填入用户名、密码和有效电子邮箱;
步骤1.1.3,登录验证注册请求类,利用Android集成的Apache HTTP Client模块,向Tomcat服务器提交Get请求,申请密码验证或用户注册;
步骤1.2包括:
步骤1.2.1,设计工程选择Activity,可选新建工程或选择已有工程,选择新建工程进入新建工程Activity,选择选择已有工程进入工程列表Activity,
步骤1.2.2,新建工程Activity,用于输入工程名称,程序会为些工程建立独立的工程数据存储文件夹,用于存储当前参数库、已上传参数库,输入确定后,进入主菜单Activity,
步骤1.2.3,将主菜单Activity继承至ListActivity类,提供了对参数或数据的所有操作方式,选项内容包括:语音录入、手工录入、参数定制、参数模板、语音播报、数据清除、文件上传、请求结果、参数更新,九类操作按操作的数据库文件对象的不同分别属于4个模块中,数据录入模块完成语音录入和手工录入,参数定制模块包含参数定制和参数模板,数据处理包含文件上传、请求结果、数据清除和语音播报,工具类模块包括参数更新和数据库访问工具包,
步骤1.3包括:
步骤1.3.1,将数据库列表文件Activity继承至ListActivity类,显示当前参数库列表,选择需要录入数据的参数库即进入语音录入Activity或手工录入Activity,
步骤1.3.2,将语音录入Activity,显示当前行需要录入的数据的ID、字段名称(参数名称)和录入值,当输入错误时,可对录入值进行修改,提供修改后保存按钮和语音录入启动或暂停按钮,以及返回数据库列表文件Activity按钮,
步骤1.3.3,手工录入Activity,以列表形式显示字段和值,数据库参数表中一行数据为一个列表,设置键盘回车键为换行键,当录入完列表中最后一个数据按回车键后将此列表中的数据插入当前参数库中,再刷新界面重新输入下一行数据,
步骤1.4包括:
步骤1.4.1,定制参数存为模板后生成模版库,在主菜单选择参数模板选项会进入模板的查询和选择流程,分项列表Activity会列出所选分项的全部模板,选择模板参数库后将直接进入参数表命名Activity,
步骤1.4.2,对选择参数表命名后,会在当前参数库中生成对应参数表,随后在数据录入模块中可供选择进行数据录入,
步骤1.5包括:
步骤1.5.1,模拟表单请求类,设置HTTP请求头和对文件流进行包装,因为客户端上传文件需要模拟网页表单HTTP请求,
步骤1.5.2,设计语音播报Activity,提供开启语音播报服务和对参数库语音校验,在语音录入数据的同时如果需要对录入的数据同步播报以检验录入的正确性,需要开启语音播报服务,此服务默认为开启,如果不需要同步播报,则关闭此服务即可;而对整个参数库进行语音播报校验时需要选择待校验的参数库文件,然后进入语音校验Activity,
步骤1.5.3,设计语音校验Activity,提供对整个参数库的自动语音播报,界面提供暂停功能,并显示当前播报的行ID、字段和对应的值,如果发现错误可暂停修改,然后保存,
步骤1.5.4,设计结果请求Activity,选择需要获得结果的已上传参数表,根据参数表名,查询共享参数(SharedPreferences)文件看结果是否已经存在,如果存在则从XML文件中读出,否则,向服务器发送结果请求,服务器端返回结果会以列表形式显示出来,如果开启了语音播报服务则同时会语音读出,SharedPreferences文件:服务器端的返回的结果被设计为SharedPreferences的形式存储在XML文件中,方便再次使用,
步骤1.6包括:
步骤1.6.1,设计更新列表Activity,提供启用自动更新,立即更新,提示更新的基本更新操作,
步骤1.6.2,设计数据库访问接口类,提供SQLite数据库的查询、插入、修改的接口功能。
4.如权利要求1所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤2的web前端网站包括界面层设计和业务层设计,界面层采用层叠样式表CSS进行布局,首页分为登录区、下载区、论坛区、公告区等,采用HTML5建立用户面板,提供用户资料查询、更新、密码修改、退出登录、用户注销以及数据操作按钮,数据操作是界面层核心内容,采用AJAX技术,包括以下操作:1)用户工程查询,显示用户所有工程,2)选择工程后,显示和查询用户所需报表,3)提供报表下载、删除、打印功能,采用JavaScript执行多选效果,
业务层采用MySQL数据库技术,执行MySQL数据库访问操作,包括:数据库设置、建立数据库连接、建立用户数据库、登录密码验证、注册信息写入、工程数据查询和删除、删除用户等。
5.如权利要求1所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤3包括:
步骤3.1,设计登录验证模块,与数据库对应实现登录验证功能,
步骤3.2,设计数据处理模块,完成SQLite文件的接收和存储、读取SQLite参数表中的数据、调用工程函数库、生成报表写入MySQL数据库;
步骤3.3,设计结果输出模块,便于用户直观查询结果;
步骤3.4,设计工程函数库,这是本套方法框架的核心部分。
6.如权利要求5所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤3.1包括:
步骤3.1.1,导入Servlet API包,使用Servlet工具设计数据库访问类;
步骤3.1.2,设计登录验证类,使其继承至HttpServlet类,并重写doPost()和doGet()方法,用户名和密码验证成功给客户端返回“true”,否则返回“false”,用于接收和响应客户端请求;
步骤3.1.3,设计数据库访问类,首先读取属性文件内的信息连接数据库,再根据客户端传过来的用户名和密码查询数据库,如果查询成功返回“true”,否则返回“false”。
7.如权利要求5所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤3.2包括:
步骤3.2.1,设计数据上传接收类,继承至HttpServlet类,以接收和响应请求,当文件接收存储妥当后向客户端返回“文件上传成功”,否则返回“上传失败”的提示信息,接着循环调用读SQLite类取得参数数据后,再调用Project Beans进行数据处理,最后调用写MySQL类将结果存入用户MySQL数据库中,存入完毕向客户端返回“成功生成报表”,否则返回“报表生成失败”;
步骤3.2.2,设计读SQLite类,将参数按行读出存入有序散列表LinkedHashMap对象内,有序散列表用于初始化Project Bean中的参数变量;
步骤3.2.3,设计写MySQL类,调用Project Bean中getLinkedHashMap()方法取得带有参数数据和结果数据的有序散列表,逐行写入用户MySQL数据库报表中,同时生成仅包含结果的XML文件,并以上传文件名命名该XML文件;
设计结果输出类,同样继承至HttpServlet类,以接收和响应请求,根据用户发送过来的报表名称,查询存储有结果与报表同名的XML文件,将数据读出发送给客户端。
8.如权利要求5所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤3.4包括:
步骤3.4.1,设计工程函数库,工程函数库以jar格式打包成库,更新时只需用新jar库替换原jar库即可,库内按专业划分为多个包,每个包内含有本专业领域的Poject Beans;
步骤3.4.2,定义并规范化Poject Beans,Project Beans为按一定规范编写的Java类,以完成具体工程量的计算,每个Project Bean对应一个参数表和一组结果。
9.如权利要求8所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤3.4.2包括:
步骤3.4.2.1,定义Project Beans命名规范,其一般由四部分组成,中间以下划线隔开:专业领域+分部分项+工程量类型+关键字说明,如:
JeiGouJiaGu_ZhanGang_Zhu_SG111_1_2.class,显示了专业、加固部位、工程材料和采用的图集标准,SG111_1_2表示国家建筑标准设计图集SG111_1~2;
结构加固包zdys.efl.jiegoujiagu内的Project Beans基本涵盖了按国家标准图集SG111_1~2设计的建筑物梁、柱和板的加固方法所需主要工程材料数量的计算方法,在工程实际中,如果面临的加固方法和对象均为按此图集设计和施工,则可以直接采用相应Project Beans提供的参数表录入所需参数,调用相应的Project Beans即可得到加固材料的统计量,人工、材料和机械;
步骤3.4.2.2,定义Project Beans形式,Project Beans由四部分组成:成员属性、构造方法、Get方法和算量方法,成员属性,包括四项内容,用于计算的参数,计算的结果,一个有序的散列表linkedHashMap,以及建立此Project Beans对应的参数表的SQL语句,计算参数来源于实际工程,用于计算工程量,初值为0;计算结果为通过对计算参数的判断与运算所得出的结果,初值为0;linkedHashMap存放生成报表的参数和结果数据;SQL语句用于更新移动平台客户端SQLite参数库,调用此语句以生成新的参数表,参数表为移动客户端录入数据的载体;
构造方法,带一个有序散列表形参LinkedHashMap lhm,分别完成对参数变量、结果变量和有序散列表linkedHashMap的初始化,形参lhm中不存在的参数值,参数变量默认为0;
两个Get方法,一个可以获得建立参数表的SQL语句;一个可以获得生成报表所需数据的有序散列表linkedHashMap;
算量方法,描述了各参数之间的关系,通过对参数判断和运算,返回算量结果,在运算过程中,如果判断参数不存在,则视具体情况置为0或者1后,参与运算;
步骤3.4.2.3,定义Project Beans规范,采用统一格式编写Project Beans,1)类名即为Project Bean名,2)关于访问修饰符的规定,类、构造方法和成员方法均采用public修饰符,成员属性采用private修饰符,3)成员属性分为四部分,参数变量和结果变量数据类型为float,赋初值0;有序散列表数据类型为LinkedHashMap;SQL语句部分数据类型为String,SQL语句格式为:表名同类名,设定id为主键,取text类型;参数变量均取float类型,允许为空,4)构造方法带有序散列表形参LinkedHashMap lhm,用形参lhm实例化成员属性LinkedHashMap,用LinkedHashMap的get方法获得属性值,判断属性值非空后,给相应参数变量赋值,5)用算量方法的返回值初始化结果变量,6)用LinkedHashMap的put方法将所有结果变量插入LinkedHashMap对象中,键名类型为String,与结果变量名同名,7)设定取得SQL语句和LinkedHashMap对象的Get方法,8)每个结果变量对应一个算量方法,每个算量方法都返回float类型结果。
10.如权利要求1所述的基于云服务和移动平台的自动算量方法,其特征在于:
步骤4包括:
步骤4.1,设计网站数据库,网站数据均存储于MySQL数据库中,包括用户信息表、网页链接表和用户留言表;
步骤4.2,设计工程数据库,用户注册后,每个用户会自动分配一个MySQL数据库,用于存储用户工程数据,数据库命名由用户名+后缀“_db”构成,数据库内包括一个工程一览表(project)和若干工程报表;
步骤4.3,设计参数库,参数库存储于移动平台客户端,采用SQLite数据库,按用途分为三种类型数据库:默认库、当前库、模板库,默认库由Project Beans生成并更新和扩展,字段数包括Project Beans成员属性中的参数变量和结果变量,当前库为用户选择的当前需要录入数据的库,当前库即为带有数据的默认库或模板库字段数的子集。
CN202310593048.7A 2023-05-24 2023-05-24 一种基于云服务和移动平台的自动算量方法 Pending CN116757757A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310593048.7A CN116757757A (zh) 2023-05-24 2023-05-24 一种基于云服务和移动平台的自动算量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310593048.7A CN116757757A (zh) 2023-05-24 2023-05-24 一种基于云服务和移动平台的自动算量方法

Publications (1)

Publication Number Publication Date
CN116757757A true CN116757757A (zh) 2023-09-15

Family

ID=87956183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310593048.7A Pending CN116757757A (zh) 2023-05-24 2023-05-24 一种基于云服务和移动平台的自动算量方法

Country Status (1)

Country Link
CN (1) CN116757757A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435678A (zh) * 2023-12-18 2024-01-23 山东山大华天软件有限公司 基于中间数据池和可视化自定义的系统集成方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435678A (zh) * 2023-12-18 2024-01-23 山东山大华天软件有限公司 基于中间数据池和可视化自定义的系统集成方法及系统
CN117435678B (zh) * 2023-12-18 2024-04-23 山东山大华天软件有限公司 基于中间数据池和可视化自定义的系统集成方法及系统

Similar Documents

Publication Publication Date Title
Williams Data mining with Rattle and R: The art of excavating data for knowledge discovery
US11669503B2 (en) Building and managing data-processing attributes for modeled data sources
US20150199318A1 (en) System and Method for Using a Third-Party Add-On in a Collaborative On-Line Software Development Environment
CN111259303A (zh) 一种web信息系统前端页面自动生成的系统及其方法
Khatwani et al. Advancing viewpoint merging in requirements engineering: a theoretical replication and explanatory study
CN104881275A (zh) 一种电子报表生成方法及装置
CN109784708A (zh) 水行业多模型耦合计算的云服务系统
US11727213B2 (en) Automatic conversation bot generation using input form
US8706773B2 (en) Computer-implemented system and methods for distributing content pursuant to audit-based processes
US11556702B2 (en) Orchestration of crud operations for a hierarchical web service data model in a spreadsheet
Souza Neto et al. Metamodel of the IT governance framework COBIT
CN116757757A (zh) 一种基于云服务和移动平台的自动算量方法
JP2022028881A (ja) 広告を自動的に生成する方法、装置、機器及びコンピュータ可読記憶媒体
CN114138256A (zh) 一种Web端可视化开发方法、系统及存储介质
CN111488374A (zh) 成绩查询任务的构建方法、成绩查询系统、设备和介质
CN115713309A (zh) 内审系统
Tuhuteru et al. System Design and Implementation of Online Admission System at XYZ University
Pope Big data analytics with SAS: Get actionable insights from your big data using the power of SAS
Marinescu et al. Domain-driven design Quickly
Black Ruby for Rails: Ruby Techniques for Rail Developers
US20230169072A1 (en) Augmented query validation and realization
EP4354281A1 (en) Converting an api into a graph api
Lucrédio et al. Designing domain architectures for model-driven engineering
Lumba et al. Android-based Library Application Development Case Study: Kalbis Institute Informatics Department
Gray A Demo Modelling Tool that Facilitates Semi-Automatic Demo-to-BPMN Transformations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination