• 基于《河北省重大技术需求征集系统》的可用性和可修改性战术分析


    河北重大技术需求的可用性战术

    错误检测

    1.1信号/响应:一个组件发出一个信号,并希望在预定义的时间内收到一个来自审查组件的响应,该战术可以用在共同负责某项任务的一组组件内。

    对应:用户登录时向服务器进行发送请求。

    1.2心跳:一个组件定期发出一个心跳信息,另一个组件收听该信息。心跳还可用于传递数据。

    对应:注册时数据的传输。

    1.3异常:异常处理程序通常将错误在语义上转换为可以被处理的形式,异常通常与引入异常的程序在同一个进程中。

    对应:在进行用户注册的过程中,输入的东西有格式的要求,我们需要对于用户输入不符合格式的地方进行主动抛出异常。

    二:错误恢复

    2.1表决:运行在冗余处理器上的每个进程都具有相等的输入,它们计算的值都发给表决者,表决者发现异常则终止进程。

    对应:当处理器进程出现错误的情况下,通过一定的表决算法,终止或者重启处理器。

    2.2主动冗余(Active redundancy ):所有的冗余组件都以并行的方式对事件做出响应,它们的状态都相同,但每次只使用一个组件的响应而丢弃其余组件的响应。

    对应:当我们向系统发送一个事件时,系统在多台服务器上同时进行响应,但是我们采用第一个服务器反馈回来的结果。

    2.3被动冗余(passive redundancy ):主组件对事件做出响应,并通知其它备用组件必须进行的状态更新。这样,主/从组件的状态是一致的;被动冗余通常用在控制系统中,恢复时间一般在几秒内;在被动冗余中,主组件负责状态同步。

    对应:当我们向系统发送一个事件时,系统在一个服务器上进行响应,但是也通知其他服务器进行状态同步,一旦主服务器发生错误,可以立即使用别的服务器。

    2.4备件(spare):备件是计算平台配置用于更换各种不同的故障组件。出现故障时,必须将其重新启动为适当的软件配置,并对其状态进行初始化。

    对应:当服务器出现错误的时候,我们进行故障组件的更换,并且重新启动。

    2.5状态再同步(State resynchronization):主动和被动冗余战术要求所恢复的组件在重新提供服务前更新其状态。

    对应:在系统发生错误后要求回到系统发生错误之前的一个状态。

    2.6检查点/回滚(Checkpoint/rollback):检查点就是记录所创建的一致状态,遇到故障,可以使用上次正确的检查点状态;

    对应:系统设置备份,以及备份间隔,防止错误的产生而无法恢复。

    三:错误预防

    3.1从服务中删除(removal from service):该战术从操作中删除了系统的一个组件,以执行某些活动来防止预期发生的故障,比如重新启动备用组件阻止当前组件的内存泄漏;

    对应:无。

    3.2事务(transactions):事务是指绑定几个有序的步骤,以能够立刻撤销这个绑定,可以使用事务来防止任何数据受到影响;

    对应:无。

    3.3进程监视器(process monitor):监视进程中存在的错误,如果发现错误,则删除该执行进程,并为该进程创建一个新的实例。

    对应:在我们进行输入的过程中,如果在最后出现错误,提交注册表后,系统给与反馈,并且删除你刚刚提交的内容。

    河北重大技术需求可修改性战术

    一:局部化修改

    1.1预期期望的变更(expected changes ):根据语义一致性原则,预测期望变更的战术并不关心模块责任的一致性,而是关心将变更的影响最小化。

    对应:在进行编码的过程中,对系统进行模块化处理,从而使得修改其中一个模块,不影响别的模块。

    1.2维持语义一致性(semantic coherence ):语义一致性是模块中责任之间的关系,目标是确保所有这些责任都能够协同工作,不需要过多地依赖其它模块,即这组模块的内聚性。

    对应:在进行编码的过程中,尽可能的将函数抽象,变为通用函数。

    二:防止连锁反应

    2.1信息隐藏(Hide information ):目的是将变更隔离在一个模块内,防止变更扩散;

    对应:在各个模块中尽量不通用别的模块的信息。

    2.2维持现有接口(Maintain existing interfaces ):如果B依赖于A的一个接口的名字和签名,则维持该接口及其语法能够使B保持不变。

    对应:在添加新的接口时,不改变原有的接口。

    2.3限制通信路径(Restrict communication paths ):限制与一个给定的模块共享数据的模块,包括生产和使用该模块的数据。

    对应:对于各个模块设置一个确定调用办法,用于使用。

    三:延迟绑定时间

    3.1推迟绑定时间支持部署时间及允许非开发人员修改;

        对应:登录界面验证码的设定。

  • 相关阅读:
    ugui优化
    jmeter请求时json串的输入格式
    Python文件读写之r+/w+/a+
    python文件操作
    python列表操作
    python嵌套字典的用法
    python字典的基础操作
    python字符串操作
    python基础之字符串为空或空格判断
    【转】Charles手机抓包设置&无法打开火狐网页设置
  • 原文地址:https://www.cnblogs.com/baiyue/p/8626063.html
Copyright © 2020-2023  润新知