面向智能用电领域的大规模并发用户接入处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及一种并发用户接入处理方法和装置,具体涉及一种面向智能用电领域的大规模并发用户接入处理方法和装置。属于计算机技术领域。
【背景技术】
[0002]智能用电是构建坚强智能电网的重要支柱和六大环节之一,是实现坚强智能电网各项功能的基础和物理载体,是建设坚强智能电网的着力点和落脚点。依托坚强电网和现代管理理念,利用高级量测、高效控制、高速通信、快速储能等技术,实现市场响应迅速、计量公正准确、数据采集实时、收费方式多样、服务高效便捷,构建电网与客户能量流、信息流、业务流实时互动的新型供用电关系。
[0003]当前智能用电领域已建有一些智能用电系统,在取得了良好的应用效果的同时,也存在分散建设、功能单一、互动服务方式单一等问题。智能用电互动化支撑平台的建设,可将分散的智能用电系统抽象成原子服务,统一接入到智能用电互动化支撑平台上,并以网络为载体与电力用户交互,接收用户通过电脑、手机、平板等多种方式提交的接入请求,将请求回复通过多种方式配送至电力用户身边,极大地方便电力用户获取所需信息。
[0004]随着智能电网的不断发展,智能用电互动化支撑平台面向的用户数量急剧增加,带来了极大的用户接入处理压力,不仅表现在用户接入方式的多样性,还局限于能提供服务资源的有限性。当前智能用电互动化支撑平台面向的用户主要分为四类:家庭用户、企业用户、供电企业、政策制定部门,这四类用户关注的电力业务的种类和规模不同,访问平台时所需的资源开销不同,对平台响应速度的要求也不同。为缓解用户接入处理压力,需要提供一种用户接入处理机制,在满足大规模电力用户多渠道并发接入需求的同时,能面向不同等级的电力用户,提供不同等级的请求响应质量,在此基础上优化平台资源,提升用户接入请求响应性能。
【发明内容】
[0005]本发明的目的是为克服上述现有技术的不足,提供一种面向智能用电领域的大规模并发用户接入处理方法和装置。本发明能够应用于智能用电互动化支撑平台,保证平台满足大规模、并发的不同等级用户的访问需求,方便用户获取请求响应,提升用户接入请求响应性能。
[0006]为实现上述目的,本发明采用下述技术方案:
[0007]—种面向智能用电领域的大规模并发用户接入处理方法,包括以下步骤:
[0008]A.电力用户提交用户请求后,接入服务器根据接入方式进行接入适配,将其解析成底层网络传输数据流,以实现多种交互终端、通信规约的统一接入;
[0009]B.成功接入后,接入服务器采用类Sess1n的方式进行用户状态保持,查询用户接入时携带的Sess1n标识是否存在以及是否有相应的Sess1n存在,若均存在,则根据用户请求更新用户状态信息,否则,则新生成该用户的Sess1n用以保持用户状态信息,同时生成相应的Sess1n标识附加在用户请求中,确定用户所属类别并附加在Sess1n标识中;
[0010]C.附加上Sess1n标识的用户请求进入分配服务器请求等待队列,等待分配到应用服务器中进行处理;
[0011]D.在分配服务器中对用户请求分配时,通过设置面向用户的资源分配方案和面向应用服务器的负载均衡策略两个分配策略进行分配,实现多个应用服务器均衡地并行处理用户请求;
[0012]E.在应用服务器中,通过Sess1n标识从接入服务器中获取用户的状态信息,结合用户状态信息执行完用户请求后,更新用户状态信息,将Sess1n标识及状态信息附加在请求回复中返回接入服务器,根据状态信息更新Sess1n,然后将带有Sess1n标识的请求回复返回给相应的用户,用户请求的回复按照规约的标准进行组合从而形成底层网络传输用数据流。
[0013]所述步骤A中,将各类接口服务以插件的形式封装,根据用户接入类型为每个类型选择合适的接口插件来进行规约解析,将用户请求解析为规约类,当返回用户请求回复时,再次调用接口插件,将返回的回复组织后发送给用户,接口服务根据用户实际需求安装、卸载、启动和停止,实现接入渠道的动态扩展。
[0014]所述步骤A中,当面向浏览器用户时提供HTTP接口插件,当面向手机短信用户时提供短信网关接口插件。
[0015]所述步骤B中,用户状态保持的具体方法是:
[0016]B1.用户首次接入时,用户请求中没有Sess1n标识,为该用户新生成一个Sess1n及Sess1n标识用于保持该用户状态信息,同时确定用户所属类别并附加在Sess1n标识中,接入服务器保存该Sess1n并将Sess1n标识附加到用户请求中发送到分配服务器中,接入服务器对不同的接入方式提供不同的保持方式,对于HTTP请求,为用户自动生成并保存用于保持用户状态信息的Sess1n及对应的Sess1nID,将Sess1nID及用户所属类别信息保存在Cookies中,将Cookies附加到用户请求中发送到分配服务器中,而对于手机短信等其它方式的请求,与HTTP请求类似,可通过手机号码等作为Sess1n标识;
[0017]B2.用户接入时用户请求中带有Sess1n标识,查询该Sess1n标识可查到相应的Sess1n,说明不需新生成Sess1n、Sess1n标识、用户所属类别信息,根据用户请求更新该用户状态信息,接入服务器保存更新的Sess1n并将附加了 Sess1n标识的用户请求中发送到分配服务器中,接入服务器对不同的接入方式提供不同的保持方式,对于HTTP请求,请求中存在Cookies,通过Cookies中的Sess1nID查询到Sess1n存在,根据用户请求更新并保存该用户的Sess1n,将接入的用户请求直接发送到分配服务器中,而对于手机短信方式的请求,与HTTP请求类似,通过手机号码等作为Sess1n标识;
[0018]B3.为用户的Sess1n设置生存周期,超时后自动清除该Sess1n,用户接入时虽然用户请求中带有Sess1n标识,但查询该Sess1n标识查不到相应的Sess1n,这时按用户首次接入处理,为该用户新生成Sess1n及Sess1n标识,然后用新Sess1n标识替换用户请求中原有的Sess1n标识,剩余步骤与BI中的步骤相同。
[0019]所述步骤C中,在普通负载情况下,按最快频率取出并处理用户请求;在高负载的情况下,可能会决定将用户请求发回等待队列继续等待,这时就增大取出请求的间隔时间,以防止造成更大的系统负担。
[0020]所述步骤D中,负载均衡的过程为:
[0021]Dl.确定面向用户的资源分配方案;
[0022]D2.根据面向用户的资源分配方案从请求等待队列中取出用户请求;
[0023]D3.确定面向应用服务器的负载均衡策略,为用户请求指定应用服务器;
[0024]D4.将取出的用户请求分配到指定的应用服务器进行处理。
[0025]所述步骤Dl中,资源分配方案包括按用户等级优先级决定的默认方案,由用户请求的先后顺序随机决定、由用户贡献值决定的方案,或者根据需要人工制定方案并通过文档的形式导入。
[0026]所述步骤D3中,采用默认策略,即通过应用服务器的CPU利用率、内存利用率、连接数和响应时间计算得到其负载分配顺序,或者人工制定并通过文档的形式导入。
[0027]实现上述处理方法的大规模并发用户接入处理装置,它包括:
[0028]接入服务器,用于接入多类型的电力用户请求信息,保持用户状态,将用户请求发送给分配服务器,将用户状态信息发送给应用服务器,并向电力用户返回请求回复;
[0029]分配服务器,与接入服务器、应用服务器通讯,用于缓存接入服务器发送的包含请求信息和Sess1n标识的用户请求,实时监测所辖应用服务器的负载情况,依据分配策略和实时负载情况将用户请求分配到所辖应用服务器上;
[0030]至少一个应用服务器,与分配服务器、接入服务器通讯,用于接收分配服务器分配的用户请求,从接入服务器获取相应的用户状态信息,执行用户请求并向接入服务器返回请求回复。
[0031]所述应用服务器之间存储的信息是相同的,并且,应用服务器的数量动态增减。
[0032]所述接入服务器包括相互通讯的:
[0033]接入适配模块,用于对来自多种渠道的电力用户请求进行接入适配,实现多种交互终端、通信规约的统一接入,通过与用户状态保持模块通信发送用户请求和接收请求回复,并向电力用户返回请求回复;
[0034]用户状态保持模块,用于以用户状态保持模型的形式实时查询、存储通过接入适配模块接入的电力用户的状态信息,接收应用服务器中的执行管理模块返回的包含了Sess1n标识、状态信息的请求回复,更新用户Sess1n,并向接入适配模块返回请求回复。
[0035]所述分配服务器包括相互通讯的:
[0036]请求存储模块,用于实时缓存包含请求信息和Sess1n标识的用户请求,电力用户的请求通过接入服务器接入并进行状态保持后,进入请求存储模块中的请求等待队列,接受负载均衡模块取出用户请求,及高负载时将用户请求发回请求等待队列;
[0037]负载均衡模块,与请求存储模块相互通讯,