• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 21
    • 下载费用:30 金币  

    重庆时时彩的中奖秘诀: 策略执行方法、装置及系统.pdf

    关 键 词:
    策略 执行 方法 装置 系统
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410072394.1

    申请日:

    2014.02.28

    公开号:

    CN103838615A

    公开日:

    2014.06.04

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||著录事项变更IPC(主分类):G06F 9/45变更事项:申请人变更前:广州华多网络科技有限公司变更后:广州华多网络科技有限公司变更事项:地址变更前:510655 广东省广州市黄埔大道中309号羊城创意产业园3-08栋变更后:511446 广东省广州市番禺区南村镇万博商务区万达广场B1座28层|||实质审查的生效IPC(主分类):G06F 9/45申请日:20140228|||公开
    IPC分类号: G06F9/45 主分类号: G06F9/45
    申请人: 广州华多网络科技有限公司
    发明人: 许铎; 张旺辉; 贺灏
    地址: 510655 广东省广州市黄埔大道中309号羊城创意产业园3-08栋
    优先权:
    专利代理机构: 北京三高永信知识产权代理有限责任公司 11138 代理人: 张耀光
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410072394.1

    授权公告号:

    103838615B|||||||||

    法律状态公告日:

    2017.05.17|||2017.05.10|||2014.07.02|||2014.06.04

    法律状态类型:

    授权|||著录事项变更|||实质审查的生效|||公开

    摘要

    本发明公开了一种策略执行方法、装置及系统,属于计算机领域。所述方法包括:接收预定事件的标识以及与预定事件相对应的策略参数;根据预先建立的预定事件的标识与响应策略之间的对应关系查询响应策略;向响应策略对应的观察者装置发送执行通知,由观察者装置根据策略参数执行响应策略。本发明通过在接收预定事件的标识以及与该预定事件相对应的策略参数后,查询对应的响应策略,并向观察者装置发送包含有该策略参数和该响应策略,由观察者装置根据该策略参数执行该响应策略,不解决了现有技术中增加系统开销的问题以及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。

    权利要求书

    权利要求书
    1.  一种观察者模式下的策略执行方法,用于控制装置中,其特征在于,所述方法包括:
    接收预定事件的标识以及与所述预定事件相对应的策略参数;
    根据预先建立的所述预定事件的标识与响应策略之间的对应关系查询所述响应策略;
    向所述响应策略对应的观察者装置发送执行通知,所述执行通知中包含有所述策略参数和所述响应策略,所述执行通知用于指示所述观察者装置根据所述策略参数执行所述响应策略。

    2.  根据权利要求1所述的方法,其特征在于,所述接收预定事件的标识以及与所述预定事件相对应的策略参数之前,包括:
    接收所述观察者装置发送的注册请求;
    通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略;
    检测所述可执行策略是否对应有预定类型的Java注解;
    若检测结果为所述可执行策略对应有所述预定类型的Java注解,则将所述可执行策略获取为所述响应策略,并从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识;
    建立所述预定事件的标识与所述响应策略之间的对应关系。

    3.  根据权利要求1所述的方法,其特征在于,所述方法还包括:
    接收所述观察者装置发送的撤销请求;
    将所述预定事件的标识与所述响应策略之间的对应关系删除。

    4.  一种观察者模式下的策略执行方法,用于观察者装置中,其特征在于,所述方法包括:
    接收控制装置发送的执行通知,所述执行通知中包含有策略参数以及与所述观察者装置对应的响应策略;所述执行通知为所述控制装置接收预定事件的标识以及所述策略参数,并根据预先建立的所述预定事件的标识与所述响应策 略之间的对应关系查询到所述响应策略后发送的通知;
    根据所述策略参数执行所述响应策略。

    5.  根据权利要求4所述的方法,其特征在于,所述接收控制装置发送的执行通知之前,还包括:
    向所述控制装置发送注册请求,所述注册请求用于指示所述控制装置通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略,并在检测出所述可执行策略对应有所述预定类型的Java注解后,将所述可执行策略获取为所述响应策略,并从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识,并建立所述预定事件的标识与所述响应策略之间的对应关系。

    6.  根据权利要求4所述的方法,其特征在于,所述方法还包括:
    向所述控制装置发送撤销请求,所述撤销请求用于指示所述控制装置将所述预定事件的标识与所述响应策略之间的对应关系删除。

    7.  一种观察者模式下的控制装置,其特征在于,所述装置包括:
    第一接收???,用于接收预定事件的标识以及与所述预定事件相对应的策略参数;
    查询???,用于根据预先建立的所述预定事件的标识与响应策略之间的对应关系查询所述响应策略;
    通知发送???,用于向所述响应策略对应的观察者装置发送执行通知,所述执行通知中包含有所述策略参数和所述响应策略,所述执行通知用于指示所述观察者装置根据所述策略参数执行所述响应策略。

    8.  根据权利要求7所述的装置,其特征在于,所述装置包括:
    注册请求接收???,用于在所述第一接收??榻邮赵ざㄊ录谋晔兑约坝胨鲈ざㄊ录喽杂Φ牟呗圆问?,接收所述观察者装置发送的注册请求;
    遍历???,用于通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略;
    检测???,用于检测所述可执行策略是否对应有预定类型的Java注解;
    第一获取???,用于若所述检测??榈募觳饨峁隹芍葱胁呗远杂τ兴鲈ざɡ嘈偷腏ava注解,则将所述可执行策略获取为所述响应策略;
    第二获取???,用于若所述检测??榈募觳饨峁隹芍葱胁呗远杂τ兴鲈ざɡ嘈偷腏ava注解,则从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识;
    建立???,用于建立所述预定事件的标识与所述响应策略之间的对应关系。

    9.  根据权利要求7所述的装置,其特征在于,所述装置还包括:
    撤销请求接收???,用于接收所述观察者装置发送的撤销请求;
    删除???,用于将所述预定事件的标识与所述响应策略之间的对应关系删除。

    10.  一种观察者模式下的观察者装置,其特征在于,所述装置包括:
    通知接收???,用于接收控制装置发送的执行通知,所述执行通知中包含有策略参数以及与所述观察者装置对应的响应策略;所述执行通知为所述控制装置接收预定事件的标识以及所述策略参数,并根据预先建立的所述预定事件的标识与所述响应策略之间的对应关系查询到所述响应策略后发送的通知;
    执行???,用于根据所述策略参数执行所述响应策略。

    11.  根据权利要求10所述的装置,其特征在于,所述装置还包括:
    注册请求发送???,用于在所述通知接收??榻邮湛刂谱爸梅⑺偷闹葱型ㄖ?,向所述控制装置发送注册请求,所述注册请求用于指示所述控制装置通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略,并在检测出所述可执行策略对应有所述预定类型的Java注解后,将所述可执行策略获取为所述响应策略,并从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识,并建立所述预定事件的标识与所述响应策略之间的对应关系。

    12.  根据权利要求10所述的装置,其特征在于,所述装置还包括:
    撤销请求发送???,用于向所述控制装置发送撤销请求,所述撤销请求用于指示所述控制装置将所述预定事件的标识与所述响应策略之间的对应关系删 除。

    13.  一种观察者模式下的策略执行系统,其特征在于,所述系统包括:
    如权利要求7至9任一所述的控制装置以及如权利要求10至12任一所述的观察者装置。

    说明书

    说明书策略执行方法、装置及系统
    技术领域
    本发明涉及计算机领域,特别涉及一种策略执行方法、装置及系统。
    背景技术
    观察者模式是软件设计模式的一种。在观察者模式下,一个被观察者装置对应于一个或多个观察者装置,当被观察者装置发生预定事件时,观察者装置可以根据该预定事件执行相应的响应策略。
    以安卓系统为例,在现有的观察者模式下,观察者装置向控制装置进行注册,当被观察者装置发生预定事件时,向控制装置发送该预定事件的标识和相关参数??刂谱爸媒邮盏礁迷ざㄊ录谋晔逗拖喙夭问?,通过Intent将该预定事件的标识和相关参数传递给观察者装置。观察者装置根据该预定事件的标识查询对应的响应策略,并根据该相关参数执行该响应策略。
    在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
    现有的观察者模式下,首先,通过Intent传递数据需要进行序列化和反序列化的过程,而该过程需要消耗一定的系统开销,影响系统性能;其次,观察者装置需要根据预定事件的标识查询对应的响应策略,从而导致观察者装置的代码结构更加复杂,影响代码的可读性和可维护性。
    发明内容
    为了解决现有技术中通过Intent传递数据需要进行序列化和反序列化的过程而导致的增加系统开销,影响系统性能的问题以及观察者装置需要根据预定事件的标识查询对应的响应策略而导致的观察者装置的代码结构复杂,影响可读性和可维护性的问题,本发明实施例提供了一种策略执行方法、装置及系统。所述技术方案如下:
    一方面,提供了一种观察者模式下的策略执行方法,用于控制装置中,所述方法包括:
    接收预定事件的标识以及与所述预定事件相对应的策略参数;
    根据预先建立的所述预定事件的标识与响应策略之间的对应关系查询所述响应策略;
    向所述响应策略对应的观察者装置发送执行通知,所述执行通知中包含有所述策略参数和所述响应策略,所述执行通知用于指示所述观察者装置根据所述策略参数执行所述响应策略。
    所述接收预定事件的标识以及与所述预定事件相对应的策略参数之前,包括:
    接收所述观察者装置发送的注册请求;
    通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略;
    检测所述可执行策略是否对应有预定类型的Java注解;
    若检测结果为所述可执行策略对应有所述预定类型的Java注解,则将所述可执行策略获取为所述响应策略,并从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识;
    建立所述预定事件的标识与所述响应策略之间的对应关系。
    所述方法还包括:
    接收所述观察者装置发送的撤销请求;
    将所述预定事件的标识与所述响应策略之间的对应关系删除。
    另一方面,提供了一种观察者模式下的策略执行方法,用于观察者装置中,所述方法包括:
    接收控制装置发送的执行通知,所述执行通知中包含有策略参数以及与所述观察者装置对应的响应策略;所述执行通知为所述控制装置接收预定事件的标识以及所述策略参数,并根据预先建立的所述预定事件的标识与所述响应策略之间的对应关系查询到所述响应策略后发送的通知;
    根据所述策略参数执行所述响应策略。
    所述接收控制装置发送的执行通知之前,还包括:
    向所述控制装置发送注册请求,所述注册请求用于指示所述控制装置通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略,并在检测出所述可执行策略对应有所述预定类型的Java注解后,将所述可执行策略获取为所述响应策略,并从所述可执行策略对应的Java注解的属性中获取所述预定事件 的标识,并建立所述预定事件的标识与所述响应策略之间的对应关系。
    所述方法还包括:
    向所述控制装置发送撤销请求,所述撤销请求用于指示所述控制装置将所述预定事件的标识与所述响应策略之间的对应关系删除。
    再一方面,提供了一种观察者模式下的控制装置,所述装置包括:
    第一接收???,用于接收预定事件的标识以及与所述预定事件相对应的策略参数;
    查询???,用于根据预先建立的所述预定事件的标识与响应策略之间的对应关系查询所述响应策略;
    通知发送???,用于向所述响应策略对应的观察者装置发送执行通知,所述执行通知中包含有所述策略参数和所述响应策略,所述执行通知用于指示所述观察者装置根据所述策略参数执行所述响应策略。
    所述装置包括:
    注册请求接收???,用于在所述第一接收??榻邮赵ざㄊ录谋晔兑约坝胨鲈ざㄊ录喽杂Φ牟呗圆问?,接收所述观察者装置发送的注册请求;
    遍历???,用于通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略;
    检测???,用于检测所述可执行策略是否对应有预定类型的Java注解;
    第一获取???,用于若所述检测??榈募觳饨峁隹芍葱胁呗远杂τ兴鲈ざɡ嘈偷腏ava注解,则将所述可执行策略获取为所述响应策略;
    第二获取???,用于若所述检测??榈募觳饨峁隹芍葱胁呗远杂τ兴鲈ざɡ嘈偷腏ava注解,则从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识;
    建立???,用于建立所述预定事件的标识与所述响应策略之间的对应关系。
    所述装置还包括:
    撤销请求接收???,用于接收所述观察者装置发送的撤销请求;
    删除???,用于将所述预定事件的标识与所述响应策略之间的对应关系删除。
    又一方面,提供了一种观察者模式下的观察者装置,所述装置包括:
    通知接收???,用于接收控制装置发送的执行通知,所述执行通知中包含 有策略参数以及与所述观察者装置对应的响应策略;所述执行通知为所述控制装置接收预定事件的标识以及所述策略参数,并根据预先建立的所述预定事件的标识与所述响应策略之间的对应关系查询到所述响应策略后发送的通知;
    执行???,用于根据所述策略参数执行所述响应策略。
    所述装置还包括:
    注册请求发送???,用于在所述通知接收??榻邮湛刂谱爸梅⑺偷闹葱型ㄖ?,向所述控制装置发送注册请求,所述注册请求用于指示所述控制装置通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略,并在检测出所述可执行策略对应有所述预定类型的Java注解后,将所述可执行策略获取为所述响应策略,并从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识,并建立所述预定事件的标识与所述响应策略之间的对应关系。
    所述装置还包括:
    撤销请求发送???,用于向所述控制装置发送撤销请求,所述撤销请求用于指示所述控制装置将所述预定事件的标识与所述响应策略之间的对应关系删除。
    又一方面,提供了一种观察者模式下的策略执行系统,所述系统包括:
    如上所述的控制装置以及观察者装置。
    本发明实施例提供的技术方案带来的有益效果是:
    通过在接收预定事件的标识以及与该预定事件相对应的策略参数后,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该响应策略对应的观察者装置发送包含有该策略参数和该响应策略的执行通知,由观察者装置根据该策略参数执行该响应策略,不需要通过Intent传递数据,也不需要观察者装置根据预定事件的标识查询对应的响应策略,解决了现有技术中增加系统开销的问题以及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。
    附图说明
    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
    图1是本发明一个实施例提供的策略执行方法的方法流程图;
    图2是本发明另一实施例提供的策略执行方法的方法流程图;
    图3是本发明一个实施例提供的策略执行方法的方法流程图;
    图4是本发明另一实施例提供的策略执行方法的方法流程图;
    图5是本发明一个实施例提供的策略执行方法的方法流程图;
    图6是本发明一个实施例提供的控制装置的装置结构图;
    图7是本发明另一实施例提供的控制装置的装置结构图;
    图8是本发明一个实施例提供的观察者装置的装置结构图;
    图9是本发明另一实施例提供的观察者装置的装置结构图;
    图10是本发明一个实施例提供的策略执行系统的系统构成图。
    具体实施方式
    为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
    请参考图1,其示出了本发明一个实施例提供的策略执行方法的方法流程图。该策略执行方法用于观察者模式下的控制装置中。该策略执行方法可以包括:
    步骤102,接收预定事件的标识以及与该预定事件相对应的策略参数;
    步骤104,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略;
    步骤106,向该响应策略对应的观察者装置发送执行通知,该执行通知中包含有该策略参数和该响应策略,该执行通知用于指示该观察者装置根据该策略参数执行该响应策略。
    综上所述,本发明实施例提供的策略执行方法,通过在接收预定事件的标识以及与该预定事件相对应的策略参数后,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该响应策略对应的观察者装置发送包含有该策略参数和该响应策略的执行通知,由观察者装置根据该策略参数执行该响应策略,不需要通过Intent传递数据,也不需要观察者装置根据预定事件的标识查询对应的响应策略,解决了现有技术中增加系统开销的问题以 及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。
    请参考图2,其示出了本发明另一实施例提供的策略执行方法的方法流程图。该策略执行方法用于观察者模式下的控制装置中。以该观察者模式下的控制装置和观察者装置基于Java语言设计为例,该策略执行方法可以包括:
    步骤202,接收观察者装置发送的注册请求;
    在观察者模式下,观察者装置在根据预定事件执行对应的响应策略之前,首先需要向控制装置发送注册请求进行注册。
    步骤204,通过Java反射机制遍历该观察者装置的源码中包含的可执行策略,检测该可执行策略是否对应有预定类型的Java注解;
    以观察者装置基于Java语言设计为例,开发者可以在观察者装置的源码中编写可执行的策略,又称为方法(Method),这些方法(Method)可以在观察者装置运行时,被其它程序通过Java反射机制遍历该观察者装置的源码获取。
    而Java注解是Java中的另一种特殊机制,其可以使Java源码中不但可以包含功能性的实现代码,还可以添加元数据。在Java源码中,Java注解以“@注解名”的形式存在。在开发观察者装置时,开发人员将观察者装置在观察者模式下的响应策略以方法(Method)的形式写入源码,并将该响应策略对应的预定事件的标识写入该响应策略对应的预定类型的注解的属性中。
    控制装置在接收到观察者装置发送的注册请求后,可以通过Java反射机制遍历该观察者装置的源码中包含的所有的可执行策略,并检测这些可执行策略是否对应有预定类型的Java注解,即检测该可执行策略对应的Java注解的注解名是否为预定的注解名。
    步骤206,若检测结果为该可执行策略对应有该预定类型的Java注解,则将该可执行策略获取为该响应策略,并从该可执行策略对应的Java注解的属性中获取该预定事件的标识;
    请参考如下所示的代码片段:


    其中,NotificationID为预定的注解名,onSampleID为可执行策略,控制装置获取到可执行策略onSampleID之后,检测到对应注解的注解名为NotificationID,则将该onSampleID获取为该响应策略,并将@NotificationID的属性中包含的元数据获取为该响应策略对应的预定事件的标识。
    步骤208,建立该预定事件的标识与该响应策略之间的对应关系;
    具体的,控制装置可以将该响应策略以及该观察者装置的标识对应存储,同时建立该预定事件的标识、该响应策略以及该观察者装置的标识之间的对应关系。
    步骤210,接收该预定事件的标识以及与该预定事件相对应的策略参数;
    其中,该预定事件为被观察者装置发生的事件,且被观察者被设置为在发生该预定事件时向控制装置发送该预定事件的标识以及该预定事件对应的策略参数。
    步骤212,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该观察者装置发送执行通知,该执行通知中包含有该策略 参数和该响应策略;
    其中,该响应策略是可以被观察者装置直接执行的对象引用,观察者装置接收到该执行通知后,可以直接根据该策略参数执行该响应策略。
    步骤214,接收所述观察者装置发送的撤销请求,将该预定事件的标识与该响应策略之间的对应关系删除。
    以该被观察者装置为下载进程,观察者装置为显示进程,预定事件为完成文件的下载,该预定事件的标识为1,该策略参数为下载完成的文件的存储地址,该响应策略为显示该存储地址中的文件为例。显示进程首先向控制装置发起注册,控制装置通过Java发射机制从显示进程的源码中获得该预定事件的标识以及该响应策略,并建立该预定事件的标识、该响应策略以及该显示进程的标识,比如该显示进程的接口地址之间的对应关系。当下载进程下载完成某文件之后,向控制装置发送该预定事件的标识1以及该文件的存储地址,控制装置根据该预定事件的标识1查询到该响应策略为显示该存储地址中的文件后,将该文件的存储地址和该响应策略发送至该显示进程的接口地址,显示进程根据该存储地址显示该文件。当显示进程不再需要显示下载进程下载完成的文件时,可以向控制装置发送撤销请求,控制装置根据该显示进程的标识查询该预定事件的标识、该响应策略以及该显示进程的标识之间的对应关系并删除。
    综上所述,本发明实施例提供的策略执行方法,通过在接收预定事件的标识以及与该预定事件相对应的策略参数后,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该响应策略对应的观察者装置发送包含有该策略参数和该响应策略的执行通知,由观察者装置根据该策略参数执行该响应策略,即控制装置可以直接调用观察者装置的对象引用,观察者装置不再需要根据该预定事件的标识自行判断是否执行该响应策略,从而达到简化观察者装置的代码结构,提高代码可读性和可维护性的效果。
    此外,本发明实施例提供的策略执行方法,可以直接将策略参数和响应策略发送给观察者装置,不需要对数据进行序列化,解决了现有技术中增加数据的序列化导致的增加系统开销的问题,达到提高系统性能的效果。
    请参考图3,其示出了本发明一个实施例提供的策略执行方法的方法流程图。该策略执行方法用于观察者模式下的观察者装置中。该策略执行方法可以 包括:
    步骤302,接收控制装置发送的执行通知,该执行通知中包含有策略参数以及与该观察者装置对应的响应策略;该执行通知为该控制装置接收预定事件的标识以及该策略参数,并根据预先建立的该预定事件的标识与该响应策略之间的对应关系查询到该响应策略后发送的通知;
    步骤304,根据该策略参数执行该响应策略。
    综上所述,本发明实施例提供的策略执行方法,通过接收控制装置在接收预定事件的标识以及该策略参数,并根据预先建立的该预定事件的标识与该响应策略之间的对应关系查询到该响应策略后发送的通知,并根据该策略参数执行该响应策略,不需要通过Intent传递数据,也不需要观察者装置根据预定事件的标识查询对应的响应策略,解决了现有技术中增加系统开销的问题以及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。
    请参考图4,其示出了本发明另一实施例提供的策略执行方法的方法流程图。该策略执行方法用于观察者模式下的观察者装置中。以该观察者模式下的控制装置和观察者装置基于Java语言设计为例,该策略执行方法可以包括:
    步骤402,向控制装置发送注册请求;
    该注册请求用于指示该控制装置通过Java反射机制遍历该观察者装置的源码中包含的可执行策略,并在检测出该可执行策略对应有该预定类型的Java注解后,将该可执行策略获取为该响应策略,并从该可执行策略对应的Java注解的属性中获取该预定事件的标识,并建立该预定事件的标识与该响应策略之间的对应关系。
    其中,该控制装置通过Java反射机制获取该预定事件的标识和该响应策略,并建立该预定事件的标识与该响应策略之间的对应关系的具体步骤请参考图2所示实施例中步骤204至步骤208下的描述,此处不再赘述。
    步骤404,接收控制装置发送的执行通知,该执行通知中包含有策略参数以及与观察者装置对应的响应策略;
    其中,该执行通知为该控制装置接收预定事件的标识以及该策略参数,并根据预先建立的该预定事件的标识与该响应策略之间的对应关系查询到该响应 策略后发送的通知。
    步骤406,根据该策略参数执行该响应策略;
    其中,该响应策略是可以被观察者装置直接执行的对象引用,观察者装置接收到该执行通知后,可以直接根据该策略参数执行该响应策略。
    步骤408,向该控制装置发送撤销请求;
    该撤销请求用于指示该控制装置将该预定事件的标识与该响应策略之间的对应关系删除。
    以该被观察者装置为下载进程,观察者装置为显示进程,预定事件为完成文件的下载,该预定事件的标识为1,该策略参数为下载完成的文件的存储地址,该响应策略为显示该存储地址中的文件为例。显示进程首先向控制装置发起注册,控制装置从显示进程的源码中获取该预定事件的标识以及该响应策略,并建立该预定事件的标识、该响应策略以及该显示进程的标识,比如该显示进程的接口地址之间的对应关系??刂谱爸煤笮诮邮盏较略刈爸梅⑺偷母迷ざㄊ录谋晔?以及下载装置下载的文件的存储地址后,并根据该预定事件的标识1查询到该响应策略为显示该存储地址中的文件后,将该文件的存储地址和该响应策略发送至该显示进程的接口地址,显示进程根据该存储地址显示该文件。当显示进程不再需要显示下载进程下载完成的文件时,可以向控制装置发送撤销请求,控制装置根据该显示进程的标识查询该预定事件的标识、该响应策略以及该显示进程的标识之间的对应关系并删除。
    综上所述,本发明实施例提供的策略执行方法,通过接收控制装置在接收预定事件的标识以及该策略参数,并根据预先建立的该预定事件的标识与该响应策略之间的对应关系查询到该响应策略后发送的通知,并根据该策略参数执行该响应策略,不需要通过Intent传递数据,也不需要观察者装置根据预定事件的标识查询对应的响应策略,解决了现有技术中增加系统开销的问题以及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。
    请参考图5,其示出了本发明一个实施例提供的策略执行方法的方法流程图。该策略执行方法用于观察者模式下策略执行系统中,该系统包括观察者装置和控制装置。以该观察者模式下的控制装置和观察者装置基于Java语言设计 为例,该策略执行方法可以包括:
    步骤502,观察者装置向控制装置发送注册请求;
    在观察者模式下,观察者装置在根据预定事件执行对应的响应策略之前,首先需要向控制装置发送注册请求进行注册。
    步骤504,控制装置通过Java反射机制遍历该观察者装置的源码中包含的可执行策略,检测该可执行策略是否对应有预定类型的Java注解;
    以观察者装置基于Java语言设计为例,开发者可以在观察者装置的源码中编写可执行的策略,又称为方法(Method),这些方法(Method)可以在观察者装置运行时,被其它程序通过Java反射机制遍历该观察者装置的源码获取。
    而Java注解是Java中的另一种特殊机制,其可以使Java源码中不但可以包含功能性的实现代码,还可以添加元数据。在Java源码中,Java注解以“@注解名”的形式存在。在开发观察者装置时,开发人员将观察者装置在观察者模式下的响应策略以方法(Method)的形式写入源码,并将该响应策略对应的预定事件的标识写入该响应策略对应的预定类型的注解的属性中。
    控制装置在接收到观察者装置发送的注册请求后,可以通过Java反射机制遍历该观察者装置的源码中包含的所有的可执行策略,并检测这些可执行策略是否对应有预定类型的Java注解,即检测该可执行策略对应的Java注解的注解名是否为预定的注解名。
    步骤506,若检测结果为该可执行策略对应有该预定类型的Java注解,则控制装置将该可执行策略获取为该响应策略,并从该可执行策略对应的Java注解的属性中获取该预定事件的标识;
    请参考如下所示的代码片段:


    其中,NotificationID为预定的注解名,onSampleID为可执行策略,控制装置获取到可执行策略onSampleID之后,检测到对应注解的注解名为NotificationID,则将该onSampleID获取为该响应策略,并将@NotificationID的属性中包含的元数据获取为该响应策略对应的预定事件的标识。
    步骤508,控制装置建立该预定事件的标识与该响应策略之间的对应关系;
    具体的,控制装置可以将该响应策略以及该观察者装置的标识对应存储,同时建立该预定事件的标识、该响应策略以及该观察者装置的标识之间的对应关系。
    步骤510,控制装置接收该预定事件的标识以及与该预定事件相对应的策略参数;
    其中,该预定事件为被观察者装置发生的事件,且被观察者被设置为在发生该预定事件时向控制装置发送该预定事件的标识以及该预定事件对应的策略参数。
    步骤512,控制装置根据该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该观察者装置发送执行通知;
    该执行通知中包含有该策略参数和该响应策略。
    步骤514,观察者装置根据该策略参数执行该响应策略;
    其中,该响应策略是可以被观察者装置直接执行的对象引用,观察者装置接收到该执行通知后,可以直接根据该策略参数执行该响应策略。
    步骤516,观察者装置向该控制装置发送撤销请求;
    当观察者装置不再根据预定事件执行对应的响应策略时,可以向控制装置发送撤销请求。
    步骤518,控制装置将该预定事件的标识与该响应策略之间的对应关系删除。
    以该被观察者装置为下载进程,观察者装置为显示进程,预定事件为完成文件的下载,该预定事件的标识为1,该策略参数为下载完成的文件的存储地址,该响应策略为显示该存储地址中的文件为例。显示进程首先向控制装置发起注册,控制装置通过Java发射机制从显示进程的源码中获得该预定事件的标识以及该响应策略,并建立该预定事件的标识、该响应策略以及该显示进程的标识,比如该显示进程的接口地址之间的对应关系。当下载进程下载完成某文件之后,向控制装置发送该预定事件的标识1以及该文件的存储地址,控制装置根据该预定事件的标识1查询到该响应策略为显示该存储地址中的文件后,将该文件的存储地址和该响应策略发送至该显示进程的接口地址,显示进程根据该存储地址显示该文件。当显示进程不再需要显示下载进程下载完成的文件时,可以向控制装置发送撤销请求,控制装置根据该显示进程的标识查询该预定事件的标识、该响应策略以及该显示进程的标识之间的对应关系并删除。
    综上所述,本发明实施例提供的策略执行方法,控制装置在接收预定事件的标识以及与该预定事件相对应的策略参数后,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该响应策略对应的观察者装置发送包含有该策略参数和该响应策略的执行通知,由观察者装置根据该策略参数执行该响应策略,即控制装置可以直接调用观察者装置的对象引用,观察者装置不再需要根据该预定事件的标识自行判断是否执行该响应策略,从而达到简化观察者装置的代码结构,提高代码可读性和可维护性的效果。
    此外,本发明实施例提供的策略执行方法,控制装置可以直接将策略参数和响应策略发送给观察者装置,不需要对数据进行序列化,解决了现有技术中增加数据的序列化导致的增加系统开销的问题,达到提高系统性能的效果。
    请参考图6,其示出了本发明一个实施例提供的控制装置的装置结构图。该控制装置可以用于在观察者模式下执行如图1或图2所示的方法。该控制装置 可以包括:
    第一接收???01,用于接收预定事件的标识以及与所述预定事件相对应的策略参数;
    查询???02,用于根据预先建立的所述预定事件的标识与响应策略之间的对应关系查询所述响应策略;
    通知发送???03,用于向所述响应策略对应的观察者装置发送执行通知,所述执行通知中包含有所述策略参数和所述响应策略,所述执行通知用于指示所述观察者装置根据所述策略参数执行所述响应策略。
    综上所述,本发明实施例提供的控制装置,通过在接收预定事件的标识以及与该预定事件相对应的策略参数后,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该响应策略对应的观察者装置发送包含有该策略参数和该响应策略的执行通知,由观察者装置根据该策略参数执行该响应策略,不需要通过Intent传递数据,也不需要观察者装置根据预定事件的标识查询对应的响应策略,解决了现有技术中增加系统开销的问题以及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。
    请参考图7,其示出了本发明另一实施例提供的控制装置的装置结构图。该控制装置可以用于在观察者模式下执行如图1或图2所示的方法。该控制装置可以包括:
    第一接收???01,用于接收预定事件的标识以及与所述预定事件相对应的策略参数;
    查询???02,用于根据预先建立的所述预定事件的标识与响应策略之间的对应关系查询所述响应策略;
    通知发送???03,用于向所述响应策略对应的观察者装置发送执行通知,所述执行通知中包含有所述策略参数和所述响应策略,所述执行通知用于指示所述观察者装置根据所述策略参数执行所述响应策略。
    所述装置还包括:
    注册请求接收???04,用于在所述第一接收???01接收预定事件的标识以及与所述预定事件相对应的策略参数之前,接收所述观察者装置发送的注册 请求;
    遍历???05,用于通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略;
    检测???06,用于检测所述可执行策略是否对应有预定类型的Java注解;
    第一获取???07,用于若所述检测???06的检测结果为所述可执行策略对应有所述预定类型的Java注解,则将所述可执行策略获取为所述响应策略;
    第二获取???08,用于若所述检测???06的检测结果为所述可执行策略对应有所述预定类型的Java注解,则从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识;
    建立???09,用于建立所述预定事件的标识与所述响应策略之间的对应关系。
    所述装置还包括:
    撤销请求接收???10,用于接收所述观察者装置发送的撤销请求;
    删除???11,用于将所述预定事件的标识与所述响应策略之间的对应关系删除。
    综上所述,本发明实施例提供的控制装置,通过在接收预定事件的标识以及与该预定事件相对应的策略参数后,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该响应策略对应的观察者装置发送包含有该策略参数和该响应策略的执行通知,由观察者装置根据该策略参数执行该响应策略,即控制装置可以直接调用观察者装置的对象引用,观察者装置不再需要根据该预定事件的标识自行判断是否执行该响应策略,从而达到简化观察者装置的代码结构,提高代码可读性和可维护性的效果。
    此外,本发明实施例提供的控制装置,可以直接将策略参数和响应策略发送给观察者装置,不需要对数据进行序列化,解决了现有技术中增加数据的序列化导致的增加系统开销的问题,达到提高系统性能的效果。
    请参考图8,其示出了本发明一个实施例提供的观察者装置的装置结构图。该观察者装置可以用于在观察者模式下执行如图3或图4所示的方法。该控制装置可以包括:
    通知接收???01,用于接收控制装置发送的执行通知,所述执行通知中包 含有策略参数以及与所述观察者装置对应的响应策略;所述执行通知为所述控制装置接收预定事件的标识以及所述策略参数,并根据预先建立的所述预定事件的标识与所述响应策略之间的对应关系查询到所述响应策略后发送的通知;
    执行???02,用于根据所述策略参数执行所述响应策略。
    综上所述,本发明实施例提供的观察者装置,通过接收控制装置在接收预定事件的标识以及该策略参数,并根据预先建立的该预定事件的标识与该响应策略之间的对应关系查询到该响应策略后发送的通知,并根据该策略参数执行该响应策略,不需要通过Intent传递数据,也不需要观察者装置根据预定事件的标识查询对应的响应策略,解决了现有技术中增加系统开销的问题以及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。
    请参考图9,其示出了本发明另一实施例提供的观察者装置的装置结构图。该观察者装置可以用于在观察者模式下执行如图3或图4所示的方法。该控制装置可以包括:
    通知接收???01,用于接收控制装置发送的执行通知,所述执行通知中包含有策略参数以及与所述观察者装置对应的响应策略;所述执行通知为所述控制装置接收预定事件的标识以及所述策略参数,并根据预先建立的所述预定事件的标识与所述响应策略之间的对应关系查询到所述响应策略后发送的通知;
    执行???02,用于根据所述策略参数执行所述响应策略。
    所述装置还包括:
    注册请求发送???03,用于在所述通知接收???01接收控制装置发送的执行通知之前,向所述控制装置发送注册请求,所述注册请求用于指示所述控制装置通过Java反射机制遍历所述观察者装置的源码中包含的可执行策略,并在检测出所述可执行策略对应有所述预定类型的Java注解后,将所述可执行策略获取为所述响应策略,并从所述可执行策略对应的Java注解的属性中获取所述预定事件的标识,并建立所述预定事件的标识与所述响应策略之间的对应关系。
    所述装置还包括:
    撤销请求发送???04,用于向所述控制装置发送撤销请求,所述撤销请求 用于指示所述控制装置将所述预定事件的标识与所述响应策略之间的对应关系删除。
    综上所述,本发明实施例提供的观察者装置,通过接收控制装置在接收预定事件的标识以及该策略参数,并根据预先建立的该预定事件的标识与该响应策略之间的对应关系查询到该响应策略后发送的通知,并根据该策略参数执行该响应策略,不需要通过Intent传递数据,也不需要观察者装置根据预定事件的标识查询对应的响应策略,解决了现有技术中增加系统开销的问题以及观察者装置的代码结构复杂的问题,达到提高系统性能和观察者代码可读性和可维护性的效果。
    请参考图10,其示出了本发明一个实施例提供的策略执行系统的系统构成图。该策略执行系统可以用于在观察者模式下执行如图5所示的策略执行方法。该系统可以包括:
    如图6或图7所示的控制装置001以及如图8或图9所示的观察者装置002。
    综上所述,本发明实施例提供的策略执行系统,控制装置在接收预定事件的标识以及与该预定事件相对应的策略参数后,根据预先建立的该预定事件的标识与响应策略之间的对应关系查询该响应策略,并向该响应策略对应的观察者装置发送包含有该策略参数和该响应策略的执行通知,由观察者装置根据该策略参数执行该响应策略,即控制装置可以直接调用观察者装置的对象引用,观察者装置不再需要根据该预定事件的标识自行判断是否执行该响应策略,从而达到简化观察者装置的代码结构,提高代码可读性和可维护性的效果。
    此外,本发明实施例提供的策略执行系统,控制装置可以直接将策略参数和响应策略发送给观察者装置,不需要对数据进行序列化,解决了现有技术中增加数据的序列化导致的增加系统开销的问题,达到提高系统性能的效果。
    需要说明的是:上述实施例提供的控制装置和观察者装置在执行响应策略时,仅以上述各功能??榈幕纸芯倮得?,实际应用中,可以根据需要而将上述功能分配由不同的功能??橥瓿?,即将装置的内部结构划分成不同的功能???,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制装置和观察者装置与策略执行方法的实施例属于同一构思,其具体实现过程详 见方法实施例,这里不再赘述。
    上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
    本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
    以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的?;し段е?。

    关于本文
    本文标题:策略执行方法、装置及系统.pdf
    链接地址://www.4mum.com.cn/p-6147642.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 河南快三计划 cba直播吧 福建时时彩官网下载 陕西快乐十分走势图表l 吉林快3首页 山东11选5一定牛 双色球官方网站 大乐透下期预测汇总 雅尚彩票网址 广西快3奖 快乐赛车是哪里的 福建11选5开奖视频 3d今日开奖号码 湖南体彩足彩半全场 常乐福州麻将 极速快乐十分开奖结果