一种基于AOP无侵入式的标识解析节点交互方法和系统
文献发布时间:2024-04-18 19:58:30
技术领域
本发明涉及的是软件开发应用领域,特别涉及一种基于AOP无侵入式的标识解析节点交互方法和系统。
背景技术
工业互联网是指以工业设备、工业产品、工业系统等为对象,利用物联网、云计算、大数据、人工智能等新一代信息技术,实现工业数据的采集、传输、分析和应用,提升工业生产效率和质量,降低生产成本和资源消耗,增强工业创新能力和竞争力的一种网络化、智能化、数字化的新型产业形态。
工业互联网标识解析体系是支撑工业互联网网络互联互通的基础设施,是实现资源互联互通的关键基础设施。它通过条形码、二维码、无线射频识别标签等方式赋予每一个实体或虚拟对象唯一的身份编码,同时承载相关数据信息,实现实体和虚拟对象的定位、连接和对话。其作用类似于互联网领域的域名解析系统(DNS)。
目前,主流的标识解析体系主要有Handle、GS1和OID等,它们主要用于流通环节的供应链管理、产品溯源等场景中。然而,这些标识解析体系存在安全性不高,缺乏有效的身份认证和数据加密机制,易受攻击和篡改,威胁工业数据的安全性和可靠性的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于AOP无侵入式的标识解析节点交互方法和系统。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种基于AOP无侵入式的标识解析节点交互方法,其特征在于,包括:
S100.在节点上定义一个切面类,所述切面类包含一个或多个通知方法,通过所述通知方法实现与其他节点或用户的交互功能;
S200.在所述切面类中配置一个或多个切入点,通过所述切入点获取所述通知方法执行的时间和位置;
S300.在标识解析节点上使用AOP框架,根据所述切入点和通知方法生成代理对象,所述代理对象用于在执行目标方法时自动调用通知方法;
S400.当用户或其他节点需要与标识解析节点交互时,通过所述代理对象调用目标方法,并执行相应的通知方法。
进一步地,S100中,所述的通知方法包括前置通知、后置通知、环绕通知、异常通知和最终通知的至少一种;其中,前置通知表示在目标方法执行之前执行的通知方法,用于实现身份认证、参数校验、日志记录功能;后置通知表示在目标方法执行之后执行的通知方法,用于实现结果返回、数据加密、日志记录功能。
进一步地,S100中,所述环绕通知表示在目标方法执行之前和之后都可以执行的通知方法,用于实现事务管理、性能监控、异常处理功能;异常通知表示在目标方法抛出异常时执行的通知方法,用于实现异常捕获、异常处理、日志记录功能;最终通知表示无论目标方法是否正常执行都会执行的通知方法,用于实现资源释放、连接关闭功能。
进一步地,S200中,在所述切面类中配置一个或多个切入点,切入点配置的方法包括:按照类名匹配、按照方法名匹配、按照参数类型匹配、按照注解匹配中的至少一种。
进一步地,S200中,按照类名匹配表示指定某个类或某些类中的所有方法作为切入点;按照方法名匹配表示指定某个类中的某个方法或某些方法作为切入点;按照参数类型匹配表示指定某个类中参数类型符合条件的所有方法作为切入点;按照注解匹配表示指定某个类中被某个注解修饰的所有方法作为切入点。
进一步地,S300中,AOP框架包括:基于Spring框架提供的AOP模块SpringAOP、基于Java语言扩展的AOP框架AspectJ和基于Jboss容器提供的AOP框架JbossAOP中的至少一种。
进一步地,基于Spring框架提供的AOP模块SpringAOP,使用XML配置文件或注解方式定义切面类和切入点,并使用动态代理技术生成代理对象;基于Java语言扩展的AOP框架AspectJ,使用AspectJ语法定义切面类和切入点,并使用编译器或加载器技术生成代理对象;基于Jboss容器提供的AOP框架JbossAOP,使用XML配置文件或注解方式定义切面类和切入点,并使用字节码修改技术生成代理对象。
进一步地,在目标方法执行之前,需要对请求者进行身份认证;在目标方法执行过程中,对标识对象进行转换;在目标方法执行之后,需要对返回结果进行数据加密,并记录日志。
本发明还公开了一种基于AOP无侵入式的标识解析节点交互系统,包括:切面类定义单元、切入点配置单元、代理对象生成单元和通知方法执行单元;其中:
切面类定义单元,用于在节点上定义一个切面类,所述切面类包含一个或多个通知方法,通过所述通知方法实现与其他节点或用户的交互功能;
切入点配置单元,用于在所述切面类中配置一个或多个切入点,通过所述切入点获取所述通知方法执行的时间和位置;
代理对象生成单元,用于在标识解析节点上使用AOP框架,根据所述切入点和通知方法生成代理对象,所述代理对象用于在执行目标方法时自动调用通知方法;
通知方法执行单元,用于当用户或其他节点需要与标识解析节点交互时,通过所述代理对象调用目标方法,并执行相应的通知方法。
本发明还公开了一种电子设备,包括:
存储器,用于存储可由处理器执行的指令;
处理器,用于执行所述指令以实现所述一种基于AOP无侵入式的标识解析节点交互方法。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明公开的一种基于AOP无侵入式的标识解析节点交互方法,包括:在节点上定义一个切面类,所述切面类包含一个或多个通知方法,通过所述通知方法实现与其他节点或用户的交互功能;在所述切面类中配置一个或多个切入点,通过所述切入点获取所述通知方法执行的时间和位置;在标识解析节点上使用AOP框架,根据所述切入点和通知方法生成代理对象,所述代理对象用于在执行目标方法时自动调用通知方法;当用户或其他节点需要与标识解析节点交互时,通过所述代理对象调用目标方法,并执行相应的通知方法。
本发明公开的一种基于AOP无侵入式的标识解析节点交互方法,无需修改原有的标识解析节点的代码或引入额外的框架,只需通过注解或配置文件等方式定义切面类和切入点,即可实现对标识解析节点交互功能的增强;利用AOP框架的动态代理机制,可以灵活地控制通知方法的执行时机和位置,实现对标识解析节点交互过程的细粒度管理和监控;通过将交互功能从业务逻辑中分离出来,可以提高标识解析节点的内聚性和可复用性,降低系统的耦合度和复杂度。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中,一种基于AOP无侵入式的标识解析节点交互方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的问题,本发明实施例提供一种基于AOP无侵入式的标识解析节点交互方法和系统。
实施例1
本实施例公开了一种基于AOP无侵入式的标识解析节点交互方法,如图1,包括:
S100.在节点上定义一个切面类,所述切面类包含一个或多个通知方法,通过所述通知方法实现与其他节点或用户的交互功能;
具体的,切面类简单来看就是重复的代码形成的类就是切面类;在软件开发的过程中,有很多业务,特别是在编写核心业务的时候,往往需要很多其他的辅助业务,比如说身份验证、数据缓存、日志输出。这些业务往往在某个核心业务中处于辅助的部分,且尝尝都处在核心业务的同一个切面上。对于一些方法,抽取出来同一类非核心业务,然后可以将提取出来的业务编写成一个切面类,切面类可以解决代码混乱问题,非核心业务和核心业务代码处于同一个方法中会影响代码的质量,甚至可能会影响到核心业务,因此此时需要切面类。
在本实施例S100中,所述的通知方法包括前置通知、后置通知、环绕通知、异常通知和最终通知的至少一种;其中,前置通知表示在目标方法执行之前执行的通知方法,用于实现身份认证、参数校验、日志记录功能;后置通知表示在目标方法执行之后执行的通知方法,用于实现结果返回、数据加密、日志记录功能。所述环绕通知表示在目标方法执行之前和之后都可以执行的通知方法,用于实现事务管理、性能监控、异常处理功能;异常通知表示在目标方法抛出异常时执行的通知方法,用于实现异常捕获、异常处理、日志记录功能;最终通知表示无论目标方法是否正常执行都会执行的通知方法,用于实现资源释放、连接关闭功能。
S200.在所述切面类中配置一个或多个切入点,通过所述切入点获取所述通知方法执行的时间和位置;在本实施例的S200中,在所述切面类中配置一个或多个切入点,切入点配置的方法包括:按照类名匹配、按照方法名匹配、按照参数类型匹配、按照注解匹配中的至少一种。
具体的,按照类名匹配表示指定某个类或某些类中的所有方法作为切入点;按照方法名匹配表示指定某个类中的某个方法或某些方法作为切入点;按照参数类型匹配表示指定某个类中参数类型符合条件的所有方法作为切入点;按照注解匹配表示指定某个类中被某个注解修饰的所有方法作为切入点。
S300.在标识解析节点上使用AOP框架,根据所述切入点和通知方法生成代理对象,所述代理对象用于在执行目标方法时自动调用通知方法;
在本实施例的S300中,AOP框架包括:基于Spring框架提供的AOP模块SpringAOP、基于Java语言扩展的AOP框架AspectJ和基于Jboss容器提供的AOP框架JbossAOP中的至少一种。
具体的,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
在本实施例中,基于Spring框架提供的AOP模块SpringAOP,使用XML配置文件或注解方式定义切面类和切入点,并使用动态代理技术生成代理对象;基于Java语言扩展的AOP框架AspectJ,使用AspectJ语法定义切面类和切入点,并使用编译器或加载器技术生成代理对象;基于Jboss容器提供的AOP框架JbossAOP,使用XML配置文件或注解方式定义切面类和切入点,并使用字节码修改技术生成代理对象。
在本实施例中,在目标方法执行之前,需要对请求者进行身份认证;在目标方法执行过程中,对标识对象进行转换;在目标方法执行之后,需要对返回结果进行数据加密,并记录日志。
S400.当用户或其他节点需要与标识解析节点交互时,通过所述代理对象调用目标方法,并执行相应的通知方法。通过本实施例公开的一种基于AOP无侵入式的标识解析节点交互方法,在用户或其他节点需要与标识解析节点交互时,通过代理对象调用目标方法,并执行相应的环绕通知、前置通知和后置通知。这样就实现了基于AOP,无侵入式的标识解析节点交互方法。
本实施例公开的一种基于AOP无侵入式的标识解析节点交互方法,包括:在节点上定义一个切面类,所述切面类包含一个或多个通知方法,通过所述通知方法实现与其他节点或用户的交互功能;在所述切面类中配置一个或多个切入点,通过所述切入点获取所述通知方法执行的时间和位置;在标识解析节点上使用AOP框架,根据所述切入点和通知方法生成代理对象,所述代理对象用于在执行目标方法时自动调用通知方法;当用户或其他节点需要与标识解析节点交互时,通过所述代理对象调用目标方法,并执行相应的通知方法。
本实施例公开的一种基于AOP无侵入式的标识解析节点交互方法,无需修改原有的标识解析节点的代码或引入额外的框架,只需通过注解或配置文件等方式定义切面类和切入点,即可实现对标识解析节点交互功能的增强;利用AOP框架的动态代理机制,可以灵活地控制通知方法的执行时机和位置,实现对标识解析节点交互过程的细粒度管理和监控;通过将交互功能从业务逻辑中分离出来,可以提高标识解析节点的内聚性和可复用性,降低系统的耦合度和复杂度。
实施例2
基于实施例1公开的一种基于AOP无侵入式的标识解析节点交互方法,本实施例公开了一种基于AOP无侵入式的标识解析节点交互系统,包括:切面类定义单元、切入点配置单元、代理对象生成单元和通知方法执行单元;其中:
切面类定义单元,用于在节点上定义一个切面类,所述切面类包含一个或多个通知方法,通过所述通知方法实现与其他节点或用户的交互功能;
切入点配置单元,用于在所述切面类中配置一个或多个切入点,通过所述切入点获取所述通知方法执行的时间和位置;
代理对象生成单元,用于在标识解析节点上使用AOP框架,根据所述切入点和通知方法生成代理对象,所述代理对象用于在执行目标方法时自动调用通知方法;
通知方法执行单元,用于当用户或其他节点需要与标识解析节点交互时,通过所述代理对象调用目标方法,并执行相应的通知方法。
其中,切面类定义单元、切入点配置单元、代理对象生成单元和通知方法执行单元,具体的工作方法已在实施例1中进行了详细描述,本实施例对此不在进行赘述。
本实施例公开的一种基于AOP无侵入式的标识解析节点交互系统法,无需修改原有的标识解析节点的代码或引入额外的框架,只需通过注解或配置文件等方式定义切面类和切入点,即可实现对标识解析节点交互功能的增强;利用AOP框架的动态代理机制,可以灵活地控制通知方法的执行时机和位置,实现对标识解析节点交互过程的细粒度管理和监控;通过将交互功能从业务逻辑中分离出来,可以提高标识解析节点的内聚性和可复用性,降低系统的耦合度和复杂度。
实施例3
本实施例公开了一种电子设备,包括:
存储器,用于存储可由处理器执行的指令;
处理器,用于执行所述指令以实现实施例1中一种基于AOP无侵入式的标识解析节点交互方法。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
- 一种基于语音智能识别的消息式信息交互系统及方法
- 一种基于物联网的交互式显示系统及实现方法
- 一种基于多线程的传感节点标识符解析测试方法及系统
- 基于容器的分布式标识解析企业节点快速部署方法