首页> 中国专利> 一种系统架构和应用该系统架构的系统

一种系统架构和应用该系统架构的系统

摘要

本发明提供了一种系统架构和应用该系统架构的系统,所述的系统架构包括至少两个层,所述的至少两个层之间通过配置文件和解析程序连接,所述的层用于提供功能和/或服务,所述的配置文件用于配置两个层之间的关系,所述的解析程序用于解析和/或读取配置文件,所述的一种应用该系统架构的系统,所述的至少两个层为中间层和应用服务层,所述的中间层用于提供统一维护管理整个系统的公共服务,所述的应用服务层用于提供业务需求接口所要实现的服务,应用本发明的一种系统架构或应用包含该系统架构的系统,可以很好地实现软件开发过程中的低耦合,方面产品进行后续的升级、维护、管理,节约了人力、时间以及金钱成本。

著录项

  • 公开/公告号CN112685073A

    专利类型发明专利

  • 公开/公告日2021-04-20

    原文格式PDF

  • 申请/专利权人 天津天堰科技股份有限公司;

    申请/专利号CN201910989479.9

  • 发明设计人 王滨;佟旭阳;

    申请日2019-10-17

  • 分类号G06F8/71(20180101);

  • 代理机构

  • 代理人

  • 地址 300384 天津市滨海新区华苑产业区海泰西路18号西6-3F

  • 入库时间 2023-06-19 10:41:48

说明书

技术领域:

本发明涉及软件领域,具体而言,涉及一种系统架构和应用该系统架构的系统。

背景技术:

软件工程领域中的高内聚低耦合是判断软件设计好坏的一个衡量标准,其中所谓的耦合即一个软件结构内不同模块之间互连程度的度量,相关地,耦合性也叫块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。简单来说,耦合就是对某元素与其它元素之间的连接、感知和依赖的量度。这里所说的元素,既可以是功能、对象(类),也可以指系统、子系统、模块。假如一个元素A去连接元素B,或者通过自己的方法可以感知B,或者当B不存在的时候就不能正常工作,那么就说元素A与元素B耦合。耦合带来的问题是,当元素B发生变更或不存在时,都将影响元素A的正常工作,影响系统的可维护性和易变更性,同时元素A只能工作于元素B存在的环境中,这也降低了元素A的可复用性。正因为耦合的种种弊端,我们在软件设计的时候努力追求“低耦合”,而如何更好地实现“低耦合”一直以来都是困扰软件开发人员的难题,对此,本发明提供了一种低耦合的系统架构。

发明内容:

本发明提供一种系统架构,以解决在现有技术中存在的软件开发过程中实现低耦合难的问题。

本发明的技术方案如下:

一种系统架构,至少包含两个层,至少两个层之间通过配置文件和解析程序连接,

所述的层用于提供功能和/或服务,

所述的配置文件用于配置两个层之间的关系,

所述的解析程序用于解析和/或读取配置文件。

进一步地,所述的一种系统架构,可以在同一设备或分别在不同设备环境下进行部署。

进一步地,一种应用所述系统架构的系统,所述的两个层为中间层和应用服务层,

所述的中间层用于提供统一维护管理整个系统的公共服务,

所述的应用服务层用于提供业务需求接口所要实现的服务。

进一步地,所述的一种应用所述系统架构的系统,还包含外设元件层,

所述的外设元件层为设备元件,通过配置文件可自动识别/检测并可热插拔通信。

进一步地,所述的一种应用所述系统架构的系统,还包含前端交互层,

所述的前端交互层由客户端实现交互。

进一步地,所述的一种应用所述系统架构的系统,还包含指令通信层,

所述的指令通信层,用于实现自动适配不同连接方式或不同通信协议的通信服务。

进一步地,所述的一种应用所述系统架构的系统,所述中间层提供数据总线服务和系统联动服务。

进一步地,所述的一种系统架构或一种系统,所述层、配置文件、解析程序可更改。

本发明的有益效果:

应用本发明的系统架构,可以很好地实现软件开发过程中的低耦合,提高可维护性,方便产品进行后续的升级、维护、管理。在目前,对应用了软件的产品升级、维护、管理往往存在着一定的不便利之处,比如医疗领域中的医学训练模拟器或者训练模块、教育及生活领域中的学习机、机械领域的数控机床等等,当对这些产品进行升级、维护、管理时,通常都是重新写代码编写程序、重新开发,分别升级维护,割裂了与原产品的关系,而这些产品在进行升级换代、维护管理的过程中,有很多相同或相近的功能或服务,重新开发、分别升级维护会投入更多的人力、时间、金钱成本,造成的成本浪费比较严重,时间越长、升级维护的产品越多,这种投入的成本高的现象越明显,而应用本发明的技术方案,可以很好地解决这一问题。

附图说明:

构成本申请的一部分的说明书附图,用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

在附图中:

图1 为本发明实施例的系统架构示意图;

图2 为本发明应用于模拟医学教学领域的五层架构示意图;

图3 为应用本发明四层系统架构的医学模拟人产品示意图。

具体实施方式:

应用本发明的系统架构,可以实现软件模块间的低耦合,方便进行后续的产品升级、维护、管理(比如在原有产品上连接一个新的硬件,下同)。本发明中的系统可以对不同产品的个性化功能需求提供支持,提供一个可以通用配置化的服务平台,通过简单配置就可以提供之前重复开发的通用功能模块并且支持个性化扩展,在通用功能和/或服务的基础上进行功能和/或服务的扩展,从而实现升级、维护、管理,由于不需要重新写代码重新编写程序,因此可降低升级维护的成本。本发明的系统架构或系统,可进行沙盒封装,降低对部署环境的依赖性。应用本发明的技术方案,可以避免具有相同或相似主要功能项目或产品的重复开发,把通用的、公共的参数和/或事件和/或服务添加到中间层即可产生通用的、公共的功能和/或服务,把个性化的、非公共的参数和/或事件和/或服务添加到应用服务层即可产生个性化的、非公共的功能和/或服务,通过增加层可实现层的扩展,通过增加参数和/或事件和/或服务可实现具体内容上的扩展。当系统需要兼容一个新的硬件或者有新的需求需要升级时,在不需要大范围改动代码的情况下,修改层与层之间的配置文件或者在修改层与层之间的配置文件的基础上再修改配置文件的解析程序即可达到目的,减少大范围修改代码所带来的风险,同时也节省了人力金钱成本。此外,应用本发明的系统架构或系统,可通过仅修改配置文件产生新产品的软件系统。本发明系统中的参数可根据业务需求进行更改,若将本发明应用在机械工程领域,将参数改为机械工程参数即可,即通过修改参数可将本发明应用在各个不同的领域,针对业务需求配置服务,动态生成前端,大幅缩短模型控制软件项目工期,提高工作效率,降低产品升级维护成本。本发明实施例提供一个系统,即在两个层(中间层和应用服务层)之间添加配置文件及其解析程序,对两个层(中间层和应用服务层)进行关联解耦,保持层与层(例如:中间层和应用服务层)之间的低耦合,其中中间层用于提供通用的、公共的功能和/或服务,应用服务层用于提供个性化的、非公共的功能和/或服务。本实施例中中间层、应用服务层为核心层,其它层可根据需求复杂程度进行添加,不需要大范围修改代码的方式就可增加功能和/或服务,即在不通过大范围修改代码的情况下,根据需求变动、增加、修改配置文件或变动、增加、修改配置文件及其解析程序来达到目的,减少升级维护成本。此外,通过修改层里面的参数可将本发明的系统架构应用在不同的领域。层的数量可根据需要增减,如在中间层和应用服务层之间再添加两层,在两层之间再添加两层,等等。本实施例基于分层设计、模块化思想,在不需要大范围修改代码的情况下,根据需要仅修改配置文件或仅修改配置文件及其解析程序即可,影响范围小,大幅节省产品升级、维护管理过程中支出的成本。

为了使本领域的技术人员更好地理解本发明的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。

实施例1:

图1为本实施例的系统架构示意图,应当理解的是,本发明保护的范围并没有层数上的限制,可以是两个层、三个层、四个层、五个层、六个层、七个层……,等等,可根据需求复杂程度进行相应层数的调整。下面将结合附图1,对本发明做进一步阐释:

如图1所示,系统的核心部分为中间层,此层根据需要添加通用的、公共的参数和/或事件和/或服务,此层以数据总线参数列表的形式维护系统核心数据,统一管理可配置客观参数等公共服务;应用服务层为实现系统扩展功能的层,此层根据需要添加个性化的、非公共的参数和/或事件和/或服务,提供业务需求接口所要实现的服务,可设计为Web服务端进行功能和/或服务的勾选,也可增加外置服务、第三方服务等,中间层和应用服务层之间还可根据需要添加若干个层,通过配置文件及其解析程序连接,配置文件根据需要配置每两个层之间的关系,并由解析程序读取。

本实施例通过层与层之间的关联解耦,具体配置每两个层之间的关系,来达到低耦合的目的,应用本系统架构,可以方便产品后期进行升级、维护、管理,大幅节省人力、时间以及金钱成本。

实施例2:

图2为应用于模拟医学教学领域五层架构图,同样地,每个层也可根据需要进行增减,并不限定。如图所示,该五层架构分别是前端交互层、应用服务层、中间层、指令通信层、外设元件层,其中,

前端交互层,用于接收用户操作,并根据所述用户操作进行交互,或者仅向用户展示前端页面内容,不进行交互,前端交互层可由任意类型的客户端来实现前端交互,可以是网页如H5 Web页面、前端框架页面(RESTFul、websocket)、PC客户端(wpf、uwp)、移动客户端(IOS、Android)、3D、VR等。由于每个产品业务需求可能都有所区别,前端交互与展示都有个性化的要求,因此每个产品都可以使用最符合需求的技术来实现,前端交互层可预先做好模板式前端,后期根据需要变动或更改配置文件,由系统的配置工具动态生成前端页面,通过可配置化的接口与应用服务层通信,实现各种业务功能的交互;

应用服务层,根据需求写入代码、添加配置文件,配置功能和/或服务,用于满足个性化的需求,可在系统服务端自行勾选功能和/或服务,提供个性化扩展功能,也可通过增加外置服务比如介观感知生理驱动平台或者是柔性感知集合体系统等、或者是第三方服务等来实现提供个性化的、非公共的功能和/或服务的目的,为各种不同产品的业务需求提供可扩展的服务,对个性化的需求也可进行封装模块化,供以后项目或产品进行选配,此层可提供全部的功能服务列表进行产品定义及功能选配,每个功能服务模块间较少耦合能偶独立存在运行。当有新的功能需求时,如增加语音识别功能(此功能不是所有的服务层都会用到,因此需要添加至应用服务层),可直接将写好的程序添加到应用服务层,仅通过修改配置文件即可,当配置文件的结构发生改变时,需要一并修改配置文件的解析程序,而仅增加或减少数据时不会导致配置文件的结构发生改变,因此只需要修改配置文件即可;

前端交互层 ⇌应用服务层 中间协议配置:

考虑到前端可能存在多种不同的表现形式,在进行数据增删改查请求时,相似的业务逻辑可能存在参数差异,故提供中间配置文件,用于差异化映射前端交互层传值映射与应用服务层参数映射,将前端不同的参数映射到相同的固定接口参数上,双方使用XMLSchema进行配置描述。

当前端交互层和/或应用服务层的需求有变化时,仅修改配置文件或仅修改配置文件及其接口解析运行程序即可,而无需改动前端交互层和/或应用服务层里的代码;

中间层,可根据需求写入代码,或根据需求再添加配置文件。中间层根据需要添加通用的、公共的参数和/或事件和/或服务,用于提供通用的、公共的功能和/或服务。中间层中的数据总线服务统一维护管理整个系统所用的数据,包括参数和/或事件等,其中数据总线服务通过中间层中的配置文件进行描述,通过解析配置文件统一维护管理系统共用的参数和/或事件等,数据总线服务通过写代码运行程序实现,读取文件数据进行缓存,并存储到数据缓存区,接收所有来自上一层、下一层的数据,进行存储、交换、修改等数据的维护。中间层包含所有层共用的数据和/或服务和/或参数和/或事件等,若添加新的系统共用的数据,只需添加到中间层的配置文件再通过修改层与层之间的配置文件即可,不需要修改代码即可达到目的,其中参数和/或事件和/或数据和/或服务以数据总线参数列表的方式呈现,防止发生错乱,每种类型的数据可动态地扩充、删减、修改,中间层中的参数和/或事件和/或服务,可根据业务需求而增加,例如当业务需求较少时,中间层中的参数为100个,当业务需求增加时可在此基础上增加100个参数、200个参数……,实现具体内容的扩展,也可以通过增加层来实现层的扩展。此外,中间层可提供系统联动服务。中间层是主要定义、维护系统核心数据、事件的服务层,可根据项目规模和个性化需求进行上下层服务的扩展,中间层通过上行和下行转换协议与应用服务层、指令通信层进行数据、指令通信,此服务层是系统的公共控制核心;

应用服务层⇌中间层 中间协议配置:

中间层作为架构核心层,根据人体组织结构以及硬件可实现的最小功能模块颗粒度,约定出一个完整的单维度数据列表,列表中涵盖所有智能模拟人可设置的参数,本层中间协议配置文件用于描述当应用服务层设置模拟人参数时,传参名称或值有差异时,配置文件将应用服务层项目级别的数据差异统一转换成中间层约定好的数据列表对应参数,使模拟人数据最终保持其唯一性,能够正常被中间层识别。指令通信层:用于自动适配不同连接方式不同通信协议的通信服务,如UDP、TCP、蓝牙、串口、进程通信、HTTP等,此层主要承担系统与硬件设备软件系统的数据和指令通信,由可配置化的通信协议及解析程序构成的可扩展的通信服务来实现,服务封装各种常用链接方式下的不同通信协议,通过配置文件实现组件与通信指令间的关联;

中间层 ⇌指令通讯层 中间协议配置:

因为不同的通讯方式在通讯时会使用不同的通讯协议,如TCP可以使用流进行传输数据并且可能存在粘包问题需要增加数据边界,再如进程通讯可以使用内存共享技术需约定Struct。故本层中间协议配置文件主要用于约定在双方通讯过程中,业务以外的最外层通讯数据结构,用于保证通讯的可用性。外设元件层:用于自动识别不同功能或相同功能不同实现的各种设备元件,并可以实现热插拔通信,此层为系统外部的硬件设备(或虚拟设备、其他系统),由指令通信层通过通信服务与各种设备进行指令交互,外设元件层可直接兼容现有和未来各种符合协议的设备,并可以通过扩展协议来实现个性化设备的接入,保证通用性和可扩展性;

指令通讯层⇌外设元件层 中间协议配置:

每个外设元件都是一个独立的个体模块,其内部可能使用不同的技术方案及代码实现逻辑,相同功能的模块也可能存在多个不同的版本,对于以上复杂的情况,数据传参的具体内容需要简易可变,本层协议用于配置软/硬件模块通讯过程中的参数转换,保证当硬件更新迭代后,不会出现因为底层下位机硬件代码判断逻辑变化导致的上层代码重写的问题。

同样地,本实施例通过层与层之间的关联解耦,具体配置每两个层之间的关系,来降低耦合,从而方便后续的升级、维护、管理,大幅节省成本。

实施例3:

如图3所示,为应用本发明四层系统架构的医学模拟人产品,此产品没有指令通信层,没有进行指令的封装与解析,只有前端交互层、应用服务层、中间层、外设元件层,其中101为平板电脑,相当于本发明中的前端交互层,102为半身模拟人,相当于本发明中的外设元件层,平板电脑与半身模拟人无线连接,模拟人内部安装有电池、路由器、智能电路板等,其中智能电路板上装有存储中间层和应用服务层系统架构的存储卡,中间层根据需要写入通用的、公共的参数,如数据传输、数据翻译、事件的响应等,这些参数每个层都会用到,应用服务层根据需要写入个性化的、非公共的参数,如CPR服务相关的参数放在应用服务层,因为不是所有的模型人都需要有CPR功能,中间层和应用服务层之间通过配置文件及其解析程序连接,连接中间层和外设元件层之间的配置文件可对半身模拟人进行自动识别。当设置电脑上的运行模式时(模式可切换),半身模拟人可发生相应的变化,比如当实施CPR操作对模拟人进行胸外按压时,电脑页面会显示按压次数、持续时间、按压有效性等,此外,模拟人身上也可以安装信号灯,当设置电脑界面上的参数时,模拟人身上的信号灯变亮,当然也可以通过其他的方式来实现交互,如在电脑界面上设置呼吸模式为潮式呼吸,模拟人的呼吸模式即调整为异常呼吸模式潮式呼吸,或者在电脑界面上设置不同疼痛等级,模拟人即发出不同程度的呻吟声来实现交互。当后期有新的需求,需要对产品进行升级,或者产品需要兼容一个新的硬件,等等,不需要大范围地修改代码,仅通过修改配置文件或仅通过修改配置文件及其解析程序即可,与传统大范围地修改代码的方式相比,出现风险的概率低,大幅节省产品的升级维护成本。

本发明中所描述的接口配置文件、接口协议文件、通信协议文件、元件参数映射(即层与层之间的连接关系)为配置文件,根据每两层之间的关系设置不同的参数/数据/信息、格式及形式。其中,所述的配置文件可由配置工具自动生成;

本发明中所描述的解析程序为根据需要写代码运行的程序,解析程序根据配置文件中的XML文件固定好的格式进行读取,使系统能够识别配置文件所描述的关系;

本发明中的协议,指的是传统通信协议如UDP、FTP、HTTP,也可以是在传统通信协议基础上根据需要自定义的通信协议;

本发明中通用的/公共的参数和/或事件和/或服务,指的是每个层都会用到的参数和/或事件和/或服务;

本发明中个性化的、非公共的参数和/或事件和/或服务,指的是不是每个层都会用到的参数和/或事件和/或服务,亦或根据需要对产品进行升级维护管理过程中所添加的参数和/或事件和/或服务;

本发明中的配置文件,可以是根据XML文件而制作;

本发明中的层,用来统称每个层的名称,如前端交互层、应用服务层、中间层、指令通信层、外设元件层、根据需要增加的层,中的每一个都可以称作为一个层。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号