CN110222047B - 一种动态表单生成方法和装置 - Google Patents
一种动态表单生成方法和装置 Download PDFInfo
- Publication number
- CN110222047B CN110222047B CN201910350836.7A CN201910350836A CN110222047B CN 110222047 B CN110222047 B CN 110222047B CN 201910350836 A CN201910350836 A CN 201910350836A CN 110222047 B CN110222047 B CN 110222047B
- Authority
- CN
- China
- Prior art keywords
- data
- request
- generating
- dynamic
- page
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种动态表单生成方法和装置,所述方法包括:构建数据字典;根据所述数据字典构建对象模型;将所述对象模型储存在预置的对象模型库内;根据对象模型库生成表单页面;根据所述表单页面,生成相应动态表单。本发明实施例可以实现通过特定的数据架构和数据操作的设计,利用不同类型和特点的数据的协作应用,共同承担原本数据库的职能,使得表单数据即能够满足OLTP(联机事务处理)和OLAP(联机分析处理)等功能,还能够在不停机、不重启甚至不修改数据库表格的情况下满足动态修订表单,并持久化数据的需求。
Description
技术领域
本发明涉及Web前端应用(WebApp)设计技术领域,特别是涉及一种动态表单生成方法和装置。
背景技术
HTML表单是Web应用程序的主要组成部分,其基本原理是通过对不同类型的表单元素(如输入框、复选框、单选按钮、提交按钮等)的特定组合,形成满足Web应用程序提特定场景业务所需的表单,通过与用户的交互,收集用户的输入数据。HTML表单收集用户输入数据后,表单数据往往会选择持久化保存在数据当中,以便后续的应用。在传统的Web应用程序当中,关系型数据库(如SQL Server,Oracle,MySQL等),由于其在结构化查询、事务性和一致性方面的优势,即便是在互联网技术发展迅速的今天,许多大型的互联网项目都会引入NoSQL数据库(如Mongodb、Redis、Riak、Membase、Neo4j和HBase等)到其数据架构中,但SQL数据库依然被选择作为表单数据持久化的首选,而NoSQL数据库更多的被用于海量数据、非结构化数据、对数据存取速度要求较高的数据的持久化存储和缓存。
随着软件开发工程化思想的普及,在一些企业级的业务场景中(如业务流程管理、办公自动化、企业资源规划)应用的Web应用程序逐渐开始摆脱纯粹的人工定制开发HTML表单的模式,而是选择通过开发和提供表单引擎,实现HTML表单的在线、动态开发,这种开发模式的好处在于能够提供用户级的HTML表单自定义,使得规模化生产的Web应用程序也能够满足个性和多变的企业业务需求,同时也降低了Web应用程序开发者的开发工作量,提高效率。但存在的不足时,当HTML表单选择SQL数据库进行持久化数据操作的时候,一旦HTML表单需要进行动态修改(如增加或减少表单元素等),相应的SQL数据库以及Web应用程序的持久化数据操作也必须在数据库表格(Scheme)和代码层发生相应的修改,而数据库表格的修改将给数据库的稳定性、数据的安全性带来隐患,而Web应用程序持久化数据的代码的修改也要求Web应用程序需要重启才能生效,影响用户体验。特别地,对于SaaS(软件即服务)形式的云计算Web应用程序而言,上述操作根本无法在程序线上不运营中出现。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种动态表单生成方法和装置。
为了解决上述问题,本发明实施例公开了一种动态表单生成方法,包括如下步骤:
构建数据字典;
根据所述数据字典构建对象模型;
将所述对象模型储存在预置的对象模型库内;
根据对象模型库生成表单页面;
根据所述表单页面,生成相应动态表单;
进一步地,所述构建数据字典的步骤,包括:
获取术语;
确定所述术语之间的语义关系;
采用所述术语以及所述语义关系,生成数据字典;
进一步地,所述根据所述数据字典构建对象模型的步骤,包括:
采用数据字典,确定目标业务对象;所述目标业务对象包括多个对象属性;
获取目标业务对象的多个对象属性之间的特征关系;所述特征关系包括条件关系、约束关系和计算关系中的至少一种;
采用所述对象属性和特征关系,生成对象模型;
进一步地,所述根据对象模型库生成表单页面的步骤,包括:
确定目标对象模型;
从对象模型库中,获取目标对象模型的模型属性;
根据所述模型属性,生成表单页面;
进一步地,所述根据所述模型属性,生成表单页面步骤,包括:
获取初始表单以及用户操作指令;所述初始表单包括多个表单元素;
将所述模型属性绑定在对应的表单元素,生成属性表单;
采用所述属性表单,生成表单页面;
进一步地,所述根据所述表单页面,生成相应动态表单的步骤,包括:
采用所述表单页面接收用户的指令,所述指令包括增加、更新、删除数据请求、查询数据请求和分析数据请求中的至少一种;
根据指令生成相应的动态表单;
进一步地,所述表单页面接收所述增加、更新、删除数据请求的指令生成动态表单的步骤,包括:
采用所述表单页面接收增加、更新、删除数据请求;
将更新数据请求、删除数据请求转换为数据增加请求;
根据所述数据增加请求生成表单数据实例;
将所述表单数据实例转换为对象数据实例;
根据所述对象数据实例生成动态表单;
进一步地,所述表单页面接收所述查询数据请求的指令生成动态表单的步骤,包括:
采用所述表单页面接收查询数据请求;所述表单页面用于根据所述查询数据请求,从大数据仓库获取查询结果;
采用查询结果生成动态表单;
进一步地,所述表单页面接收所述分析数据请求的指令生成动态表单的步骤,包括:
采用所述表单页面接收分析数据请求;所述表单页面用于根据所述分析数据请求,从大数据仓库获取分析结果;
根据分析结果生成动态表单;
本发明实施例还提供了一种动态表单生成装置,包括:
获取模块,用于获取数据构建数据字典;
构建模块,用于数据字典构建对象模型;
储存模块,用于将构建对象模型存储在对象模型库内;
生成模块,用于将对象模型库生成表单页面以及表单页面生成相应动态表单。
本发明实施例包括以下优点:通过特定的数据架构和数据操作的设计,利用不同类型和特点的数据的协作应用,共同承担原本数据库的职能,使得表单数据即能够满足OLTP(联机事务处理)和OLAP(联机分析处理)等功能,还能够在不停机、不重启甚至不修改数据库表格的情况下满足动态修订表单,并持久化数据的需求。
附图说明
图1是本发明的一种动态表单生成方法实施例一的步骤流程图;
图2是本发明的一种动态表单生成方法实施例二的步骤流程图;
图3是本发明的一种动态表单生成方法实施例三的步骤流程图;
图4是本发明的一种动态表单生成方法实施例四的步骤流程图;
图5是本发明的一种动态表单生成方法实施例五的步骤流程图;
图6是本发明的一种动态表单生成方法实施例六的步骤流程图;
图7是本发明的一种动态表单生成方法实施例七的步骤流程图;
图8是本发明的一种动态表单生成方法实施例八的步骤流程图;
图9是本发明的一种动态表单生成方法实施例九的步骤流程图;
图10是本发明的一种动态表单生成装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种动态表单生成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤S10:构建数据字典;
数据字典为定义业务相关的术语及其术语之间的语义关系;其意义在于统一和标准化全局业务概念,能够易于数据跨不同数据库进行存储以及分析。
步骤S20:根据所述数据字典构建对象模型;
通过对象建模工具(如UML),用于构建参与到业务中相关对象的概念模型。
步骤S30:将所述对象模型储存在预置的对象模型库内;
用于存储对象建模工具构建的对象模型,对象模型以某种领域特定语言描述的文件形式存在服务器内,但在Web应用程序启动时加载在缓存数据库(如Redis)中,以便快速访问;
本发明的实施例基于JSON定义的表单描述语言FDL,该语言描述了表单对象模型所必须的要素描述,包括表单元素描述、元素坐标描述、约束和规则和第三方数据绑定描述等。
步骤S40:根据对象模型库生成表单页面;
基于对象模型库中的对象模型,将必要的对象模型中的属性绑定到相应的表单元素,通过用户级自定义表单的交互操作,生成满足个性业务所需的表单。
步骤S50:根据所述表单页面,生成相应动态表单。
用户通过与表单页面的交互,对其表单页面发出指令,根据指令生成相应的动态表单。
如上述步骤S10,构建数据字典,其步骤具体为:获取术语;确定所述术语之间的语义关系;采用所述术语以及所述语义关系,生成数据字典。
如上述步骤S20,根据所述数据字典构建对象模型,其步骤具体为:采用数据字典,确定目标业务对象;所述目标业务对象包括多个对象属性;获取目标业务对象的多个对象属性之间的特征关系;所述特征关系包括条件关系、约束关系和计算关系中的至少一种;采用所述对象属性和特征关系,生成对象模型。
如上述步骤S30,将所述对象模型储存在预置的对象模型库内,对象模型以某种领域特定语言描述的文件形式存储在对象模型库内。
如上述步骤S40,根据对象模型库生成表单页面,其步骤具体为:确定目标对象模型;从对象模型库中,获取目标对象模型的模型属性;根据所述模型属性,生成表单页面。
如上述步骤S50,根据所述表单页面,生成相应动态表单,其步骤具体为:采用所述表单页面接收用户的指令,所述指令包括增加、更新、删除数据请求、查询数据请求和分析数据请求中的至少一种;根据指令生成相应的动态表单。
参照图2,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例二的步骤流程图,构建数据字典,其步骤具体为:
步骤S101:获取术语;
其中获取的术语如:姓名、年龄、身份证号码;
步骤S102:确定所述术语之间的语义关系;
语义关系如:证件号码属于一种身份证号码;
步骤S103:采用所述术语以及所述语义关系,生成数据字典;
将术语与术语之间的语义关系进行统一和标准化,生成数据字典。
参照图3,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例三的步骤流程图,根据所述数据字典构建对象模型,其步骤具体为:
步骤S201:采用数据字典,确定目标业务对象;所述目标业务对象包括多个对象属性;
用于构建参与到业务中的相关对象的概念模型,相关对象包括用户、学校、班级等;
在本发明实施例中确定了业务对象为用户,用户为学生,所述学生包括姓名、年龄、性别等属性;
步骤S202:获取目标业务对象的多个对象属性之间的特征关系;所述特征关系包括条件关系、约束关系和计算关系中的至少一种;
在本发明实施例中确定了获取目标业务对象的多个对象为成绩,所述成绩包括课程、成绩、授课老师等属性;并计算属性之间的条件关系、约束关系和计算关系;
步骤S203:采用所述对象属性和特征关系,生成对象模型;
通过对象建模工具(如UML),生成相应的用户对象模型即学生对象模型以及成绩对象模型。
参照图4,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例四的步骤流程图,根据对象模型库生成表单页面,其步骤具体为:
步骤S401:确定目标对象模型;
在本发明的实施例中确定目标对象模型为用户对象模型;
步骤S402:从对象模型库中,获取目标对象模型的模型属性;
从对象模型库中获取用户对象模型的属性,模型属性为学生;
步骤S403:根据所述模型属性,生成表单页面。
根据模型属性生成对应的学生表单页面。
参照图5,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例五的步骤流程图,根据所述模型属性,生成表单页面步骤,其步骤具体为:
步骤S4031:获取初始表单以及用户操作指令;所述初始表单包括多个表单元素;
基于对象模型库内的对象模型获取初始表单,以及出师表单的多个表单元素;
步骤S4032:将所述模型属性绑定在对应的表单元素,生成属性表单;
将必要的对象模型中的属性绑定到相应的表单元素,生成相应的属性表单;
步骤S4033:采用所述属性表单,生成表单页面;
根据属性表单通过表单设计器,生成满足其个性业务所需的表单页面。
参照图6,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例六的步骤流程图,根据所述表单页面,生成相应动态表单,其步骤具体为:
步骤S501:采用所述表单页面接收用户的指令,所述指令包括增加、更新、删除数据请求、查询数据请求和分析数据请求中的至少一种;
根据表单页面接收用户的指令,指令包括增加、更新、删除数据请求、查询数据请求和分析数据请求;
步骤S502:根据指令生成相应的动态表单;
表单页面根据相应的指令,生成相应的动态表单。
参照图7,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例七的步骤流程图,表单页面接收所述增加、更新、删除数据请求的指令生成动态表单,其步骤具体为:
步骤S50111:采用所述表单页面接收增加、更新、删除数据请求;
用户通过表单页面的交互接收相应指令的请求;
步骤S50112:将更新数据请求、删除数据请求转换为增加数据请求;
当有更新数据以及删除数据请求时,将其转换为增加数据请求;
步骤S50113:根据所述数据增加请求生成表单数据实例;
依据表单页面对应的对象模型,生成相应的表单数据实例,一个表单有且仅有一个表单数据实例,通过JSON描述,描述文件中的key来自相应表单元素绑定的对象模型属性,value来自用户填写在相应表单元素中的值。
步骤S50114:将所述表单数据实例转换为对象数据实例;
根据表单所对应的对象模型,将表单数据实例中的数据进行提取和组装,生成对象数据实例,一个表单数据实例可以生成一个到多个数据对象实例,均通过JSON描述。
步骤S50115:根据所述对象数据实例生成动态表单;
以文档数据库(如MongoDB)来存储JSON描述的对象数据实例,对象数据库由于实际存储数据的文档数据库(如MongoDB)在读写方面的性能优势,能够满足用户数据的存储需求。同时,本发明约定数据的更新以新增新版本数据的形式、数据的删除以改变旧版本状态标志的方式,将更新和删除请求均转化成为新增操作,因此对象数据库实际可以满足用户数据的存储、更新和删除请求,并生成相应的动态表单。
参照图8,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例八的步骤流程图,表单页面接收所述查询数据请求的指令生成动态表单,其步骤具体为:
步骤S50121:采用所述表单页面接收查询数据请求;所述表单页面用于根据所述查询数据请求,从大数据仓库获取查询结果;
用户通过表单页面的交互接收相应指令的请求;通过数据库转换器将对象数据库内的数据转换和存储到大数据仓库(如HIVE);
步骤S50122:采用查询结果生成动态表单;
根据查询结果生成相应的动态表单。
参照图9,在本实施例中,在上述的动态表单生成方法中,示出了本发明的一种动态表单生成方法实施例八的步骤流程图,表单页面接收所述分析数据请求的指令生成动态表单,其步骤具体为:
步骤S50131:采用所述表单页面接收分析数据请求;所述表单页面用于根据所述分析数据请求,从大数据仓库获取分析结果;
用户通过表单页面的交互接收相应指令的请求;通过数据库转换器将对象数据库内的数据转换和存储到大数据仓库(如HIVE);
步骤S50132:根据分析结果生成动态表单;
根据分析结果生成相应的动态表单。
实施例一
以某表单为例,表单设计功能主要是录入学生年度课程成绩。在设计表单之前,对参与表单的对象进行建模,建立用户对象模型和成绩对象模型:学生对象模型包括“姓名”、“年龄”等属性;成绩对象模型主要包括:“课程”和“成绩”等属性。
"姓名":"张三",
"年龄":18,
"成绩单":[{"课程":"语文","成绩":"A"},{"课程":"数学","成绩":
"B"}],
"时间戳":1553226681。
其中时间戳记录数据生成的时间。
表单数据实例拆分转换后的学生对象实例为
"ID":"X001",
"姓名":"张三",
"年龄":18,
"时间戳":1553226681。
成绩单对象实例为
"学生":"X001",
"成绩单":[{"课程":"语文","成绩":"A"},{"课程":"数学","成绩":"B"}],
"时间戳":1553226681。
此时,加上对对象模型和“录入学生成绩”表单进行动态的修改,修改后增加学生“性别”属性支持和成绩中“授课教师”属性支持。并录入新的学生(如李四)的数据,表单提交后,生成的表单数据实例为:
{"姓名":"李四",
"年龄":17,
"性别":"女",
"成绩单":[{"课程":"语文","成绩":"A","授课教师":"Mary"},{"课程":"数学","成绩":"A","授课教师":"John"}],
"时间戳":1553226681}。
表单数据实例拆分转换后的学生对象实例为
{"ID":"X002",
"姓名":"李四",
"年龄":14,
"性别":"女",
"时间戳":1553226681}。
成绩单对象实例为
{"学生":"X002",
"成绩单":[{"课程":"语文","成绩":"A","授课教师":"Mary"},{"课程":"数学","成绩":"A","授课教师":"John"}],
"时间戳":1553226681}。
当表单数据发生更新的时候,如更新学生“李四”的语文成绩为B,本方法将更新请求转换成新增请求,并在新增数据中保留对原数据的引用。
{"学生":"X002",
"成绩单":[{"课程":"语文","成绩":"B","授课教师":"Mary"},{"课程":"数学","成绩":"A","授课教师":"John"}],
"时间戳":1553745899,
"请求":"更新",
"上一版本数据ID":"2f791a10dbcda7a7a490a1ec10981f44"}。
其中键“请求”对应的值“更新”表示本数据属于更新数据,键“上一版本数据ID”记录了更新对象的源数据,其对应的值是上一个版本数据对象经过哈希(如MD5)后得出的唯一值。同理,对数据的“删除”请求同上,亦可转换成“新增”请求。
从上述案例可以看出,当表单发生动态变化的时候,收集的尽管对象数据实例中的信息也相应发生变化,但由于持久化层及数据层无需发生代码和数据库层面的修改,依然可以支持修改前及修改后手机数据的新增、更新、查询、分析和统计,因此动态表单的变化无需要求SaaS***重启。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图10,示出了本发明的一种动态表单生成装置实施例的结构框图,具体可以包括如下模块:
获取模块1001,用于获取数据构建数据字典;
构建模块1002,用于数据字典构建对象模型;
储存模块1003,用于将构建对象模型存储在对象模型库内;
生成模块1004,用于将对象模型库生成表单页面以及表单页面生成相应动态表单。
在一优选实施例中,所述获取模块1001可以包括:
获取单元,用于获取相关术语;
判断单元,用于判断确定术语之间的语义关系;
构建单元,用于根据采用的术语以及所述的语义关系,构建数据字典。
在一优选实施例中,所述构建模块1002可以包括:
采用筛选单元,用于采用数据字典,筛选确定目标业务对象;
运算单元,用于运算目标业务对象的多个对象属性之间的特征关系;
构建单元,用于根据采用所述对象属性和特征关系,构建对象模型。
在一优选实施例中,所述生成模块1004可以包括:
确定单元,用于确定目标对象模型;
属性获取单元,用于根据对象模型库中,获取目标对象模型的模型属性;
第一生成单元,用于根据所述模型属性,生成表单页面;
指令单元,用于所述表单页面接收用户的指令;
第二生成单元,用于根据指令生成相应的动态表单。
在一优选实施例中,所述第一生成单元包括:
初始表单子单元,用于获取初始表单以及用户操作指令;所述初始表单包括多个表单元素;
属性表单生成子单元,用于将所述模型属性绑定在对应的表单元素,生成属性表单;
表单页面生成子单元,用于采用所述属性表单,生成表单页面。
在一优选实施例中,所述指令单元包括:
接收指令第一单元,用于采用所述表单页面接收用户的指令,所述指令包括增加、更新、删除数据请求、查询数据请求和分析数据请求中的至少一种;
指令生成子单元,用于根据指令生成相应的动态表单。
在一优选实施例中,所述接收指令子单元包括:
请求转换子单元,用于将更新数据请求、删除数据请求转换为数据增加请求;
数据实例生成子单元,用于根据所述数据增加请求生成表单数据实例;
数据实例转换子单元,用于将所述表单数据实例转换为对象数据实例;
动态表单生成第一单元,用于根据所述对象数据实例生成动态表单。
在一优选实施例中,所述接收指令子单元包括:
接收指令第二单元,用于采用所述表单页面接收查询数据请求;所述表单页面用于根据所述查询数据请求,从大数据仓库获取查询结果;
动态表单生成第二单元,用于采用查询结果生成动态表单。
在一优选实施例中,所述接收指令子单元包括:
接收指令第三单元,用于采用所述表单页面接收分析数据请求;所述表单页面用于根据所述分析数据请求,从大数据仓库获取分析结果;
动态表单生成第三单元,用于根据分析结果生成动态表单。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种动态表单生成方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种动态表单生成方法,其特征在于,包括如下步骤:
构建数据字典;
根据所述数据字典构建对象模型,其中,采用数据字典,确定目标业务对象;所述目标业务对象包括多个对象属性;获取目标业务对象的多个对象属性之间的特征关系;所述特征关系包括条件关系、约束关系和计算关系中的至少一种;采用所述对象属性和特征关系,生成对象模型;
将所述对象模型储存在预置的对象模型库内;
根据对象模型库生成表单页面;
根据所述表单页面,生成相应动态表单,其中,采用所述表单页面接收用户的指令,所述指令包括增加、更新、删除数据请求、查询数据请求和分析数据请求中的至少一种;根据指令生成相应的动态表单,其中,
所述表单页面接收所述增加、更新、删除数据请求的指令生成动态表单的步骤,包括:采用所述表单页面接收增加、更新、删除数据请求;将更新数据请求、删除数据请求转换为数据增加请求,所述数据增加请求的数据中保留对原数据的引用;根据所述数据增加请求生成表单数据实例;将所述表单数据实例转换为一个或一个以上对象数据实例;根据所述对象数据实例生成动态表单;
所述表单页面接收所述查询数据请求的指令生成动态表单的步骤,包括:采用所述表单页面接收查询数据请求;所述表单页面用于根据所述查询数据请求,从大数据仓库获取查询结果;采用查询结果生成动态表单;
所述表单页面接收所述分析数据请求的指令生成动态表单的步骤,包括:采用所述表单页面接收分析数据请求;所述表单页面用于根据所述分析数据请求,从大数据仓库获取分析结果;根据分析结果生成动态表单。
2.根据权利要求1所述的动态表单生成方法,其特征在于,所述构建数据字典的步骤,包括:
获取术语;
确定所述术语之间的语义关系;
采用所述术语以及所述语义关系,生成数据字典。
3.根据权利要求1所述的动态表单生成方法,其特征在于,所述根据对象模型库生成表单页面的步骤,包括:
确定目标对象模型;
从对象模型库中,获取目标对象模型的模型属性;
根据所述模型属性,生成表单页面。
4.根据权利要求3所述的动态表单生成方法,其特征在于,所述根据所述模型属性,生成表单页面步骤,包括:
获取初始表单以及用户操作指令;所述初始表单包括多个表单元素;
将所述模型属性绑定在对应的表单元素,生成属性表单;
采用所述属性表单,生成表单页面。
5.一种动态表单生成装置,其特征在于,包括:
获取模块,用于获取数据构建数据字典;
构建模块,用于根据所述数据字典构建对象模型,其中,采用数据字典,确定目标业务对象;所述目标业务对象包括多个对象属性;获取目标业务对象的多个对象属性之间的特征关系;所述特征关系包括条件关系、约束关系和计算关系中的至少一种;采用所述对象属性和特征关系,生成对象模型;
储存模块,用于将构建对象模型存储在对象模型库内;
生成模块,用于根据对象模型库生成表单页面;根据所述表单页面,生成相应动态表单,其中,采用所述表单页面接收用户的指令,所述指令包括增加、更新、删除数据请求、查询数据请求和分析数据请求中的至少一种;根据指令生成相应的动态表单,其中,
所述表单页面接收所述增加、更新、删除数据请求的指令生成动态表单的步骤,包括:采用所述表单页面接收增加、更新、删除数据请求;将更新数据请求、删除数据请求转换为数据增加请求,所述数据增加请求的数据中保留对原数据的引用;根据所述数据增加请求生成表单数据实例;将所述表单数据实例转换为一个或一个以上对象数据实例;根据所述对象数据实例生成动态表单;
所述表单页面接收所述查询数据请求的指令生成动态表单的步骤,包括:采用所述表单页面接收查询数据请求;所述表单页面用于根据所述查询数据请求,从大数据仓库获取查询结果;采用查询结果生成动态表单;
所述表单页面接收所述分析数据请求的指令生成动态表单的步骤,包括:采用所述表单页面接收分析数据请求;所述表单页面用于根据所述分析数据请求,从大数据仓库获取分析结果;根据分析结果生成动态表单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350836.7A CN110222047B (zh) | 2019-04-28 | 2019-04-28 | 一种动态表单生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350836.7A CN110222047B (zh) | 2019-04-28 | 2019-04-28 | 一种动态表单生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110222047A CN110222047A (zh) | 2019-09-10 |
CN110222047B true CN110222047B (zh) | 2021-03-16 |
Family
ID=67820148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910350836.7A Active CN110222047B (zh) | 2019-04-28 | 2019-04-28 | 一种动态表单生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110222047B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161113A (zh) * | 2019-12-31 | 2020-05-15 | 厦门悦讯信息科技股份有限公司 | 一种成绩信息快速辅助录入的方法与*** |
CN113590592A (zh) * | 2021-08-04 | 2021-11-02 | 亚联(天津)信息技术有限责任公司 | 基于关系型数据库的动态建模方法及设备 |
CN115238660B (zh) * | 2022-09-21 | 2023-01-24 | 广东省科技基础条件平台中心 | 一种表单动态生成方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308490A (zh) * | 2008-04-28 | 2008-11-19 | 北京航空航天大学 | 一种动态报表生成方法及平台 |
CN103577197A (zh) * | 2013-11-18 | 2014-02-12 | 深圳市远行科技有限公司 | 一种安卓应用程序动态表单的实现方法 |
CN106909610A (zh) * | 2017-01-10 | 2017-06-30 | 中电科华云信息技术有限公司 | 基于浏览器的可视化拖拽查询数据的方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090043736A1 (en) * | 2007-08-08 | 2009-02-12 | Wook-Shin Han | Efficient tuple extraction from streaming xml data |
CN101661508B (zh) * | 2009-09-29 | 2012-08-22 | 金蝶软件(中国)有限公司 | 一种应用于多技术平台的生成表单的方法及装置 |
US9535573B2 (en) * | 2011-08-26 | 2017-01-03 | Salesforce.Com, Inc. | Systems and methods for dynamic list views and detail pages |
CN103246733A (zh) * | 2013-05-13 | 2013-08-14 | 浪潮集团山东通用软件有限公司 | 一种基于元数据的动态表单***及其生成方法 |
CN103235727B (zh) * | 2013-05-17 | 2016-08-03 | 杭州世导信息技术有限公司 | 局部动态表单引擎装置、***及方法 |
CN105630502A (zh) * | 2015-12-28 | 2016-06-01 | 武汉传神信息技术有限公司 | 一种生成动态表单的方法和*** |
-
2019
- 2019-04-28 CN CN201910350836.7A patent/CN110222047B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308490A (zh) * | 2008-04-28 | 2008-11-19 | 北京航空航天大学 | 一种动态报表生成方法及平台 |
CN103577197A (zh) * | 2013-11-18 | 2014-02-12 | 深圳市远行科技有限公司 | 一种安卓应用程序动态表单的实现方法 |
CN106909610A (zh) * | 2017-01-10 | 2017-06-30 | 中电科华云信息技术有限公司 | 基于浏览器的可视化拖拽查询数据的方法及*** |
Non-Patent Citations (1)
Title |
---|
集成工作流的GIS应用动态表单组件设计与实现;陈颖 等;《湖北大学学报(自然科学版)》;20131205;第35卷(第4期);521-526 * |
Also Published As
Publication number | Publication date |
---|---|
CN110222047A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Joss et al. | The smart city as global discourse: Storylines and critical junctures across 27 cities | |
Whitmore | Using open government data to predict war: A case study of data and systems challenges | |
CN110457439B (zh) | 一站式智能写作辅助方法、装置和*** | |
US20190197185A1 (en) | Intelligent natural language query processor | |
KR20210040891A (ko) | 정보 추천 방법과 장치, 전자 장비, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램 | |
CN110222047B (zh) | 一种动态表单生成方法和装置 | |
Daga et al. | The open university linked data–data. open. ac. uk | |
CN104933173B (zh) | 一种用于异构多数据源的数据处理方法、装置和服务器 | |
Escobar et al. | Adding value to Linked Open Data using a multidimensional model approach based on the RDF Data Cube vocabulary | |
Silva et al. | Integrating big data into the computing curricula | |
Alonso-Rorís et al. | Information extraction in semantic, highly-structured, and semi-structured web sources | |
CN111459943A (zh) | 一种数据处理方法、装置、***、设备及存储介质 | |
Panda | Usefulness and impact of Big Data in libraries: An opportunity to implement embedded librarianship | |
Kim et al. | Comprehensive Knowledge Archive Network harvester improvement for efficient open‐data collection and management | |
Shadbolt et al. | EGovernment | |
Xu et al. | Construction of an open knowledge framework for geoscientific models | |
Knoll et al. | Tool-based Support for the FAIR Principles for Control Theoretic Results: The'Automatic Control Knowledge Repository' | |
Makola et al. | Critical Success Factors for Adopting Enterprise Architecture Metamodel in the Health Sector: Literature Review | |
Varadharajulu et al. | Spatial data supply chains | |
Shi et al. | Automatic recommendation of user interface examples for mobile app development | |
Willmes | CRC806-Database: A semantic e-Science infrastructure for an interdisciplinary research centre | |
Creamer et al. | Archiving a TEI Project FAIRly | |
Białas et al. | Information technology systems that support science and higher education RAD-on: Reports, analyses, data | |
Zeller et al. | Towards a proof framework for information systems with weak consistency | |
Vidal et al. | Applying semantics to grid middleware |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |