出版业通用数据交换“端交换方案”设计构想

2021-08-30 02:25孟睿丛磊
出版广角 2021年14期
关键词:逻辑定义数据库

孟睿?丛磊

【关  键  词】数据交换;通用接口;“端交换方案”;“中间标准库”

【作者单位】孟睿, 出版产业通用数据交换技术重点实验室,北京理工大学出版社;丛磊,出版产业通用数据交换技术重点实验室,北京理工大学出版社。

【基金项目】国家新闻出版署“出版产业通用数据交换技术重点实验室”研究性课题。

【中图分类号】TP311 【文献标识码】A 【DOI】10.16491/j.cnki.cn45-1216/g2.2021.14.008

互联网时代,数据是企业最重要的资产之一,数据交换、共享已经成为各个出版企业迫切需要解决的问题。出版企业中存在着大量异构系统,为数据交换带来诸多不便。针对现有接口共性问题,出版产业通用数据交换技术重点实验室提出了一种基于“逻辑分离、应用贴合”的新型出版产业通用数据交换架构,本文将通过几个方面简单阐述出版产业通用数据交换接口架构中“端交换方案”的设计构想。

一、出版业数据交换现状

1.出版业现状与问题

(1)出版企业存在大量异构化的系统

随着信息技术日新月异的发展,出版业的生存和竞争环境发生了根本性的变化。对出版企业来说,信息化建设无论作为出版业转型升级的战略方向还是战略技术,均已在企业经营中发挥着举足轻重的作用。很多出版企业为了应对信息时代数据化、网络化、数字化、智能化的经营和管理要求,纷纷根据自身的业务需求逐步建立起了信息管理系统。

而由于信息技术发展过快,专业、成熟的信息技术人才培养进度并不能满足当今社会的需求,绝大多数出版企业没有专业的技术团队。这些企业大多也没有充足的预算能够在短时间内完成企业整体的信息化改造,信息化能力不能与信息化需求相匹配。由于出版企业在不同时期逐渐完成信息化改造,于是就产生了在不同的业务流程阶段,由不同软件公司根据不同架构模型或者不同编程语言开发的众多异构化的信息系统。不同的计算机硬件平台、基础操作系统、数据库管理系统、通信网络以及应用程序和服务使得整个信息系统无处不存在异构性。

(2)出版企业对内对外数据交换不畅通

出版企业建设了多个多样化且功能分化的信息系统,这些信息系统之间存在着“基因”隔离(不同架构等)甚至是物理隔离(不同网络、服务器等)情况,不能实时交换、共享信息,就形成了一个个“信息孤岛”。出版企业内部出版、发行等业务流程是相互关联的,一个系统经常需要复用另一个系统中的信息,此时就只能由人工迁移数据,使得日常工作中存在大量的数据重复录入工作。而由人工录入数据势必会出现输入错误的情况,造成数据在各个系统之间不一致,进而影响出版企业的业务进程,降低工作效率,影响出版企业正常经营决策,降低出版企业竞争力。而对外,企业可能只是产业供需链条中的一个节点,异构的系统使得企业在和链条上下节点的其他企业或机构进行数据交换时更加无法顺畅地进行,从而使得整个供需链条上的信息传递效率低,影响整个产业的健康发展和良性循环。

(3)信息系统间数据交换成本高、效率低

数据交换问题已成为出版企业迫切需要解决的问题之一。现阶段,如果两个异构的系统间没有进行接口开发,那么日常的数据交换则需要通过手工方式进行。例如出版社图书商品信息的数据交换,需要出版社销售助理将图书信息逐条录入固定模板的EXCEL里,再发给渠道商务经理导入他们的系统中。类似这种数据交换和处理过程需要耗费大量的人工和时间。如果要使系统之间以自动的方式进行数据交换,就需要针对两个系统的结构和业务流程分别开发接口,这个方法虽然省去了频繁支出的人工成本,却需要一次性支出大额的开发成本,一旦系统升级或者企业中的业务流程发生改变,则需要再次对接口进行二次开发。随着信息化发展,系统不停升级迭代是必然的,不通用的接口永远做不到一劳永逸,不管是接口频繁开发,还是人工机械性录入,高成本、低效率的数据交换都是不通用接口无法避免的。

2.现阶段出版数据交换方案

(1)远程函数调用方式

远程函数调用方式就是一方系统直接调用另一方系统内的函数执行数据交换动作。这种方式十分不安全,且不适用于多个单据大量数据传输,只适用于系统间点对点的数据交换。由于系统的函数代码与业务规则交织在一起,一旦业务规则发生变化,整个接口都需要重新开发,仅适用于业务简单、接口较少的系统。

(2)中间件的数据接口方式

中间件的数据接口方式其实就是在各个系统间,建立一个独立的中间数据库或者中间数据平台,通过一个中间件满足多个系统间的数据流转,几个系统间不是直接进行相互数据传输,而是都传输给中间数据库,再分别从中间数据库读取需要的数据。在出版企业中,这种数据传输方式也很常见,如一些出版社的财务软件在从ERP系统获取数据时,就是采用搭建中间数据库的方式进行数据傳输。但这种数据交换方式也存在明显的问题,由于数据接收方并不是实时地接收和读取数据,而中间数据库或中间数据平台也没有办法校验数据的准确性,这样就会造成发送方向中间数据库成功发送了数据,但接收方在读取数据时报错,使得数据交换失败。

(3)文件传输方式

文件传输方式是指数据交换双方约定好数据文件格式,发送方将交换数据按照约定格式写入文件中传给接收方,接收方解析文件读取数据,从而达到数据交换的目的。这种方式既避免了系统之间的函数调用,也不用相互访问数据库,数据交换过程独立且安全性高,但这种方式需要双方分别开发接口用于生成和解析中间交换文件。现在有些出版社与销售渠道之间通过EDI接口系统传输数据,就是基于此方式进行的。目前,新华渠道、民营渠道、电商渠道等大多出版发行渠道都支持通过XML格式的中间传输文件传递数据,除此之外,常见的中间传输文件格式还有EXCEL、TXT等。

二、“端交换方案”的概念设想

1.“耦合数据交换技术”

(1)“耦合数据交换技术”概念设想

基于以上列举的各种出版业现存数据交换现状和共性问题,出版产业通用数据交换技术重点实验室提出了一种新型出版产业通用数据交换架构——“耦合数据交换技术”。“耦合数据交换技术”是指系统之间通过依赖多个维度的参数和系统性的逻辑进行数据交换的技术。本文暂时将多维度参数集合称为“中间标准库”,将交换逻辑方案称为“端交换方案”。

设想一下“耦合数据交换技术”应用于实际出版业务中,在出版社向销售渠道发送库存商品信息时,出版社先通过出版业通用数据交换系统本地客户端加载运行ERP系统的“端交换方案A”,将图书商品信息和库存信息从数据库中取出并处理,处理后的数据通过“中间标准库”校验生成适配于渠道系统格式的数据交换文件并传递给渠道方,渠道方再加载运行渠道系统的“端交换方案B”将数据写入数据库中,完成出版社到销售渠道的库存商品信息数据传输。

(2)“耦合数据交换技术”设计模型

“耦合数据交换技术”是将出版行业现阶段常用的数据交换方式加以结合,遵循“代码分离、应用贴合”的应用规则。数据存储方式和系统函数调用方法剥离于源系统外,不需要调用系统中内置的函数代码,而是按照一定出版流程和行业标准制作成“端交换方案”模拟业务规则。数据的传输仍旧是以文件作为载体,是根据“端交换方案”存储的逻辑解析而成,可以是XML、JSON等文件形式。数据传输时还需要通过“中间标准库”这个中间件进行校验。“耦合数据交换技术”实现“中间标准库”和数据交换两端的两个“端交换方案”在同一平台上协同运作。

2.“端交换方案”

(1)“端交换方案”概念设想

本文提出的“端交换方案”是指位于数据交换两端,通过指定客户端加载运行后用以处理数据内容和交换流程的解决方案。“端交换方案”中对数据类型、数据库交互规则、业务逻辑进行相应设定,数据发送方通过“端交换方案”设定的规则对数据进行抽取、清洗、处理、编译生成“数据交换载体文件”,数据接收方则通过“端交换方案”对“数据交换载体文件”进行校验、解析、处理、存储。两个“端交换方案”内容不同但遵循同一个中间标准。

为了确保数据交换的通用性,数据交换时对数据的抽取和存储都是基于系统源数据层进行操作的。从一方数据池中抽取出来的数据在存入另一方数据池之前,本文暂将其称为“游离数据”。A系统中抽取出来的“游离数据”带有A系统特定的“基因”,很难被其他系统接受,所以本文提出的“端交换方案”其实就是将“游离数据”进行格式化。数据发送方通过“端交换方案”抽离自己的“基因”,得到符合中间标准的标准数据,再由数据接收方通过“端交换方案”向标准数据中注入目标系统的“基因”。这个“基因重组”的过程与双方原系统架构分离,完全是基于“端交换方案”的规则来完成的,以此达到通用的目的。

“端交换方案”解析是在系统本地客户端上运行,“数据交换载体文件”的生成也是在本地客户端进行,生成之前不会通过任何第三方系统平台进行数据清洗,保证数据交换过程中数据的绝对安全。

(2)“端交换方案”研发目的

数据交换之所以难以做到通用,是因为每个系统的业务逻辑、系统代码、数据之间是紧密耦合在一起的,对外包容性极差。“端交换方案”使通用接口成为可能,其运行是基于源数据层独立于系统外部进行的,降低了数据与系统之间的耦合度,提高了通用性。大多出版企业信息技术力量相对薄弱,无法自己开发数据交换接口,想要提高通用性,就要把接口开发的过程简单化、普遍化。制作传统的数据交换接口需要通过编程专门设计开发一段程序去完成数据交换任务,而现在通过“端交换方案”可以将接口制作普遍化,只要严格按照“端交换方案”创作标准操作,就能完成数据交换。

“端交换方案”可以完成复杂、多样的数据交换任务。本文设想的“端交换方案”,定义的不仅仅是简单的两个系统间数据的映射关系,数据的处理过程也包含其中。“端交换方案”不需要调用系统中内置的函数代码,而是直接模拟业务规则,对源数据进行处理,既完成数据输入输出过程中的各种触发,又保证系统本身的完整性,在数据提取、存储的基础上丰富了处理过程,使得系统间可以通过“端交换方案”完成贴合业务逻辑规则的复杂数据交换过程。

三、“端交换方案”的设计

1.“端交换方案”模型

(1)“端交换方案”整体模型

(2)标识头部

不同的系统有不同的“端交换方案”,而同一个系统也可能有不同的“端交换方案”。标识头部的作用就是记录 “端交换方案”的基本信息,相当于DNA一样用于区分 “端交换方案”。

标识头部中定义的部分属性示例:

创作者(Creator):创作端方案的技术厂商、第三方技术服务商或个人。

系统(System):端方案适配的系统。

版本號(Version):当前端方案的版本号,用以区分端方案或区分端方案适配的系统版本。

交换类型(Type):定义交换数据的类型,例如图书明细数据、发货单明细数据等。

(3)数据定义

“端交换方案”中有一块内容是用于定义系统源数据字段与“中间标准库”数据元素的对应关系,就是前文所说的将“游离数据”格式化,是剥离或植入“基因”的依据。

数据定义中定义的部分属性示例:

系统字段名(FName):系统数据库中定义的字段名,如“bno”。

标准字段名(FType):中间标准库中定义的相对应的数据元素名称,如“isbn”。

系统数据类型(SName):系统数据库中定义的字段类型,如“数值型”。

标准数据类型(SType):中间标准库中定义的相对应的数据元素类型,如“字符串型”。

系统表名(Table):该字段存储的数据库表或视图名称,如“book”。

长度(Length):系统数据库中定义的字段长度,如“13”。

说明(Explain):该数据元素含义的描述,如“图书ISBN”。

(4)逻辑动作定义

“端交换方案”中逻辑动作定义部分的主要意义在于业务逻辑到编程逻辑的转换。根据业务流程的先后顺序,系统对数据交换过程中的数据提取、存储也会有相应的顺序要求,或者数据交换过程中,某些业务节点的数据变更可能会驱动其他业务环节,需要触发对应的程序或事件并给予响应。逻辑动作定义对数据交换过程中的邏辑顺序及动作进行了明确的定义。

逻辑动作定义中定义的部分属性示例:

业务顺序(Order):是业务逻辑的顺序,也是数据交换的执行顺序。

标记字段(Sign):引起该逻辑动作的标记字段,此标记字段的数据内容发生变更,则会触发此处的逻辑动作,如“退货标记”字段发生改变触发“库存数量”增加。

业务说明(Business):对业务逻辑进行描述说明,如“退货成功增加库存数量”。

操作(Handel):记录系统数据操作行为的语句,例如select语句查找数据,update语句更新数据等。

2.“端交换方案”使用模型

“端交换方案”有统一的设计规范和创作标准,既可由技术厂商创作,也可由对信息系统业务规则有深入把握的第三方技术服务商(或个人)创作。为了鼓励更多的人参与“端交换方案”的创作,“端交换方案”的使用达到一个量级时,将产生一定费用,该超额使用的费用将与“端交换方案”创作者进行分成,使得创作者可以从中获得收益,激发创作热情。

各出版企业可在指定客户端上配置并加载适用且可靠的“端交换方案”。单个系统适用的“端交换方案”不唯一,用户可以自由试用,并根据自身业务流程需要,选择合适的 “端交换方案”。更有甚者,如果用户本身具备简单的编程基础或数据库管理知识,且对系统业务规则有深入把握,也可自行创作更为贴合自身数据交换需求的“端交换方案”,有效解决仅凭技术厂商实施接口开发带来的片面性和不一致性问题。

四、结语

本文根据出版产业通用数据交换技术重点实验室研究的“耦合数据交换技术”架构提出“端交换方案”通用构想,革新了系统数据接口的开发方式。出版企业通过使用“端交换方案”,达到“逻辑分离、应用贴合”的目的,使接口开发变得通用化、普及化,使异构系统间数据、文件的传递简单可行,降低了出版企业用于数据交换的投入,弥补了出版企业信息化人才匮乏、技术开发能力薄弱的不足,对出版业发展有着积极的意义。

|参考文献|

[1]曾国荪,陈闳中.探索信息系统的异构性问题[J].计算机工程与应用,2003(19):1-4+54.

[2]王炳清.通用数据交换中心的设计与实现[J].计算机工程,2004(S1):620-622.

[3]Kerwin-G.常见的系统间接口方式[EB/OL].( 2019-05-04)[2021-02-05]. https://blog.csdn.net/qq_33641781.

[4]彭俊霞,赵鹏,惠二鑫.区块链应用中AES和RSA混合加密算法分析[J].电子技术与软件工程,2021(2):222-224.

猜你喜欢
逻辑定义数据库
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
修辞学的重大定义
山的定义
教你正确用(十七)