BBF自定义电子文档格式浅析

BBF自定义电子文档格式浅析

广州市百成科技有限公司

一、BBF概念及研发背景

BBF作为百润百成集团主推的文档格式和签章数据介质,其全称是百润百成电子文档格式。BBF是BairunBaicheng(File)Format的缩写,前两个单词是百润和百成的汉语拼音。

2008年广州市百成科技有限公司(以下简称广州百成)决定进军电子财务市场,开发应用于企业财务处理的软件——凭证通。凭证通软件包含的一个重要组成部分就BCF电子表单,它实现了财务管理表单的电子化。BCF表单支持填写、签章和验证等操作,通过签章保护电子表单数据。BCF电子表单的最大问题在于表单视图和表单数据分开存放,缺一则无法显示表单。因此在2012年广州百成将BCF表单的视图和数据进行合并,提出了BBF表单。开始的BBF表单就是制定了文档分成若干部分,把原来的BCF表单的视图和数据作为其中的两个部分,同时增加了可以预见的一些部分,如文件头和权限设置。由于BBF表单的视图是必须由相关人员进行设计的,不能由用户自行制作,其应用受到了限制。因此广州百成进一步推出BBF2.0文档(又称BBF版式文件),这是一种由其他格式文档(如PDF、DOC)转换出来的文档。BBF2.0文档和BBF表单合称BBF文档。

二、BBF文档设计概述

1.设计目标

研发一种实用的电子表单——可重设计,容易分发,阅读和操作方便,便于二次开发。

实现签章介质标准化——作为标准的签章介质提供标准的签章功能,跨平台可用,可扩展,标准可开放。

2.功能目标

BBF标准是一种开放性的标准,提供一种能够满足各行各业应用的电子表单文档格式标准,使用这种标准的文档能够从应用层面上支持数据的权限设置、加密和来源确认。即提供一种既通用又安全的电子表单数据格式标准,该标准的包括以下功能:

支持各种业务数据,如文字、图片、音乐、视频、文件附件、链接等,其中媒体可以支持各种通用格式。

快速解析数据,部分解析和修改数据;

能够严格锁定表单的格式防止用户修改,即防止用户进行不安全操作;

能够从业务数据中快速生成文档;

能够从文档中分离业务数据导入业务系统;

对表单的每个局部提供权限设置,方便业务系统向用户提供表单的局部编辑;

能够支持各种硬件(如移动设备)上实现文档的阅读、编辑、表单填写和签字盖章。

3.设计理念与思路

BBF文档的设计汲取各种文档格式标准的优点——多数据流结构、XML、分页。文档结构应灵活方便读写,同时文档内容样式容易解析应用——从先进技术(XML、HTML5等)上扩展。

BBF文档使用多级目录数据结构,使用XML格式存储文档内容数据,使用HTML5来显示文档并提供表单交互,结构化的使用国际标准(SHA1/3DES/RSA)和国家标准(SM3/SM4/SM2)的安全算法保证文档安全,将签名和印章独立于文档内容单独进行数据操作,灵活处理和显示各种表单的同时保障了文档流转和存储的安全性。

4.引用技术

XML(ExtensibleMarkupLanguage)是一种简单,非常灵活的文本形式,由SGML(ISO8879)变化而来,目前已经广泛的用于存储各种数据。

HTML5作为超文本标记语言的第五代,是一种应用广泛的可视化技术,具有通用性强(所有现代Web浏览器和应用程序都能支持)的特点,并且经过开发可以做到复杂的界面效果和良好的互动性。

Huffman压缩。RFC1951-DEFLATECompressedDataFormatSpecification。

ASN.1语法和DER编码。

PKI体系下的国际密码标准和国家密码标准。

Public-KeyCryptographyStandards(PKCS)#1:RSACryptographySpecifications

PKCS#5:Password-BasedCryptographySpecification

PKCS#6:Extended-CertificateSyntax

PKCS#7:CryptographicMessageSyntax

GM/T0002-2012《SM4分组密码算法》

GM/T0003-2012《SM2椭圆曲线公钥密码算法》

GM/T0004-2012《SM3密码杂凑算法》

GM/T0009-2012《SM2密码算法使用规范》

GM/T0010-2012《SM2密码算法加密签名消息语法规范》

GM/T0015-2012《基于SM2密码算法的数字证书格式规范》

GM/T0031-2014《安全电子签章密码技术规范》

5.BBF电子文档结构

BBF文档是一个树状存储结构,树状存储中的每一个节点代表文档中的一个组成部分,例如单个页面的主要内容数据、一张图片、单个印章等。如下图所示。

5.BBF标准技术参数

类型参数描述

通用性大小不小于1K,最大2GB,支持标准的huffman压缩。

结构化存储支持多层目录下的多数据流的结构化存储。

数据分离支持文档数据和文档视图分开。

表单数据格式支持XML格式。

表单视图格式支持HTML5格式视图。

表单视图表单视图支持定制和分发。

表单格式限制支持表单设计者(业务系统)对格式进行限制,表单用户无法修改格式和更改限制。

支持嵌入媒体图片、音乐、视频、文件附件、链接。

安全性加密支持使用密码或者数字证书进行加密,支持算法包括3DES、SM4、RSA和SM2。

来源确认支持使用数字证书签署文档,签署内容包括完整的文档内容。签署算法支持SHA1-RSA和SM3-SM2。

权限设置用户权限设有两级——全权的所有者和受限的阅读者。可以控制未验证的用户无法使用文档。可以定制流程化表单,使得在流程不同步骤,表单组件由相应权限设置。

三、BBF文档格式标准

BBF文档格式标准借鉴各种常见的文档格式的标准,共有三大部分组成。首先将文档分成若干部分,例如文件头,页面视图、页面数据等,这部分标准称为框架标准,是固定的。其次具体部分的格式标准作为更加具体的格式定义,这部分标准称为内容标准,是部分可以扩展。最后,所有部分构成一个完整文档,其组织方式的标准称为构造标准,也是固定的。框架标准、内容标准和构造标准定义了BBF文档的具体结构和组成。限于篇幅,本文只对这三方面标准进行基本的介绍与描述,从使读者对BBF文档的总体结构和基础原理能有所了解。

1.框架标准

BBF文档在浏览的时候可以分成若干页,例如BBF表单默认只有一页,又如通过PDF文档转换过来的BBF文档,每一个PDF页面转换成一个BBF页。注意这里BBF的“页”不是打印出来的页面的意思,只是一个概称,概指一段连贯的显示内容。页数指单个BBF文档里的页的个数。

一个完整的BBF文档包括四大部分:文件头、权限设置、数据、视图和标记集。其中数据由若干个页面数据组成,页面数据的个数等于文档页数。页面数据由页面数据正文、页面额外数据和若干页面数据零件组成。视图由若干个页面视图组成,页面视图的个数等于文档页数。页面视图由主视图、若干主视图零件和若干子视图组成。子视图由子视图内容和子视图零件组成。标记集由若干标记组成。框架标准中的基本组成部分如下。

2.内容标准

内容标准可以看成是框架标准的细化和拓展,内容标准包括若干固定标准和若干可扩展标准,其中固定标准的存储规范按构造标准。内容标准包含15项标准,见下表。

3.构造标准

一个BBF文档是一个复合存储,框架标准中的每一个基本组成部分都是一个数据流,复合存储和数据流的定义及其存储方式见下表。

标签:;  ;  ;  

BBF自定义电子文档格式浅析
下载Doc文档

猜你喜欢