一种在线服务系统中基于mvvm模型管理对话的方法

xiaoxiao2021-2-23  133

一种在线服务系统中基于mvvm模型管理对话的方法
【技术领域】
[0001]本发明涉及一种在线服务系统中基于MVVM模型针对多渠道来源的对话进行实时管理、分配、监控的方法,适用于各种在线通讯系统管理和对话的应用场景。
【背景技术】
[0002]MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如
Silverlight、音频、视频、3D、动画......,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了诸如Binding、Dependency PropertynRouted Events、Command、DataTemp late、Control Temp late 等新特性。MVVM(Model-Vi ew-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
[0003]目前市面上通讯软件系统五花八门,以腾讯旗下产品为主,如QQ、微信等。服务系统接入访客的来源有多种,且数目庞大,目前在线服务系统中一个对话维持一个链接不可行,不仅消耗的系统资源很大,维护难度很高,也不符合服务的服务习惯。用户聊天是比较离散的,并且对话没有结束标识,比如客户咨询问题,服务回答问题之后,该客户可能很久以后才查看并继续提问,这种情况如果连接一直维持,会很浪费资源,因为没有结束标识,服务也不能手动关闭一个正在连接的对话。极端情况下,维持的连接数目会非常庞大。
[0004]在线服务系统的重心就是服务的服务质量,服务质量、反应速度提升了还可以刺激营销。另外,系统的可操作性、稳定性和可维护性也非常重要,服务系统不可以随便宕机,所以需要合理分配系统资源。

【发明内容】

[0005]本发明的目的在于:针对现有技术中存在的上述技术问题,提供一种在线服务系统中基于MVVM模型针对多渠道来源的对话进行实时管理、分配、监控的方法,适用于各种在线通讯系统管理和对话的应用场景。
[0006]本发明是通过以下技术方案实现的:
一种在线服务系统中基于MVVM模型管理对话的方法,包括客户访问平台、服务器、和客户端;所述的客户端由用户池和对话窗口组成;客户访问平台接收的消息经过服务器发送到客户端,客户端经过消息处理后更新用户池;所述服务器与用户池之间进行服务交互,所述用户池与对话窗口之间进行界面交互;其中,
所述用户池针对不同客户设有唯一标识id;
所述服务交互用于对服务器发送的消息进行处理,将处理信息更新对应至用户池,并监控用户状态、消息的变化,从而达到与服务器信息交互;
所述界面交互用于监控客户端内数据变化,是衔接用户池中用户与服务对话展示页面的逻辑处理,监控用户池对应用户数据和对话窗口发出的命令操作; 所述对话窗口用于服务人员与客户进行互动交互界面,服务人员在此界面可以跟客户进行一些列的互动活动。
[0007]其实现步骤如下:
步骤一、对话接入,服务器发送消息;客户端根据服务器发送的消息,对消息进行数据处理;
步骤二、处理用户数据;a、如客户为初次接入,根据客户池内此客户信息,建立新的对话窗口,并根据对应信息设置权限,展示相关客户信息给服务人员;b、如为已交谈客户,将客户池内此客户发生变化的信息发送窗口,进行窗口内容根据变化内容进行实时刷新对话窗口的内容与状态;
步骤三、监控对话,当服务人员进行对话窗口操作时,监控对话根据内容实时更新用户池内对应用户的信息;
步骤四、监控用户池内数据向服务发送,当用户池内信息发生变化后,监控服务会进行数据处理并向服务器发送消息。
[0008]进一步,所述的用户池内预设有数据池,所述数据池用以存储经过数据处理后的数据;当数据池内发生变化,监控捕捉变化信息处理成事先约定的格式发送通知服务器。
[0009]进一步,所述数据处理包括数据分类、数据转换和数据筛选。
[0010]进一步,所述用户池为一个静态成员,内部将用于存储用户的集合与监控相关联,当应用程序启动后会划分一块内存存储,所述集合内部为用户、访客的基本信息。
[0011 ]综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明实现了一种基于MVVM模式管理对话的方法,客户端将数据处理,数据源,数据展示分别建立联系,实现高内聚、低耦合的设计,相比一个对话维持一个链接、维持一组数据的方法,减少了系统资源的损耗,减少了处理每条信息的操作量,减轻了客户端的负重,增加了稳定性,提高了服务的服务质量和服务效率;
2、本发明的方法使得访客接入的时候不再建立服务和访客之间一对一的链接,而是通过服务端转发服务和访客之间消息的方式来实现对话过程。服务端只有在做出操作后更改用户池数据通知服务端和服务端给客户端发送消息后再做出处理用户池数据,这样减轻网络连接压力和资源的损耗,加强了客户端的稳定性;
3、本发明的服务端通过消息路由的方式来转发客户和服务的消息来实现对话。客户端在用户池数据的基础上做出一系列的行为操作。
[0012]4、本发明建立在MVVM模式的基础上,将它的理念融合并应用于“在线服务”可以提高服务软件的质量和效率,提高在线服务要求即时性、高效性、轻便性。降低程序模块间低规A
柄口 ο
【附图说明】
[0013]本发明将通过例子并参照附图的方式说明,其中:
图1为本发明的结构框图;
图2为本发明的客户端处理框图;
图3为本发明的MVVM模式原理示意图;
图4为本发明的数据池与服务器的关系框图; 图5为本发明的数据池与UI的关系框图;
图6为本发明的消息内容分解框图;
图7为本发明的用户池基本架构框图。
【具体实施方式】
[0014]本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0015]本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0016]如图3所示的,MVVM模式提倡以数据为驱动,需要一个为View量身定制的model,这个model就是ViewModel JiewModel包含所有由UI特定的接口和属性,并由一个ViewModel的视图的绑定属性,并可获得二者之间的松散耦合。MVVM模式的优点:1)低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的〃View〃上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。2)可重用性。可以把一些视图逻辑放在一个ViewMod el里面,让很多view重用这段视图逻辑。3)独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。
[0017]在MVVM模式的基础上,将它的理念融合并应用于“在线服务”可以提高服务软件的质量和效率,提高在线服务要求即时性、高效性、轻便性。降低程序模块间低耦合。
[0018]如图1所示的,在线服务系统中基于MVVM模型管理对话的方法,包括客户访问平台、服务器、和客户端;所述的客户端由用户池和对话窗口(chat)组成;客户访问平台接收的消息经过服务器发送到客户端,客户端经过消息处理后更新用户池;所述服务器与用户池之间进行服务交互,所述用户池与对话窗口(chat)之间进行界面交互;
优选,所述用户池针对不同客户设有唯一标识id;如图4所示的,当系统开启后,开辟出一块空间,将它用来存储服务器传递的数据,就像池一样(即为数据池),与此同时我们监控数据池的程序将开启,所述数据池用以存储经过数据处理后的数据;当数据池内发生变化,监控捕捉变化信息处理成事先约定的格式发送通知服务器。
[0019]优选,所述服务交互用于对服务器发送的消息进行处理,将处理信息更新对应至用户池,并监控用户状态、消息的变化,从而达到与服务器信息交互;
优选,所述界面交互用于监控客户端内数据变化,是衔接用户池中用户与服务对话展示页面的逻辑处理,监控用户池对应用户数据和对话窗口(chat)发出的命令操作;
优选,所述对话窗口(chat)用于服务人员与客户进行互动交互界面,服务人员在此界面可以跟客户进行一些列的互动活动。
[0020]如图2、4、5、6和7所示的,具体实现方式如下:
步骤1,描述约定和准备工作,对话接入,服务器发送消息,与服务器之间消息传递事先约定俗成,如:Message= style + message_id + user_id +内容 +......根据服务器发送的消息,对消息进行数据处理,如客户已存在用户池内,则根据消息格式进行用户状态、对话内容、客户请求等进行更新。
[0021]步骤2,处理用户数据,1)处理与服务器之间消息,根据防御服务器之间约定俗成的消息机制,根据消息类型、操作类型等进行消息内容分解。2)UI操作与数据池之间,当UI进行某个操作时,UI监控类对操作进行处理。例如:主动邀请语音,此时数据处理类会搜集邀请人、被邀请对象、UI操作等,根据消息信息更新用户池内对应数据。其中,当客户为初次接入,根据客户池内此客户信息,建立新的对话窗口,并根据对应信息设置权限,展示相关客户信息给服务人员。当如果为已交谈客户,将客户池内此客户发生变化的信息发送窗口,进行窗口内容根据变化内容进行实时刷新对话界面内容与状态。
[0022]步骤3,监控对话,1)监控池内数据,通知服务器,当UI发出语音请求后,经过UI数据处理类,处理池内对应Group内信息,例如:SoundMedia_Status = wait; Sound_Request=客服1;等其他消息会发生改变,此时,监控类搜集这些信息,按照事先约定俗成的通讯规则将信息发送服务,服务在请求用户。2)监控池内数据,通知UI,当池内数据发生变化,例如,用户发出语音请求,此时通过服务器发送给客户端,经过数据处理类,处理后更新用户池内对应Group的信息,SoundMedia_Status = Request ; Sound_Request =用户自己;Sound, Target =客服1;此时监控器会根据信息变化将请求和用户状态等信息通知UI,UI会做出对应的更新展现给操作人员。
[0023]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
【主权项】
1.一种在线服务系统中基于MVVM模型管理对话的方法,其特征在于:包括客户访问平台、服务器、和客户端;所述的客户端由用户池和对话窗口组成;客户访问平台接收的消息经过服务器发送到客户端,客户端经过消息处理后更新用户池;所述服务器与用户池之间进行服务交互,所述用户池与对话窗口之间进行界面交互;其中, 所述用户池针对不同客户设有唯一标识id; 所述服务交互用于对服务器发送的消息进行处理,将处理信息更新对应至用户池,并监控用户状态、消息的变化,从而达到与服务器信息交互; 所述界面交互用于监控客户端内数据变化,是衔接用户池中用户与服务对话展示页面的逻辑处理,监控用户池对应用户数据和对话窗口发出的命令操作; 所述对话窗口用于服务人员与客户进行互动交互界面,服务人员在此界面可以跟客户进行一些列的互动活动。2.根据权利要求1所述的在线服务系统中基于MVVM模型管理对话的方法,其特征在于,步骤如下: 步骤一、对话接入,服务器发送消息;客户端根据服务器发送的消息,对消息进行数据处理; 步骤二、处理用户数据;a、如客户为初次接入,根据客户池内此客户信息,建立新的对话窗口,并根据对应信息设置权限,展示相关客户信息给服务人员;b、如为已交谈客户,将客户池内此客户发生变化的信息发送窗口,进行窗口内容根据变化内容进行实时刷新对话窗口的内容与状态; 步骤三、监控对话,当服务人员进行对话窗口操作时,监控对话根据内容实时更新用户池内对应用户的信息; 步骤四、监控用户池内数据向服务发送,当用户池内信息发生变化后,监控服务会进行数据处理并向服务器发送消息。3.根据权利要求1所述的在线服务系统中基于MVVM模型管理对话的方法,其特征在于,所述的用户池内预设有数据池,所述数据池用以存储经过数据处理后的数据;当数据池内发生变化,监控捕捉变化信息处理成事先约定的格式发送通知服务器。4.根据权利要求3所述的在线服务系统中基于MVVM模型管理对话的方法,其特征在于,所述数据处理包括数据分类、数据转换和数据筛选。5.根据权利要求1所述的在线服务系统中基于MVVM模型管理对话的方法,其特征在于,所述用户池为一个静态成员,内部将用于存储用户的集合与监控相关联,当应用程序启动后会划分一块内存存储,所述集合内部为用户、访客的基本信息。
【专利摘要】本发明涉及一种在线服务系统中基于MVVM模型管理对话的方法,包括客户访问平台、服务器、和客户端;所述的客户端由用户池和对话窗口组成;客户访问平台接收的消息经过服务器发送到客户端,客户端经过消息处理后更新用户池;所述服务器与用户池之间进行服务交互,所述用户池与对话窗口之间进行界面交互。本发明建立在MVVM模式的基础上,将它的理念融合并应用于“在线服务”可以提高服务软件的质量和效率,提高在线服务要求即时性、高效性、轻便性。降低程序模块间低耦合。
【IPC分类】H04L12/24
【公开号】CN105490842
【申请号】CN201510858509
【发明人】王建军
【申请人】用友网络科技股份有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日

最新回复(0)