一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于用户请求的电力服务管理的安全通信方法及系统与流程

2022-11-12 10:53:08 来源:中国专利 TAG:


1.本发明涉及电力通信领域,更具体地,涉及一种基于用户请求的电力服务管理的安全通信方法及系统。


背景技术:

2.目前,电力服务管理系统已经被广泛地应用于各类电力服务中。通常,电力服务管理系统基于soa(service-oriented architecture,面向服务的架构)的设计理念,采用面向服务的业务组建设计,采用多层技术架构,能够覆盖电力服务管理的各个业务,同时具备良好的扩展性、可配置性,能够通过灵活配置适应业务处理流程和处理逻辑的变化,满足现有业务需求和扩展的需要。电力服务管理系统能够覆盖网省、地市、区县、供电所等各个级别的供电单位,结构高度集中,业务规范标准,信息集成贯通,能够通过管理监控、业务处理、分析决策等各项业务处理和管理要求实现业务的横向整合、信息共享,从而实现购售电信息统一管理、用户实时购电交易、业务协同处理及监控、电子支付、自助服务、合作伙伴管理、业务报表管理、市场分析预测等多种业务。
3.为了实现多种业务,电力服务管理系统的一台服务器或多台服务器组成的服务器集群上通常会部署多个互不相同的电力服务,多个电力服务通过服务器的通信接口实现与多个分布在云端不同位置的客户端的信息交互。然而,由于电力服务管理系统的网络、设备等各方面原因,多个电力服务并不能够一直处于100%可用的状态。当系统中的单个服务出现问题,并导致服务调用出现网络延迟时,一个服务的问题可能会导致系统层面的任务累积,从而导致服务器瘫痪,故障被扩大至整个系统中。
4.因此,亟需一种更加安全的基于用户请求的电力服务管理的安全通信方法。


技术实现要素:

5.为解决现有技术中存在的不足,本发明的目的在于,提供一种基于用户请求的电力服务管理的安全通信方法及系统。本发明能够对来自多个客户端去往多个不同目标服务的用户请求进行分类,并基于分类结果选择相应的合法性要求对批量的用户请求进行分析,从而实现针对用户请求的安全通信。
6.本发明采用如下的技术方案。
7.本发明第一方面,涉及一种基于用户请求的电力服务管理的安全通信方法,其中,方法包括以下步骤:步骤1,接收来自电力服务管理系统中的用户请求,判断用户请求的目标和类型;步骤2,基于用户请求的目标和类型对用户请求分类,并将其分别分类为多个同一目标请求和多个同一类型请求;步骤3,预先设置电力服务管理系统的合法性要求,并判定同一目标请求或同一类型请求的通信过程是否满足合法性要求;步骤4,若满足合法性要求,则依据请求从电力服务管理系统中调用相应的服务,若不满足合法性要求,则缓存或中断用户请求。
8.优选地,同一目标请求为针对同一个目标服务的来自不同用户的请求;同一类型
请求为针对同一个通信任务的请求。
9.优选地,为同一目标请求设置第一通信门限资源,当识别到同一目标请求完全占用了第一通信门限资源时,拦截同一目标请求对当前目标服务的调用;生成对当前目标服务工作状态的检测,并当检测到当前目标服务恢复正常工作状态后,停止拦截同一目标请求对当前目标服务的调用。
10.优选地,第一通信门限资源为当前目标服务的调用速度门限值。
11.优选地,当开始拦截同一目标请求对当前目标服务的调用时进行计时,并在预设时间后取消对部分同一目标请求的拦截。
12.优选地,为同一类型请求设置第二通信门限资源,当识别到同一类型请求完全占用了第二通信门限资源时,中断同一类型请求对当前通信任务的执行。
13.优选地,第二通信门限资源为当前通信任务中的所有核心线程与临时线程之和。
14.优选地,为同一类型请求设置第三通信门限资源,当识别到同一类型请求完全占用了第三通信门限资源时,拦截同一类型请求对当前目标服务的调用。
15.优选地,第三通信门限资源为当前通信任务中的数据请求并发数量门限。
16.优选地,缓存或中断用户请求包括:拦截同一目标请求或同一类型请求,并将请求返回;或者,拦截同一目标请求或同一类型请求,并不返回请求;将同一目标请求或同一类型请求缓存至相应的线程池中。
17.本发明第二方面,涉及一种基于用户请求的电力服务管理的安全通信系统,其中,系统包括集中式布置的多个目标服务、分布式布置的多个用户,多个用户基于用户请求与多个目标服务之间实现通信;系统用于实现如本发明第一方面中所述的一种基于用户请求的电力服务管理系统的安全通信方法。
18.本发明的有益效果在于,与现有技术相比,本发明中一种基于用户请求的电力服务管理的安全通信方法及系统,通过对来自多个客户端去往多个不同目标服务的用户请求进行分类,并基于分类结果选择相应的合法性要求对批量的用户请求进行分析,从而实现针对用户请求的安全通信。本发明方法简单,响应快速,对于故障的判断和预期准确,能够大幅提升电力服务管理系统的安全性。
19.本发明的有益效果还包括:
20.1、本发明中对用户请求按照请求的目标和请求的类型进行分类,并对每个不同的分组提供一个相应的合法性要求。通过这种方法,发明可以准确地鉴别出电力服务管理系统发生异常或故障的原因,并基于相应的原因采取相应的安全维护措施,从而最小化电力服务管理系统的故障问题,并同时维持了未出现故障的部分用户请求的准确发送、接收以及解析。
21.2、本发明针对同一个目标服务的用户请求设置了服务调用速度门限,从而防止了由于目标服务故障所造成的系统故障问题。本发明中的方法不仅可以及时的拦截用户请求,而且可以基于合理的设计实现对故障恢复后的用户请求的继续传输,由于恢复传输的过程从部分恢复逐渐过渡到全部恢复,也保障了恢复过程中设备的安全性能,和其他类型用户请求的传输不会受到影响。
22.3、本发明中基于不同的通信门限,实现了同时监测同类型请求的数据并发数量、通信线程数量以及服务调用速度。因此,不仅通过对通信线程数量和服务调用速度的监控
而实现了对同类型请求异常时的安全保障,同时通过对数据并发数量的监控而实现了对同类型请求可能发生的异常进行预测,从而提前降低了系统发生故障的可能性。
23.4、本发明中提供了多种不同的故障处理方法,针对部分故障采取拦截并返回请求的方式处理;对于部分故障采取拦截,并不返回请求,而是为客户端提供对于问题的自主处理方式;另外,还可以将暂时拦截下来的请求缓存至线程池中,尽管以增加缓存作为代价,却使得有效的请求能够暂存下来,不会由于故障的发生导致服务异常。根据不同类型的目标服务或者不同的服务需求,以及成本,可以灵活的选择不同类型的故障处理方法,使得总效率最优。
附图说明
24.图1为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统中目标服务的布置方法示意图;
25.图2为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统正常运行的示意图;
26.图3为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统运行异常的示意图;
27.图4为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统发生故障的示意图;
28.图5为本发明一种基于用户请求的电力服务管理的安全通信方法的步骤流程示意图。
具体实施方式
29.下面结合附图对本技术作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本技术的保护范围。
30.图1为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统中目标服务的布置方法示意图。如图1所示,本发明中的电力服务管理系统中包含多种多样的电力目标服务1至n,为了降低开发成本,本发明中的电力服务均可以采用微服务架构实现。在这种架构中,可以基于搭建的配置中心、服务注册及发现中心等模块来实现多种微服务的管理。同时,可以采用现有技术中常用的服务间通信方式、服务负载均衡方式等保证服务集群的可用性。
31.具体来说,本发明中的电力服务管理系统能够建立电力业务的数据模型,并以用电数据的聚集为支撑,以数字化、智能化、云计算为手段,实现电能利用过程中的发电和售电过程之间的协同管控,从而提升对电能利用的精细化管理水平,包括辅助用电过程中的电能报价决策等。
32.本发明中的电力服务管理系统中提供的各类电力目标服务能够执行的功能具体包括且不限于:电力交易决策、电力计划管理、电力对标管理、营销信息库、客户行为管理、交易管理、合同结算管理、电力交易辅助决策、用户电量管理、系统接口和业务集成等。具体来说,系统中的用户类型主要包括电网用户、售电用户和居间商用户三种类型。其中电网用户能够通过提供相应的电网服务展示其权限范围内的内外网功能模块,而售电用户则通常
提供内网部分的功能模块,居间商提供外网部分的功能模块。
33.然而,在这种方式构建的电力服务管理系统中,仍然不可避免的存在一定的问题。图2为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统正常运行的示意图。如图2所示,多个客户端通过向电力服务管理系统中的多个目标服务1至n发送来自多个客户端的用户请求,来完成客户端与目标服务之间的通信任务。当所有用户请求均能够成功发送并被多个目标服务顺利接收时,用户请求不会在请求队列中等待过长时间,也不会有不成功的用户请求重复产生,从而造成接口堵塞的问题。
34.图3为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统运行异常的示意图。如图3所示,图中实线部分标注的是当用户请求成功发送至目标服务时的情况,图中虚线部分标注的是当用户请求由于种种潜在原因未能成功发送至目标服务时的情况。当故障发送的瞬间,只是当前一个用户请求发送故障。然而,随着时间的推移,若故障问题并未能够得到及时的解决,则该问题会阻塞后续的用户请求。
35.图4为本发明一种基于用户请求的电力服务管理的安全通信方法中的电力服务管理系统发生故障的示意图。如图4所示,随着时间的推移,当故障问题并未被解决,用户请求就会被多次备份,并不断发送至目标服务中,系统线程被当前请求占用,从而导致其他的用户请求和其他的目标服务之间的通信资源被抢占,从而随之发生故障。
36.具体来说,当众多依赖服务中,发生一个发送故障时,就会阻塞后续的全部用户请求。随着高流量访问,单个后端服务发生错误后就会导致所有服务器上的资源在短短几秒种内变得饱和。例如,当故障请求返回超时,则可能造成线程数量急剧增加,若用户请求不能及时释放,则会造成网络阻塞。
37.这种现象的发生会使得一个偶然故障的发生,导致了系统层面的连锁故障,整个服务器甚至服务器集群随之发生故障。
38.为了防止上述问题的发生,本发明中提供了一种基于用户请求的电力服务管理的安全通信方法及系统。图5为本发明一种基于用户请求的电力服务管理的安全通信方法的步骤流程示意图。如图5所示,本发明第一方面,涉及一种基于用户请求的电力服务管理的安全通信方法,方法包括步骤1至步骤4。
39.步骤1,接收来自电力服务管理系统中的用户请求,判断用户请求的目标和类型。
40.可以理解的是,当电力服务管理系统中的各个不同的目标服务均被配置在集群服务器上时,多个不同的目标服务将基于相同的服务接口、逻辑链路实现与多个不同的用户所在的客户端之间的通信连接。具体来说,客户端与目标服务之间的通信是基于用户请求激活并建立连接的。而多个不同的客户端与同一目标服务之间、同一个客户端与多个不同的目标服务之间均是采用相同结构的用户请求、相同的通信协议实现的连接。应用程序容器会为多个不同的目标服务配置统一的接收用户请求的接口。应用程序容器会将接收到的用户请求分配到相应的目标服务中。
41.本发明种对于每一个用户请求,都可以从用户请求的数据结构中提取到该请求的目标和类型。通过提取出来的目标和类型信息,本发明即可实现对当前目标队列中的用户请求以及历史一段时间之内的数据进行分类。
42.步骤2,基于用户请求的目标和类型对用户请求分类,并将其分别分类为多个同一目标请求和多个同一类型请求。
43.按照本发明步骤1中的方法对用户请求进行分类后,可以获得多个同一目标请求和多个同一类型请求。顾名思义,多个同一目标请求就是基于用户请求的目标进行分类的,而多个同一类型请求则是基于用户请求的类型进行分类的。
44.优选地,同一目标请求为针对同一个目标服务的来自不同用户的请求;同一类型请求为针对同一个通信任务的请求。
45.目标即为当前用户请求的发送目标,是指电力服务管理系统中的某一个目标应用。而类型则可以根据用户请求的性质进行区分。例如,当用户请求为登录服务时为一种类型,而当用户请求为请求下载数据时则为另一种类型。
46.本发明中,为了采取不同的方法预防或克服由于用户请求造成的系统异常,采取了基于不同目标和不同类型对用户请求进行分类的方法。根据实际需要,还可以采取其他不同的方式对用户请求进行分类。
47.步骤3,预先设置电力服务管理系统的合法性要求,并判定同一目标请求或同一类型请求的通信过程是否满足合法性要求。
48.本发明中,可以根据实际需要预先设置电力服务管理系统的合法性要求。该合法性要求,通常可以为针对于同一目标请求或者同一类型请求而设置。通过这种设置方法,就可以针对同一个目标服务或者同一个通信任务而判定系统总体的故障,有助于溯源引发系统故障的问题来源,并解决系统故障。
49.本发明中的合法性要求具体包括后文中所述的第一通信门限资源、第二通信门限资源以及第三通信门限资源。其具体内容将在后文中进行详细描述。根据本发明中类似的方法,还可以基于具体需求,例如目标服务的类型,系统对于故障的判断需求,系统的升级维护等要求来方便地增加或者调整合法性要求的具体内容。
50.步骤4,若满足合法性要求,则依据请求从电力服务管理系统中调用相应的服务,若不满足合法性要求,则缓存或中断用户请求。
51.具体来说,根据预先设置的各种合法性要求,可以对用户请求是否不会引发故障进行判定,若满足合法性要求,则可以按照系统正常的工作流程使得各个目标服务依次对系统中用户请求进行处理。若是不满足合法性要求,则按照系统的涉及缓存或者中断划分在同一个分类下的后续的用户请求。
52.优选地,为同一目标请求设置第一通信门限资源,当识别到同一目标请求完全占用了第一通信门限资源时,拦截同一目标请求对当前目标服务的调用;生成对当前目标服务工作状态的检测,并当检测到当前目标服务恢复正常工作状态后,停止拦截同一目标请求对当前目标服务的调用。
53.可以理解的是,当用户请求按照不同的目标进行划分后,可以针对于同一个目标的所有的用户请求,也就是对来自多个不同客户端的对于同一个目标服务的所有用户请求进行监测,当发现这些用户请求超过了第一通信门限资源的设置时,就判定将后续的用户请求进行拦截。
54.优选地,第一通信门限资源为当前目标服务的调用速度门限值。本发明中,对于将要发送至同一个目标服务的所有用户请求来说,当该目标服务出现故障时,可能出现用户请求调用目标服务的调用速度非常慢,或者发生超时,此时,这一类的用户请求将被大量阻塞,同时由于客户端无法调用到目标服务,还可能会生成新的用户请求重复要求调用当前
目标服务,这就进一步阻塞了用户请求端口中对其他处于正常状态的服务的调用,从而使得系统发生故障,并且该故障的范围从单个服务的故障迅速扩大为整个系统的故障。
55.为了解决这一问题,本发明中,当识别到某一个目标服务的调用速度超过门限值时,就将与这一个目标服务相对应的同一目标请求进行拦截。由于同一目标请求均被拦截,从而不会造成大量等待响应的用户请求排队的现象发生,因此后续的目标请求可以被直接返回,而不再调用目标服务,从而能够快速释放资源。
56.同时,当对同一目标请求执行了拦截操作后,就可以同时对目标服务的工作状态,例如,对于目标服务是否能够迅速响应用户请求的状态进行监控与判定,当发现目标服务已经好转,即能够对于用户请求执行快速的响应后,就可以停止之前的拦截操作,从而恢复同一目标请求对于当前目标服务的调用。
57.可以理解的是,当执行拦截操作或者恢复调用操作时,为了更好的记录目标服务曾出现过的各类故障,可以同时将相应的操作以日志的形式记录在服务器中。同时,对于用户请求发生异常使得系统可能发生潜在故障时,也可以设定报警。
58.为了实现本发明中对于同一目标请求的拦截,可以采用无锁循环队列技术的方法暂时存储用户请求。例如,对于同一个目标请求,可以设置10个bucket作为存储容器,每一秒的时间段内执行一个bucket,每个bucket中都会记录其存储的用户请求是否成功的获得了目标服务的响应,或者目标服务响应失败,目标服务响应超时,目标服务拒绝了用户请求等不同的状态。当目标服务成功响应时,则记录为正确,当其他状态发生时,都会被记录为错误状态。
59.在本发明的一个实施例中,当前目标服务的调用速度门限值可以被设置为错误率超过50%,且10秒内出现了超过20个用户请求。当发生这一情况后,就执行拦截用户请求的操作。
60.优选地,当开始拦截同一目标请求对当前目标服务的调用时进行计时,并在预设时间后取消对部分同一目标请求的拦截。
61.本发明一实施例中,可以在实施拦截后,基于预设的时间段,例如5s或者10s的时间后,许可部分被拦截下来的用户请求通过,此时再次判断这部分请求被返回的状态,若这部分请求的返回状态都是正确的,则判定当前目标服务已经恢复正常状态,此时可以取消对当前同一目标请求的所有拦截,恢复至未拦截的状态。
62.优选地,为同一类型请求设置第二通信门限资源,当识别到同一类型请求完全占用了第二通信门限资源时,中断同一类型请求对当前通信任务的执行。
63.优选地,第二通信门限资源为当前通信任务中的所有核心线程与临时线程之和。
64.通常来说,在对用户请求按照类型进行划分后,针对同一类型请求,服务器都会划分给其一定数量的线程资源。在该数量的线程资源中,可能包括核心线程和临时线程。为了防止该类型被分配到的线程资源不会耗尽,可以设置第二通信门限资源为所有核心线程与临时线程之和。
65.通过本发明中的这种方式,可以将多种不同的同一类型请求划分至获得不同的线程资源,从而防止了每种不同类型的请求互相之间不会受到影响。当其中一种类型的请求线程资源被耗尽后,则可以对后续的该类型的用户请求直接返回,而不再调用后续资源。
66.采用本发明中这种方法的优势在于,该方法的使用场景非常广泛。例如,当目标服
务采用分散的方式布置时;或者当重要的单个服务部署在一个单独的服务器中,其他服务部署在另外的服务器中时;或者当多个目标服务采用多中心的方式部署时,都可以采用本发明中的方法实现。
67.本发明一实施例中,可以使用一个原子计数器来记录当前有多少线程处于运行过程中,当超过最大线程个数时,则丢弃该类型的用户请求。若不超过则亟需执行计数操作请求,具体来说,当发现一个用户请求,则计数器 1,当目标服务返回一个用户请求,则计数器-1。这种方式可以严格的控制线程,且立刻返回。
68.当然,本发明中,还可以采用线程池的方式来存贮当前的用户请求,并设置任务返回处理超时时间,将堆积的请求暂时存储在线程池的队列中。
69.优选地,为同一类型请求设置第三通信门限资源,当识别到同一类型请求完全占用了第三通信门限资源时,拦截同一类型请求对当前目标服务的调用。
70.优选地,第三通信门限资源为当前通信任务中的数据请求并发数量门限。
71.具体来说,本发明中可以根据当前通信任务中数据请求的并发数量来对同一类型请求进行限流。当用户请求的流量高于设定的门限时,则对该请求直接返回,不再调用后续资源。通过这种限制用户请求流量的方式,可以防止服务器因为流量过大造成的故障。
72.优选地,缓存或中断用户请求包括:拦截同一目标请求或同一类型请求,并将请求返回;或者,拦截同一目标请求或同一类型请求,并不返回请求;将同一目标请求或同一类型请求缓存至相应的线程池中。
73.具体来说,当发现系统异常后的处理方式有三种。包括拦截或缓存,以及包括是否返回请求。
74.本发明中的缓存方式需要使用到线程池,尽管本发明中的这种方式有可能会导致每一个通信任务都需要被分配一定数量的线程从而导致资源浪费,但好处是,当系统中出现突发流量,例如流量洪峰来临时候,可以将数据储存到线程池中排队处理。
75.本发明中的拦截方式可以不适用线程池,节约了资源,但是也需要以用户请求被丢弃为代价。当然,本发明中也可以选择将用户请求返回至客户端,或者直接丢弃,从而为客户端提供自主处理超时请求的可能。
76.本发明第二方面,涉及一种基于用户请求的电力服务管理的安全通信系统。系统包括集中式布置的多个目标服务、分布式布置的多个用户,多个用户基于用户请求与多个目标服务之间实现通信;系统用于实现如本发明第一方面中所述的一种基于用户请求的电力服务管理系统的安全通信方法。
77.本发明的有益效果在于,与现有技术相比,本发明中一种基于用户请求的电力服务管理的安全通信方法及系统,通过对来自多个客户端去往多个不同目标服务的用户请求进行分类,并基于分类结果选择相应的合法性要求对批量的用户请求进行分析,从而实现针对用户请求的安全通信。本发明方法简单,响应快速,对于故障的判断和预期准确,能够大幅提升电力服务管理系统的安全性。
78.本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献