CN114385144A - 基于WebAssembly的可读写网页CAD平台 - Google Patents
基于WebAssembly的可读写网页CAD平台 Download PDFInfo
- Publication number
- CN114385144A CN114385144A CN202111657789.4A CN202111657789A CN114385144A CN 114385144 A CN114385144 A CN 114385144A CN 202111657789 A CN202111657789 A CN 202111657789A CN 114385144 A CN114385144 A CN 114385144A
- Authority
- CN
- China
- Prior art keywords
- module
- webpage
- data
- webassembly
- writable
- 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.)
- Granted
Links
- 230000007547 defect Effects 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 5
- 238000009877 rendering Methods 0.000 claims description 20
- 230000000007 visual effect Effects 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000006872 improvement Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于WebAssembly的可读写网页CAD平台,包括在客户机运行的网页前端和在服务器上运行的功能模块,功能模块包括主服务模块、任务池模块、数据索引模块和文件快照模块;网页前端在浏览器内展示内容,网页前端与主服务模块进行数据的拉取与提交,并即时渲染展示,用户在浏览器上直接查看、编辑CAD图纸文件,进行各项操作;主服务模块与网页前端配套的发送和接收数据的服务,并针对前端的请求下发任务给任务池;任务池模块用于组织数据及其版本的协同、合并、更新数据库、文件快照模块。本发明的基于WebAssembly的可读写网页CAD平台,网页前端仅会在首次加载时或者用户点击拉取、提交时向主服务发送请求,避免由于网络延迟造成的软件体验缺陷。
Description
技术领域
本发明涉及Web前端显示的CAD图纸技术领域,特别是涉及一种基于WebAssembly的可读写网页CAD平台。
背景技术
目前市面上主流的网页CAD,实时与服务器进行数据传输,对于服务器载荷要求很大,同时对网络延迟有较高的延迟。
WebCAD是一款基于W3C最新WebAssembly标准,能在网页上直接运行的一款CAD软件。WebCAD开创性的在网页上充分利用了计算机CPU、GPU的多核性能,能在网页上感受到与桌面环境类似的原生体验。WebCAD提供了查看、编辑、批注、导出等常见实用的CAD功能,支持版本管控、权限管理、外部参照及文件协同。
发明内容
本发明的目的在于针对背景技术中所述的现有的WebCAD存在的对主服务模块的载荷要求很大,导致运行缓慢的问题,提供一种基于WebAssembly的可读写网页CAD平台。
为实现以上目的,本发明通过以下技术方案予以实现:一种基于WebAssembly的可读写网页CAD平台,包括在客户机运行的网页前端和在服务器上运行的功能模块,功能模块包括主服务模块、任务池模块、数据索引模块和文件快照模块;
网页前端: 在浏览器内展示内容,网页前端与主服务模块进行数据的拉取与提交,并即时渲染展示,用户在浏览器上直接查看、编辑CAD图纸文件,进行各项操作;
主服务模块: 与网页前端配套的发送和接收数据的服务,并针对前端的请求,下发任务给任务池;
任务池模块: 用于组织数据及其版本的协同、合并、更新数据库、 文件快照模块;
数据索引模块:文件历史版本的快照索引以及用户权限的设置等;
文件快照模块:历史文件快照模块,与数据索引配合使用;
网页前端仅会在首次加载时或者用户点击拉取、提交时向主服务发送请求,避免由于网络延迟造成的软件体验缺陷。
作为上述的基于WebAssembly的可读写网页CAD平台的进一步改进,网页前端设有数据模块、渲染引擎模块、显示模块、命令池以及界面控件模块;
数据模块用于管理数据流,并驱动渲染引擎模块,数据流包括各类对象元数据、事务流及事件;
渲染引擎模块用于将数据模块中数据内容,翻译成可视化的部分,供显示模块识别,并进而交由显示模块进而显示;
显示模块依据渲染引擎模块传递过来的可视化内容,进行WebGL渲染,并处理Html相关事件;
命令池用于CAD命令的注册;
界面控件模块用于客户机的网页前端的显示界面的开发、设置和管理。
通过这种设置,能够充分利用客户机的CPU和GPU的多核性能,使图形、数据、可视化内容及WebGL渲染在客户机进行处理,降低服务器的载荷,能在网页上感受到与桌面环境类似的原生体验。
作为上述的基于WebAssembly的可读写网页CAD平台的进一步改进,数据模块的内容包括对象句柄、类型编码、对象版本、父对象、子对象、是否删除及元数据中的若干种;
对象句柄用于代表快照索引文件的唯一身份识别符;
类型编码用于描述改对象的种类;
对象版本用于记录对象当前最后一次修改的版本时间;
父对象用于表示与对象相关联的父对象;
子对象用于表示与对象相关联的子对象;
是否删除用于表示对象是否被删除;
元数据用于表示对象的属性数据。
通过上述的设置,能使SQL模块的文件及快照索引文件的存储信息更全面,便于在提交和拉取时,对修改的部分进行快速的保存,并生成历史版本快照索引文件。
作为上述的基于WebAssembly的可读写网页CAD平台的进一步改进,所述的类型编码包括块记录、图层记录、文字样式记录、线型记录、UCS坐标系记录、视口记录、组记录、填充样式记录、点样式记录、注释样式记录、外部参照记录、字典、扩展字段、直线、射线、构造线、多段线、圆弧、圆、椭圆弧、椭圆、点和文字中的若干种。通过上述的设置能够对存储在Jobrunner模块种的文件在SQL模块种进行必要数据属性的存储。
作为上述的基于WebAssembly的可读写网页CAD平台的进一步改进,对象元数据的结构类型包括DB实体、DB符号表格记录和DB逻辑对象中的若干种。
作为上述的基于WebAssembly的可读写网页CAD平台的进一步改进,对象元数据的数据实体包括DB几何体组件、DB形状体组件和DB标注组件中的若干种。
作为上述的基于WebAssembly的可读写网页CAD平台的进一步改进,对象元数据的DB符号表格记录包括块DB表格记录、DB文档类型表格记录、DB层表格记录、DB线型表格记录、DBUCS坐标系表格记录和DB视口记录中的若干种。
作为上述的基于WebAssembly的可读写网页CAD平台的进一步改进,对象元数据的DB逻辑对象包括DB组、DB视图和DB命名词典中的若干种。
通过DB实体、DB符号表格记录和DB逻辑对象的设置,能使DBObejct的结构类型更加全面,便于提高数据的存储效率。
本发明具有积极的效果:1)本发明的基于WebAssembly的可读写网页CAD平台,软件通常仅在首次加载、提交更改、拉取更改时才会请求服务器,且拉取提交操作,仅传输更改记录,能够降低服务器的载荷,能在网页上感受到与桌面环境类似的原生体验,提高图形的处理效率;2)本发明的基于WebAssembly的可读写网页CAD平台,采用了仓库流的存储模式,支持拉取和提交等常见版本操作,能提高客户机上数据的传输和响应效率;3)本发明的基于WebAssembly的可读写网页CAD平台,功能全面,便于工程师进行图像处理,能大幅度提高工作效率。
附图说明
图1为本发明的基于WebAssembly的可读写网页CAD平台的结构示意图。
图2为本发明的客户机的网页前端的结构示意图。
图中的附图标记如下:网页前端1,数据模块11,渲染引擎模块12,显示模块13,命令池14,界面控件模块15,主服务模块2,任务池模块3,数据索引模块4,文件快照模块5。
具体实施方式
下面通过实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明的一种基于WebAssembly的可读写网页CAD平台,包括在客户机运行的网页前端1(简称为Web Client)和在服务器上运行的功能模块。
网页前端1:在浏览器内展示内容,网页前端1与主服务模块2(简称为Service模块)进行数据的拉取与提交,并即时渲染展示,用户在浏览器上直接查看、编辑CAD图纸文件,进行各项操作。如图2所示,网页前端1设有数据模块11(简称为DB模块)、渲染引擎模块12(简称为Gr模块)、显示模块13(简称为Visualize模块)、命令池14(简称为Commands池)以及界面控件模块15(简称为UI模块)。
数据模块11采用wasm c++编写,用于管理数据流,并驱动渲染引擎模块,数据流包括各类对象元数据、事务流及事件。
数据模块11的内容包括对象句柄、类型编码、对象版本、父对象、子对象、是否删除及元数据中的若干种;对象句柄用于代表快照索引文件的唯一身份识别符。类型编码用于描述改对象的种类。对象版本用于记录对象当前最后一次修改的版本时间。父对象用于表示与对象相关联的父对象。子对象用于表示与对象相关联的子对象。是否删除用于表示对象是否被删除。元数据用于表示对象的属性数据。上述的类型编码包括块记录、图层记录、文字样式记录、线型记录、UCS坐标系记录、视口记录、组记录、填充样式记录、点样式记录、注释样式记录、外部参照记录、字典、扩展字段、直线、射线、构造线、多段线、圆弧、圆、椭圆弧、椭圆、点和文字中的若干种。
上述的对象元数据的结构类型包括DB实体、DB符号表格记录和DB逻辑对象中的若干种。对象元数据的数据实体包括DB几何体组件、DB形状体组件和DB标注组件中的若干种。对象元数据的DB符号表格记录包括块DB表格记录、DB文档类型表格记录、DB层表格记录、DB线型表格记录、DBUCS坐标系表格记录和DB视口记录中的若干种。对象元数据的DB逻辑对象包括DB组、DB视图和DB命名词典中的若干种。
渲染引擎模块12采用wasm c++编写,用于将数据模块中数据内容,翻译成可视化的部分,供显示模块识别,并进而交由显示模块进而显示。
显示模块13采用wasm C++、javascript及webGL 编写,依据渲染引擎模块传递过来的可视化内容,进行WebGL渲染,并处理Html相关事件。
命令池14采用wasm C++编写,用于CAD命令的注册。
界面控件模块15采用html编写,用于网页前端的显示界面的开发、设置和管理。
功能模块包括主服务模块2(简称为Service模块)、任务池模块3(简称为Jobrunner模块)、数据索引模块4(简称为SQL模块)和文件快照模块5。
主服务模块2: 与网页前端配套的发送和接收数据的服务,并针对前端的请求,下发任务给任务池。
任务池模块3: 用于组织数据及其版本的协同、合并、更新数据库、 文件快照模块。
数据索引模块4:文件历史版本的快照索引以及用户权限的设置等。
文件快照模块5:历史文件快照模块,与数据索引配合使用。
网页前端1仅会在首次加载时或者用户点击拉取、提交时向主服务发送请求,避免由于网络延迟造成的软件体验缺陷。
本发明的基于WebAssembly的可读写网页CAD平台在客户机的网页前端首次打开文件时,网页前端向服务器的Service模块发送获取文件请求,服务器的Service模块向Jobrunner模块申请获取文件数据;Jobrunner模块在SQL模块进行检索,并依据索引,以及文件快照模块自动组合成新的数据, 返回给Service模块,Service模块将Jobrunner模块生成的数据返回给客户机的网页前端,客户机的网页前端将接收到的数据解析,反序列化成各个对象元数据, 进而调用渲染引擎模块和显示模块完成最终显示。本发明的基于WebAssembly的可读写网页CAD平台,客户机的网页前端仅会在首次加载时或者用户点击拉取、提交时向主服务发送请求,避免由于网络延迟造成的软件体验缺陷。
文件在拉取操作时与首次打开文件类似,但多了一个客户机的网页前端当前文件版本索引,服务器将返回从客户机的网页前端当前文件版本索引到服务器最新版本索引之间的所有修改的数据内容。
文件在提交操作时,客户机的网页前端将首次打开或者前次提交的文件版本后发生的所有更改,发送给服务器的Service模块, 服务器的Service模块将通过Jobrunner模块更新新的索引和文件快照模块,历史文件索引记录对象更改数据,并链接到文件快照模块。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (8)
1.一种基于WebAssembly的可读写网页CAD平台,其特征在于:包括在客户机运行的网页前端和在服务器上运行的功能模块,功能模块包括主服务模块、任务池模块、数据索引模块和文件快照模块;
网页前端:在浏览器内展示内容,网页前端与主服务模块进行数据的拉取与提交,并即时渲染展示,用户在浏览器上直接查看、编辑CAD图纸文件,进行各项操作;
主服务模块:与网页前端配套的发送和接收数据的服务,并针对前端的请求,下发任务给任务池;
任务池模块:用于组织数据及其版本的协同、合并、更新数据库、 文件快照模块;
数据索引模块:文件历史版本的快照索引以及用户权限的设置等;
文件快照模块:历史文件快照模块,与数据索引配合使用;
网页前端仅会在首次加载时或者用户点击拉取、提交时向主服务发送请求,避免由于网络延迟造成的软件体验缺陷。
2.根据权利要求1所述的基于WebAssembly的可读写网页CAD平台,其特征在于:网页前端设有数据模块、渲染引擎模块、显示模块、命令池以及界面控件模块;
数据模块用于管理数据流,并驱动渲染引擎模块,数据流包括各类对象元数据、事务流及事件;
渲染引擎模块用于将数据模块中数据内容,翻译成可视化的部分,供显示模块识别,并进而交由显示模块进而显示;
显示模块依据渲染引擎模块传递过来的可视化内容,进行WebGL渲染,并处理Html相关事件;
命令池用于CAD命令的注册;
界面控件模块用于网页前端的显示界面的开发、设置和管理。
3.根据权利要求2所述的基于WebAssembly的可读写网页CAD平台,其特征在于:数据模块的内容包括对象句柄、类型编码、对象版本、父对象、子对象、是否删除及元数据中的若干种;
对象句柄用于代表快照索引文件的唯一身份识别符;
类型编码用于描述改对象的种类;
对象版本用于记录对象当前最后一次修改的版本时间;
父对象用于表示与对象相关联的父对象;
子对象用于表示与对象相关联的子对象;
是否删除用于表示对象是否被删除;
元数据用于表示对象的属性数据。
4.根据权利要求3所述的基于WebAssembly的可读写网页CAD平台,其特征在于:所述的类型编码包括块记录、图层记录、文字样式记录、线型记录、UCS坐标系记录、视口记录、组记录、填充样式记录、点样式记录、注释样式记录、外部参照记录、字典、扩展字段、直线、射线、构造线、多段线、圆弧、圆、椭圆弧、椭圆、点和文字中的若干种。
5.根据权利要求2所述的基于WebAssembly的可读写网页CAD平台,其特征在于:对象元数据的结构类型包括DB实体、DB符号表格记录和DB逻辑对象中的若干种。
6.根据权利要求2所述的基于WebAssembly的可读写网页CAD平台,其特征在于:对象元数据的数据实体包括DB几何体组件、DB形状体组件和DB标注组件中的若干种。
7.根据权利要求2所述的基于WebAssembly的可读写网页CAD平台,其特征在于:对象元数据的DB符号表格记录包括块DB表格记录、DB文档类型表格记录、DB层表格记录、DB线型表格记录、DBUCS坐标系表格记录和DB视口记录中的若干种。
8.根据权利要求2所述的基于WebAssembly的可读写网页CAD平台,其特征在于:对象元数据的DB逻辑对象包括DB组、DB视图和DB命名词典中的若干种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111657789.4A CN114385144B (zh) | 2021-12-30 | 2021-12-30 | 基于WebAssembly的可读写网页CAD平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111657789.4A CN114385144B (zh) | 2021-12-30 | 2021-12-30 | 基于WebAssembly的可读写网页CAD平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114385144A true CN114385144A (zh) | 2022-04-22 |
CN114385144B CN114385144B (zh) | 2024-08-02 |
Family
ID=81200701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111657789.4A Active CN114385144B (zh) | 2021-12-30 | 2021-12-30 | 基于WebAssembly的可读写网页CAD平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385144B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166907A (zh) * | 2023-04-23 | 2023-05-26 | 联动优势电子商务有限公司 | 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101616A (zh) * | 2007-05-28 | 2008-01-09 | 重庆大学 | 产品外协数控加工中技术信息保密系统及保密实现方法 |
CN109670128A (zh) * | 2018-11-06 | 2019-04-23 | 北京居然设计家网络科技有限公司 | 一种基于WebAssembly的网页应用实现方法及装置 |
US10452868B1 (en) * | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
CN111524212A (zh) * | 2020-04-23 | 2020-08-11 | 浙江精工钢结构集团有限公司 | 基于WebGL技术的网页端CAD图纸查看系统及方法 |
-
2021
- 2021-12-30 CN CN202111657789.4A patent/CN114385144B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101616A (zh) * | 2007-05-28 | 2008-01-09 | 重庆大学 | 产品外协数控加工中技术信息保密系统及保密实现方法 |
CN109670128A (zh) * | 2018-11-06 | 2019-04-23 | 北京居然设计家网络科技有限公司 | 一种基于WebAssembly的网页应用实现方法及装置 |
US10452868B1 (en) * | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
CN111524212A (zh) * | 2020-04-23 | 2020-08-11 | 浙江精工钢结构集团有限公司 | 基于WebGL技术的网页端CAD图纸查看系统及方法 |
Non-Patent Citations (1)
Title |
---|
宋小鹏等: "基于WebGL的换热器三维Web应用设计与开发", 《软件导刊》, vol. 19, no. 08, 15 August 2020 (2020-08-15), pages 147 - 150 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166907A (zh) * | 2023-04-23 | 2023-05-26 | 联动优势电子商务有限公司 | 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置 |
CN116166907B (zh) * | 2023-04-23 | 2023-09-26 | 联动优势电子商务有限公司 | 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114385144B (zh) | 2024-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111259303B (zh) | 一种web信息系统前端页面自动生成的系统及其方法 | |
EP2874077B1 (en) | Stateless database cache | |
CN105144080B (zh) | 用于元数据管理的系统 | |
US11792257B2 (en) | Form engine | |
CN112560275A (zh) | 一种二维三维实时联动在线图纸批注校审系统及方法 | |
MX2010011403A (es) | Tecnicas para modificar un documento utilizando una superficie de transferencia latente. | |
US11562120B2 (en) | Synchronization and tagging of image and text data | |
KR102230729B1 (ko) | 템플릿 기반 엑셀 문서 온라인 작업 시스템 | |
CN112783482B (zh) | 一种可视化表单生成方法、装置、设备及存储介质 | |
CN111831282A (zh) | 基于vue技术的低代码开发表单方法和系统 | |
US8230319B2 (en) | Web-based visualization, refresh, and consumption of data-linked diagrams | |
CN114385144B (zh) | 基于WebAssembly的可读写网页CAD平台 | |
CN116245052A (zh) | 一种图纸迁移方法、装置、设备和存储介质 | |
CN110889013A (zh) | 一种基于xml的数据关联方法、装置、服务器及存储介质 | |
CN114706915A (zh) | 一种eda软件向plm系统中构建bom信息的方法 | |
CN110851123A (zh) | 基于SpringMVC的WebGIS电网可视化框架的构建方法、系统及装置 | |
KR102490941B1 (ko) | 엑셀 도구를 이용한 온라인 보고서 작성 시스템 | |
CN116010439A (zh) | 一种可视化中文sql系统及构建查询方法 | |
KR102499832B1 (ko) | 쿼리 바인딩 기능을 구비한 온라인 보고서 작성 시스템 | |
CN105488146B (zh) | 一种计算机辅助训练系统课件素材管理方法及系统 | |
CN113254455A (zh) | 数据库的动态配置方法、装置、计算机设备及存储介质 | |
CN117291399B (zh) | 一种基于xml的可视化工卡数据处理方法及系统 | |
CN118133570B (zh) | 项目的创建方法、存储介质、电子设备及程序产品 | |
JP4312485B2 (ja) | 部品情報管理プログラム及び部品情報管理装置 | |
US12056447B2 (en) | System and method for document branching |
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 |