用于dhtmlx界面控件库的会话超时方法

文档序号:7804243阅读:274来源:国知局
用于dhtmlx界面控件库的会话超时方法
【专利摘要】本发明提供一种用于DHTMLX界面控件库的会话(session)超时方法。每个DHTMLX界面控件库包括多个DHTMLX组件。该方法包括:发送请求到服务器;用客户端接收来自服务器的数据和网页内容;在客户端建立会话计时器倒计时服务器和客户端之间建立的会话的剩余时间;创建DHTMLX组件;在DHTMLX组件引起第一预定事件或调用第一动作时监控并重置会话计时器,在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页;以及捕获DHTMLX组件错误。
【专利说明】用于DHTMLX界面控件库的会话超时方法

【技术领域】
[0001]本专利申请涉及信息技术,特别地涉及一种用于dhtmlxSuite, dhtmlxScheduler及其它DHTMLX界面控件库的会话超时方法。

【背景技术】
[0002]dhtmlxSuite 和 dhtmlxScheduler 是由 DHTMLX 有限公司(http://www.dhtmlx.com)开发的界面控件库。DHTMLX是DHTMLX有限公司的商标。DHTMLX有限公司还生产其他软件界面控件库。库中的组件可以用于为网络应用、移动应用、平板电脑应用等各类软件构建界面。在这些界面中,用户可以取得、查看、插入、更新和删除组件中的数据。控件库中的组件会发送请求修改数据,并接收服务器响应。
[0003]用户登录应用程序后,客户端计算机和服务器之间将建立会话。会话是计算机之间在一定时间内建立的连接。服务器存储临时数据到会话中。用户触发信号给服务器以保持连接状态活动。如果用户处于非活动状态超过一定的时间后,会话会在服务器上过期,月艮务器会注销用户。服务器同时清除存储在会话中的临时数据,并释放用于保持会话的系统资源。用户需要重新登陆以继续他们在应用中的活动。
[0004]然而,由于dhtmlxSuite, dhtmlxScheduler及其它DHTMLX控件库中的组件只加载在客户端计算机上的因特网浏览器、操作系统、软件环境或执行时期,因此并不能检测到服务器上的会话超时。用户可能花费大量的时间修改DHTMLX组件中的数据,提交请求到服务器后才意识到会话已经过期。如果服务器上的会话已经过期,从客户端计算机提出数据修改请求将被服务器忽略,所有修改的数据将被丢弃。服务器要求用户重新登录系统。用户必须重复修改数据,然后再发送数据修改请求到服务器。


【发明内容】

[0005]本专利申请涉及用于DHTMLX界面控件库的会话超时方法。一方面,每个DHTMLX界面控件库包括多个DHTMLX组件,该方法包括:发送请求到服务器;客户端接收服务器的数据和网页内容;在客户端上建立会话计时器倒计时服务器和客户端之间建立的会话的剩余时间;创建DHTMLX组件;在DHTMLX组件引起第一预定事件或调用第一动作时监控并重置会话计时器,在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页;以及捕获DHTMLX组件错误。
[0006]该DHTMLX组件可以是表格,该表格为dhtmlxGrid或dhtmlxTreeGrid。当数据从消息加载到客户端时该第一预定事件是表格事件onXLE。当用户打开该表格的单元格编辑数据时该第一预定事件是表格事件onEditCell。该方法还可以包括检查会话是否超时;如果会话超时,则提示会话超时信息,并在用户接收信息后把用户重定向到登录网页,如果会话未超时,则在该事件发生时重置该会话计时器。
[0007]该DHTMLX组件可以是数据处理器,该数据处理器为DHTMLX DataProcessor。在所有数据保存后,所述第一预定事件是DataProcessor事件onFullSync。所述第二预定事件可以是DataProcessor事件onBeforeDataSending。该方法还可以包括检查会话是否超时;如果该会话超时,则提示会话超时信息,并在用户接收信息后把用户重定向到登录网页,如果会话未超时,则等待修改数据结果的服务器响应。
[0008]如果从服务器接收到的消息是验证错误信息,则该第一动作可以是DataProcessor动作。该动作会提示验证错误信息。用户接收验证错误信息后,如果会话超时,系统会提示会话超时信息,用户被重定向到登录网页,如果会话未超时,则该会话计时器会被重置。
[0009]该DHTMLX组件可以是错误处理组件,该错误处理组件为dhtmlxError。当DHTMLX组件加载数据失败,该数据包含错误或没有从服务器接收到消息时,该第二预定事件可以是错误事件loadXML。该方法还可以包括注销用户,提示错误信息,并在用户接收错误信息后把该用户重定向到登录网页。
[0010]该方法还可以包括用该服务器上的数据组生成多个格式化的字符串,将所有格式化的字符串嵌入到网页,并一次过将该网页发送到客户端以便DHTMLX组件加载数据。当数据从消息加载到客户端时该第一预定事件是表格事件onXLE。该DHTMLX组件可以包括用于存储数据组的名称的系统性安排(systematic arrangement)、用于存储DHTMLX窗口的系统性安排、用于存储DHTMLX表格的系统性安排和用于存储DHTMLX数据处理器的系统性安排。
[0011]该方法还可以包括启动线程并展开以下一系列的行动:把数据组名称放入系统性安排,创建DHTMLX窗口和DHTMLX菜单;将菜单附加到窗口 ;把窗口放入系统性安排;创建DHTMLX表格;把表格附加到窗口 ;加载数据组的格式化字符串到表格;引起表格事件onXLE以在该事件发生时重置该会话计时器;把该表格放入系统性安排;创建DHTMLX数据处理器;用数据处理器初始化表格;以及把该数据处理器放入系统性安排。
[0012]该DHTMLX组件可以是日程表组件,该日程表组件为dhtmlxScheduler。当数据从消息加载到客户端时,该第一预定事件是表格事件onXLE,或者当用户编辑、打开、剪切、复制或者粘贴日程表组件任务,该第一预定事件可以分别是日程表组件事件onEventChanged、onLightbox、onEventCut、onEventCopied 或 onEventPasted。该方法还可以包括检查会话是否超时;如果会话超时,则提示会话超时信息,并在用户接收信息后把用户重定向到登录网页,如果会话未超时,则在该事件发生时重置会话计时器。
[0013]另一方面,本专利申请提供计算机网络,其包括:网络服务器,与网络服务器连接的数据库服务器,以及通过互联网和网络安全设备被连接到网络服务器的客户端计算机。客户端计算机用于发送请求到网络服务器,从网络服务器接收数据和网页内容,设置会话计时器倒计时所述网络服务器和客户端计算机之间建立的会话的剩余时间,创建DHTMLX组件,在该DHTMLX组件引起第一预定事件或调用第一动作时监控并重置所述会话计时器,在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页,并捕获DHTMLX组件错误。该DHTMLX组件是表格、数据处理器、日程表组件或错误处理组件。
[0014]该DHTMLX组件可以是表格,该表格为dhtmlxGrid或dhtmlxTreeGrid,并且当数据从消息加载到客户端计算机时该第一预定事件是表格事件onXLE,或者当用户打开表格的单元格编辑数据时该第一预定事件是表格事件onEditCell。
[0015]该DHTMLX组件可以是日程表组件,该日程表组件为dhtmlxScheduler,并且当数据从消息加载到客户端计算机时该第一预定事件是日程表组件事件onXLE,或者当用户编辑、打开、剪切、复制或者粘贴日程表组件任务时,该第一预定事件可以分别是日程表组件事件 onEventChanged、onLightbox、onEventCut> onEventCopied 或 onEventPasted。
[0016]该DHTMLX组件可以是数据处理器,该数据处理器为dhtmlx DataProcessor。该第一预定事件可以是DataProcessor事件onFulISync。该第二预定事件可以是DataProcessor 事件 onBeforeDataSending,该第一动作可以是 DataProcessor 动作。该DHTMLX组件可以是错误处理组件,该错误处理组件为dhtmlxEiror,并且第二预定事件可以是错误事件loadXML。
[0017]再有,本专利申请提供了一种用于监控界面控件库会话超时的系统。每个界面控件库包括多个界面控制组件。该系统包括:用于发送请求到服务器的装置,用于用客户端从该服务器接收数据和网页内容的装置,用于设置会话计时器倒计时所述服务器和所述客户端之间建立的会话的剩余时间的装置,用于创建界面控制组件的装置,用于当所述界面控制组件引起第一预定事件或调用第一动作时监控并重置所述会话计时器的装置;用于在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页的装置;以及用于捕获界面控制组件错误的装置。界面控制组件用于当该界面控制组件请求、接收、加载、呈现、搜索、过滤、隐藏、显示、排序、增力口、更新、删除、打开、编辑、剪切、复制、粘贴或关闭数据记录时触发所述预定事件。

【专利附图】

【附图说明】
[0018]图1描绘实现本专利申请实施例的用于DHTMLX界面控件库的会话超时方法的系统架构。
[0019]图2是本专利申请另一个实施例的用于处理包含有单个dhtmlxGrid或dhtmlxTreeGrid(表格)的网页的会话超时方法流程图。
[0020]图2B是图2中方块2B的流程图。
[0021]图3是本专利申请另一个实施例的用于处理具有多个dhtmlxGrid或dhtmlxTreeGrid(表格)的网页的会话超时方法流程图。
[0022]图3B是图3中方块3B的流程图。
[0023]图3C是图3中方块3C的流程图。
[0024]图3D是图3中方块3D的流程图。
[0025]图4描绘本专利申请另一个实施例的用于dhtmlxScheduler (日程表)的会话超时方法的流程图。
[0026]图4B是图4中方块4B的流程图。
[0027]图5是dhtmlxGrid的例子的图表。
[0028]图6是dhtmlxTreeGrid的例子的图表。
[0029]图7是dhtmlxScheduler的例子的图表。
[0030]图8是dhtmlxScheduler的任务弹出窗口的例子的图表。

【具体实施方式】
[0031]以下将详细描述本专利申请的用于DHTMLX界面控件库的会话超时方法的优选实施例及具体例子以更好理解本发明。虽然该方法的示例实施例将会尽可能详细描述,然而,为简明起见,一些本领域技术人员熟知的、对于理解该方法不重要的特征将不再赘述。
[0032]另外,可以理解的是,本专利申请公开的方法并不限于以下具体描述的实施例,本领域技术人员在不脱离本发明的精神保护或范围内做出的各种改变和修改都应包括在内。例如,不同的示例实施例的元件和/或特征可本发明的保护范围之内彼此进行结合或取代。
[0033]由于DHTMLX组件的事件和函数可能被复制但被赋予其他名字,于DHTMLX库未来的版本中名字也可能被更改,因此本专利申请中使用的所有事件名字及函数名字均代表了能产生相同或者类似效果的其他等同事件及函数。
[0034]此外,市场上也有除了 DHTMLX有限公司外的其他公司出品的单个控件或者控件库。无论第三方出品的单个控件或者控件库是用于网络应用、移动应用、平板电脑应用程序或其他类型的软件,由于这些单个控件和控件库在应用中也会产生上述问题,因此本专利申请的实施例提供的方法也适用于这些单个控件和控件库。本专利申请中使用所有事件名字及函数名字均代表了能产生相同或者类似效果的第三方出品单个控件或者控件库中的其他等同事件及函数。
[0035]系统架构
图1描绘实现本专利申请实施例的用于DHTMLX界面控件库的会话超时方法的系统架构。如图1所示,系统用户使用计算机101通过因特网102访问系统。该计算机可以是台式电脑、笔记本电脑、平板电脑、手机或任何其他类型的硬件设备。如果用户使用服务器计算机作为客户端计算机,计算机101也可以是一台服务器计算机。系统用户与计算机101在客户端。为了限制对系统的未授权访问,该连接通过诸如防火墙和入侵检测系统的网络安全设备103。网络应用托管在网络服务器104上。网络服务器104与数据库服务器105进行通信。数据库服务器105存储系统的数据库。
[0036]用于单个表格的会话超时机理
在DHTMLX库,dhtmlxGrid (如图5所不)和dhtmlxTreeGrid(如图6所不)是以行和列显示数据的界面组件。dhtmlxTreeGrid还允许用户能够以单击的方式展开或折叠在表格列(grid column)中的节点,以显示或隐藏属于同一分支或整个树的行。dhtmlxScheduler(如图7所示)显示时间表或日历中的任务分配。dhtmlx Data Processor (数据处理器)是透过可扩展标记语言(XML)或其他格式在DHTMLX组件和服务器之间沟通请求和响应的组件。XML是一种文件编码的格式。它由万维网联盟(W3C)在XML 1.0规范定义。W3C是主要的万维网国际标准组织。
[0037]在本专利申请中,流程中的消息以XML和JSON格式表示。但是,DHTMLX组件也可以XML格式、JavaScript对象表示法(JSON)、超文本标记语言(HTML)表、逗号分隔值(CSV)、JavaScript数组和其他自定义负载类型的格式与服务器进行通信及加载数据。如果适用,本专利申请中描述的XML和JSON格式可以由其他数据格式替代。
[0038]图2是本专利申请另一个实施例的用于包含有单个dhtmlxGrid或dhtmlxTreeGrid(表格)的网页的会话超时方法流程图。如图2所示,该方法从步骤200开始,用户打开网页。客户端计算机上的因特网浏览器在步骤201发送请求到服务器。服务器在步骤202接收该请求并在步骤203发送网页内容到客户端计算机。该服务器还在该网页的内容嵌入了会话持续时间。
[0039]互联网浏览器在步骤204接收响应后,在步骤205加载网页内容并在步骤206根据网页内容中的会话持续时间为网页设置会话计时器。因特网浏览器在步骤207创建dhtmlxGrid 或 dhtmlxTreeGrid (表格)、并在步骤 208 创建 DHTMLX Data Processor (数据处理器)。数据处理器在步骤209初始化表格。表格在步骤210发送请求给服务器以请求数据填充表格。该请求是XML格式。互联网浏览器在步骤211等待服务器的XML格式的表格内容。服务器从数据库加载记录数据,生成XML格式的响应,并将其发送到客户端。
[0040]如果表格在步骤212不能接收到XML消息,dhtmlxError将在步骤264捕获错误事件loadXML。该dhtmlxError是DHTMLX库中的自定义错误处理组件。网页在步骤267登出用户以结束会话,然后在步骤254提示错误信息,用户在步骤256接收信息后,在步骤257重定向到登录网页。如果因特网浏览器在步骤212接收到服务器的XML消息,网页在步骤213加载XML消息到表格。从XML消息加载数据后,表格在步骤214引起事件onXLE。在事件onXLE下,会话计时器在步骤215重置。
[0041]表格载入XML消息后显示从服务器接收到的数据。用户可以在步骤240编辑表格的内容。当用户打开表格的单元格编辑数据时,表格在步骤241引起事件onEditCell。该事件在步骤242检查会话是否超时。如果会话超时,步骤255提示会话超时信息,用户在步骤256接收信息后,步骤257重定向到登录网页。如果会话在步骤242未超时,网页在步骤243重置计时器,这是因为用户仍然活跃。用户可以通过DHTMLX组件的各种函数分别在步骤244、245和246增加、更新和删除表格内容。编辑、增加、更新、删除动作在步骤248以XML格式提交修改数据的请求到服务器。
[0042]数据处理器在步骤249引起事件onBeforeDataSending。该事件在步骤250检查会话是否超时。如果会话超时,在步骤255提示会话超时信息,用户在步骤256接收信息后,在步骤257重定向到登录网页。如果会话步骤250未超时,网页在步骤251等待XML格式的数据修改结果的服务器响应。
[0043]如果网页在步骤252无法从服务器接收到XML消息,dhtmlxError将在步骤264捕获1adXML错误事件。事件在步骤267登出用户以结束会话,在步骤254提示错误信息,用户在步骤256接收信息后,在步骤257重定向到登录网页。
[0044]如果网页在步骤252从服务器接收到XML消息,数据处理器将在步骤253通过检查XML消息中的动作类型字段是否包含“invalid” ( “无效”)作为其值来检查XML信息是否为验证错误信息,当在验证检查(validat1n)中发现任何验证错误,服务器将设置操作类型字段的值为“invalid”。验证检查是验证数据的值和类型的过程。动作类型字段的值可以是任何其他字眼。该服务器必须匹配已经在数据处理器动作中指定的字眼。如果消息在步骤253是验证错误信息,数据处理器识别字“invalid”,并在步骤258触发动作。该动作在步骤259提示验证错误信息。用户在步骤260接收信息,网页在步骤261检查会话是否超时。
[0045]如果会话在步骤261超时,在步骤255提示会话超时信息、然后在用户在步骤256接收信息后在步骤257重定向到登录网页。如果会话在步骤261未超时,网页在步骤266重置对话计时器且用户可以在步骤240、244、245或246继续编辑表格内容。
[0046]如果在步骤253中,XML响应不是验证错误信息,表格在步骤262加载服务器响应。如果在步骤263中,表格在加载服务器响应时抛出异常,dhtmlxError将在步骤264捕获1adXML错误事件。事件在步骤267登出用以结束会话,然后在步骤254提示错误信息,用户在步骤256接收信息后,步骤257重定向到登录网页。
[0047]如果表格在步骤262加载响应成功,在步骤263不会抛出异常。然后,数据处理器在步骤265引起事件onFullSync。该事件在步骤266重置计时器,之后用户可以在步骤240、244、245或246继续编辑表格内容。
[0048]用于多个表格的会话超时机理
在图2的用于dhtmlxGrid会话超时机制之上,本专利申请另一实施例的方法具有图3所示的更先进的会话超时机制。
[0049]有时将数据分类成组更方便处理数据。该方法在同一网页上在多个dhtmlxGrid或dhtmlxTreeGrid(表格)上显示数据组。对于每一组数据,网页创建包含表格和菜单(dhtmlxMenu)的窗口(dhtmlxWindow)。菜单有用于添加、删除和修改表格中的数据的按钮。该网页还为每个表格创建与服务器之间通信的数据处理器(dhtmlx Data Processor)。用户可以通过在表格之间拖放数据以更新数据、修改数据分组。
[0050]在单一的网页上加载多个表格的缺点之一是,由于创建多个表格的进程在同一执行路径排队,互联网浏览器需要很长的时间来一个接一个地渲染并加载表格。互联网浏览器须在前表格加载完后才可以创建新的表格。用户在所有的表格完全加载完前必须等待很长时间。由于过于忙碌,互联网浏览器也可能在这种情况下停滞不动。
[0051]另外的问题是,表格仍然没有像图2所示的机制来监控会话时间。此外,没有办法对网页的多个表格定位、调用、控制、管理或施加其他动作。
[0052]本专利申请的方法为创建可管理的多个表格、加快表格加载速度及监控包含多个表格的网页的会话超时提供解决方案。
[0053]虽然DHTMLX组件可以不用被存储到任何安排中而初始化,然而本方法提供系统性安排来存储数据组名、表格、数据处理器和窗口。该系统可以找到存储在安排中的对象或值以便获取它们并对它们施加动作。图示中采用个别的数组作为安排。然而,数组代表所有执行相同功能的等效系统性安排或对象集合结构。数组(array)是值或对象集合的系统性安排。
[0054]该网页为每个数据组创建名称、表格、数据处理器、窗口和菜单,然后将其放入各自的数组。通过在数据组名的数组中搜索名称,系统可以在数组中定位出名称的索引(index)。由于其它数组的排序是相同的,其他数组中相同的索引号的对象也代表相同的数据组。通过这种方法,系统可以保持对对象的控制,因为系统可以利用索引在数组中定位和调用它们,然后对对象施加动作。
[0055]在之前的图2,表格发送请求给服务器以请求表格的内容,然后接收并加载由XML格式包含的记录数据的服务器响应。当单个网页具有一个以上的表格时,每个表格都会提交各自的请求给服务器以请求记录数据。结果是服务器因需要接收许多请求和响应每个表格变得忙碌。因而让多个表格来发送多个请求不是在网页上创建多个表格的最佳的方式。
[0056]在图3,更佳的方法使用JavaScript对象符号(JSON)加载记录数据到多个表格,而不是使用XML。JSON是专为数据互换设计的基于文本的开放标准。它根据JavaScript创建。JavaScript是在互联网浏览器上运行,用于控制网页组件的客户端编程语言。
[0057]为了节省系统资源,服务器不响应来自多个表格的多个请求。相反,服务器使用数据组来生成JSON格式的多个字符串,然后嵌入所有JSON字符串到网页中,并在同一时间将其发送到客户端计算机。
[0058]由于服务器嵌入JSON字符串到网页中,表格可以从网页加载记录数据。因此表格没有必要发送请求到服务器以请求记录数据。这可以缩短网页的加载时间和通过减少从多个表格分别发送的请求而避免服务器过于繁忙。
[0059]当用户在步骤300中打开网页,因特网浏览器在步骤301发送请求到服务器。月艮务器在步骤302接收到请求。服务器在步骤303从数据库中取得数据,将数据分类成组,并把该数据组放到数组。
[0060]服务器在步骤304对数组的每个数据组重复以下操作。对于每一组数组中,在步骤305,嵌入了数据组名和其他属性值到网页内容。然后,在步骤306,服务器使用该组的数据为该数据组生成JSON格式的字符串。服务器在步骤307将JSON字符串嵌入到网页内容。在步骤308中,如果数组中还有其他的数据组未处理,则服务器返回到步骤304。
[0061]对所有数据组操作后,服务器在步骤309响应客户端上的因特网浏览器发送网页内容。因特网浏览器在步骤310接收服务器响应后在步骤311加载网页内容,并在步骤312为网页建立会话计时器。会话计时器是在网页中唯一的会话计时器。网页上所有东西都依据这个会话计时器检查会话时间。
[0062]互联网浏览器在步骤313创建数组存储数据组名、在步骤314创建数组用于存储窗口、在步骤315创建数组用于存储表格及在步骤316创建数组用于存储数据处理器。如果有更多的数据组的属性值或DHTMLX组件需要存储,亦可以创建其他额外的独立数组来存储。
[0063]服务器在步骤317对每个数据组的JSON字符串重复以下操作。对于每个数据组,在步骤318,使用独立的线程来包含表格加载程序(步骤319至333),以增加网页加载速度。线程是可以独立于其他执行路径进行的执行路径。多个线程可以同时进行。在多线程环境中,新的表格能在前表格加载完成前创建,因为前表格是在另一线程的进程中创建的。
[0064]在每个线程中,互联网浏览器在步骤319把数据组名放入数据组名数组,并在步骤320中为数据组创建窗口。因特网浏览器在步骤321创建菜单,并附加菜单到窗口,然后在步骤322创建菜单选项、菜单按钮及菜单事件。
[0065]然后,互联网浏览器会在步骤323创建窗口事件,然后在步骤324把窗口放入窗口数组中。因特网浏览器在步骤325创建表格,并在步骤326附加表格到窗口。表格在步骤327加载数据组的JSON消息。这在步骤328引起表格事件onXLE,事件在步骤329重置会话计时器。表格加载JSON消息后,互联网浏览器在步骤330把表格放入表格数组。
[0066]然后,因特网浏览器在步骤331中创建了数据处理器,数据处理器在步骤332对表格进行初始化。互联网浏览器在步骤333将数据处理器放入数据处理器数组。
[0067]在步骤334,如果网页中还有其他的数据组的JSON字符串,则因特网浏览器返回到步骤317。
[0068]由于因特网浏览器为每个数据组依次创建数据组名、窗口、菜单、表格和数据处理器,数据组名数组的长度、窗口数组的长度、表格数组的长度和数据处理器数组的长度是相同的。数组中相同索引的对象均代表相同的数据组。如果系统有数据名、窗口、表格或者数据处理器的任何索引号,该系统便可以利用相同的索引号在各个数组中找到代表相同数据组的其他对象。
[0069]处理完所有数据组后,互联网浏览器在步骤335移动到窗口数组的前端。通过在窗口数组中的每个窗口之间循环,因特网浏览器在步骤336可对窗口做一些设置,例如定位以及根据一些条件隐藏或显示窗口内表格的数据。如果窗口数组中还有其他窗口,因特网浏览器在步骤337返回到步骤335。通过将窗口放入窗口数组中,互联网浏览器可以通过索引号定位并调用特定的窗口,或循环于窗口数组中的所有窗口,以对窗口或者窗口表格中的数据采取操作。从步骤335到步骤337是包含了多个DHTMLX组件的网页把多个DHTMLX组件放入数组并从中取得,而予以定位、调用、控制、管理或施加动作的例子。
[0070]在步骤337之后,该方法可以使用如图2中步骤240到步骤267的会话超时机制。图2的步骤240到步骤267与图3的步骤240到步骤267相同。图3的步骤240到步骤267应用到网页的每个单独的表格和数据处理器。尽管网页比图2的网页含有更多的表格,所有对表格事件及数据处理器事件的动作均根据网页上相同的、唯一的会话计时器。
[0071]图3与图2之间的另外区别是,用户在步骤347可以在不同表格之间可以拖拉数据。如前面提到的,每个表格代表不同的数据组。拖拉动作在数据组之间移动数据。图2并沒有图3中的步骤347。
[0072]用于dhtmlxScheduler的会话超时机理
图4描绘根据本专利申请另一个实施例的用于dhtmlxScheduler (日程表组件)的会话超时方法的流程图。日程表组件是一种用于组织任务纲要的时间表或日历。现在还没有这种dhtmlx组件的会话超时机制。本实施例的方法利用dhtmlxScheduler和dhtmlx DataProcessor的事件来倒计时并监控会话超时。日程表组件和数据处理器可以在不同条件下生成不同的事件。该方法在客户端的不同的事件中开始、重置和监控会话时间。如此,用户可以在修改数据前意识到会话超时。因此,用户并不需要花时间在会话超时后提交将被服务器忽略、丢弃的请求来修改数据。
[0073]除了几个区别外,图4的流程与图2的流程是一样的。其中区别是,在整个流程中表格由日程表组件所取代。图2的表格和图4日程表组件也可以由dhtmlx库的其它组件取代。本文件中的方法也适用于其他dhtmlx产品。
[0074]另外的区别是在步骤441中,表格事件onEditCell被日程表组件事件onEventChanged、onLightbox、onEventCut 或 onEventCopied 取代。日程表组件事件onEventChanged当用户在日程表组件内拖动任务来更新任务的开始时间和结束时间时被触发。日程表组件事件onLightbox当用户在日程表组件内点击任务以在日程表组件内打开弹出窗口(如图8所示)时被触发。弹出窗口显示任务详细信息以供用户编辑。日程表组件事件onEventCut当任务在“剪切和粘贴”动作中在日程表组件内被剪切时被触发。日程表组件事件onEventCopied当任务在“复制和粘贴”动作中在日程表组件内被复制时被触发。如果该方法应用于其他的dhtmlx组件,这些事件可以由打开数据记录以供用户编辑的其他事件所取代。其他dhtmlx组件打开数据记录以供用户编辑时也会触发事件。
[0075]再有一个区别在步骤468和步骤469。当任务通过在步骤468中“剪切和粘贴”或“复制和粘贴”动作在日程表组件(scheduler)内被粘贴,日程表组件事件onEventPasted会在步骤469被触发。在这种情况下,互联网浏览器也可以采取行动以在步骤442检查会话是否超时。如果该方法应用于其他的dhtmlx组件,这些事件可以由用户编辑后关闭数据记录的其他事件所取代。其他dhtmlx组件在用户编辑后关闭数据记录时也会触发事件。
[0076]另一实施例提供了一种用于DHTMLX界面控件库的会话超时方法。每个DHTMLX界面控件库包括多个DHTMLX组件。该方法包括:发送请求到服务器;客户端接收服务器的数据和网页内容;在客户端上建立会话计时器倒计时所述服务器和所述客户端之间建立的会话的剩余时间;创建DHTMLX组件;在DHTMLX组件引起第一预定事件或调用第一动作时监控并重置会话计时器,在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页;以及捕获DHTMLX组件错误。
[0077]本发明的又一实施例提供计算机网络,其包括:网络服务器,与网络服务器连接的数据库服务器,以及通过互联网和网络安全设备被连接到网络服务器的客户端计算机。客户端计算机用于发送请求到网络服务器,从网络服务器接收数据和网页内容,设置会话计时器倒计时网络服务器和客户端计算机之间建立的会话的剩余时间,创建DHTMLX组件,在该DHTMLX组件引起第一预定事件或调用第一动作时监控并重置会话计时器,在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页,并捕获DHTMLX组件错误。该DHTMLX组件是表格,数据处理器,日程表组件或错误处理组件。
[0078]本发明的又一实施例提供一种用于监控界面控件库会话超时的系统。每个界面控件库包括多个界面控制组。该系统包括:用于发送请求到服务器的装置,用于用客户端从该服务器接收数据和网页内容的装置,用于设置会话计时器倒计时所述服务器和所述客户端之间建立的会话的剩余时间的装置,用于创建界面控制组件的装置,用于在所述界面控制组件引起第一预定事件或调用第一动作时监控并重置所述会话计时器的装置;在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页的装置;以及用于捕获界面控制组件错误的装置。界面控制组件用于当该界面控制组件请求、接收、加载、呈现、搜索、过滤、隐藏、显示、排序、增力卩、更新、删除、打开、编辑、剪切、复制、粘贴或关闭数据记录时触发预定事件。
[0079]在上述实施例中,会话超时方法利用由DHTMLX组件所产生的事件。该方法在客户端的网页上设置了计时器来监控会话时间。在程序代码中,事件(event)是由另一程序范围触发的程序代码范围。在事件中,可以采取行动以更新或监控会话计时器,提示信息给用户,注销该用户,并把用户重定向到登录网页。如果DHTMLX产品需要与服务器进行通信,该方法适用于所有DHTMLX产品,因为DHTMLX组件与服务器通信时也会产生事件。
[0080]该会话超时方法是专为界面组件库dhtmlxSuite, dhtmlxScheduler以及其他DHTMLX产品以及由第三方为各种软件出品的单个控件和控件库而设计的。该界面组件被用来为用户与服务器进行通信而构建软件界面。通过该方法,用户可以在编辑数据并发送请求到服务器之前意识到会话已经超时。用户可以避免在会话超时后花费时间编辑数据。因此,该方法可以防止用户在会话超时后继续浪费时间来修改数据。该方法还使服务器免于过度繁忙和更加安全,因为会话超时后,它避免了服务器响应将被忽略和抛弃的请求。
[0081]相关申请的交叉引用
本申请要求专利申请号为61/825536、申请日为2013年5月21日的美国临时专利申请的权益,其全部内容并入本申请作为参考。
[0082]虽然本专利申请结合附图详细描述多个实施方式,但应指出的是,在不脱离本发明的精神和保护范围内,各种可能的其它改变或修改都应包含在本发明内。
【权利要求】
1.一种用于DHTMLX界面控件库的会话超时方法,每个DHTMLX界面控件库包括多个DHTMLX组件,该方法包括: 发送请求到服务器; 客户端接收所述服务器的数据和网页内容; 在所述客户端上建立会话计时器倒计时所述服务器和所述客户端之间建立的会话的剩余时间; 创建DHTMLX组件; 在所述DHTMLX组件引起第一预定事件或调用第一动作时监控并重置所述会话计时器; 在发生第二预定事件或调用第二动作时提示信息并重定向用户到登录网页;以及 捕获DHTMLX组件错误。
2.如权利要求1所述的方法,其特征在于,该DHTMLX组件是表格,该表格为dhtmlxGrid 或 dhtmlxTreeGrid。
3.如权利要求2所述的方法,其特征在于,当数据从消息加载到所述客户端时,所述第一预定事件是表格事件onXLE。
4.如权利要求2所述的方法,其特征在于,当用户打开所述表格的单元格编辑数据时,所述第一预定事件是表格事件onEditCell。
5.如权利要求4所述的方法,其特征在于,还包括检查会话是否超时;如果会话超时,则提示会话超时信息,并在用户接收信息后把用户重定向到登录网页;如果会话未超时,则在该事件发生时重置所述会话计时器。
6.如权利要求1所述的方法,其特征在于,该DHTMLX组件是数据处理器,该数据处理器为 DHTMLX DataProcessor。
7.如权利要求6所述的方法,其特征在于,在所有数据保存后,所述第一预定事件是DataProcessor 事件 onFulISync0
8.如权利要求6所述的方法,其特征在于,所述第二预定事件是DataProcessor事件onBeforeDataSending ;所述方法还包括检查所述会话是否超时;如果所述会话超时,贝丨J提示会话超时信息,并在用户接收信息后把用户重定向到登录网页;如果所述会话未超时,则等待修改数据结果的服务器响应。
9.如权利要求6所述的方法,其特征在于,如果从服务器接收到的消息是验证错误信息,则该被调用的第一动作是DataProcessor动作;所述动作会提示验证错误信息;用户接收所述验证错误信息后,如果会话超时,系统会提示会话超时信息,用户被重定向到登录网页;如果会话未超时,则该会话计时器会被重置。
10.如权利要求1所述的方法,其特征在于,所述DHTMLX组件是错误处理组件,所述错误处理组件为dhtmlxError。
11.如权利要求10所述的方法,其特征在于,当DHTMLX组件加载数据失败,所述数据包含错误或没有从该服务器接收到消息时,所述第二预定事件是错误事件1adXML ;所述方法还包括注销用户,提示错误信息,以及在用户接收所述错误信息后把用户重定向到登录网页。
12.如权利要求1所述的方法,其特征在于,所述方法还包括用所述服务器上的数据组生成多个格式化的字符串,将所有所述格式化的字符串嵌入到网页,并一次过将所述网页发送到所述客户端以便DHTMLX组件加载数据;其中当所述数据从消息中加载到所述客户端时所述第一预定事件是表格事件onXLE。
13.如权利要求12所述的方法,其特征在于,该DHTMLX组件包括用于存储数据组的名称的系统性安排、用于存储DHTMLX窗口的系统性安排、用于存储DHTMLX表格的系统性安排和用于存储DHTMLX数据处理器的系统性安排。
14.如权利要求13所述的方法,其特征在于,该方法还包括启动线程并展开以下一系列的行动:把数据组名称放入系统性安排,创建DHTMLX窗口和DHTMLX菜单;将所述菜单附加到窗口 ;把窗口放入系统性安排;创建DHTMLX表格;把所述表格附加到窗口 ;加载数据组的格式化字符串到所述表格;引起表格事件onXLE以在所述事件发生时重置所述会话计时器;把所述表格放入系统性安排;创建DHTMLX数据处理器;用数据处理器初始化表格;以及把该数据处理器放入系统性安排。
15.如权利要求1所述的方法,其特征在于,该DHTMLX组件是日程表组件,所述日程表组件为 dhtmlxScheduler。
16.如权利要求15所述的方法,其特征在于,当数据从信息加载到所述客户端时,所述第一预定事件是日程表组件事件onXLE,或者当用户编辑、打开、剪切、复制或者粘贴日程表组件任务时,所述第一预定事件分别是日程表组件事件onEventChanged、onLightbox、onEventCut、onEventCopied或onEventPasted ;所述方法还包括检查会话是否超时;如果会话超时,则提示会话超时信息,并在用户接收信息后把用户重定向到登录网页,如果会话未超时,则在所述事件发生时重置所述会话计时器。
17.一种计算机网络,其包括: 网络服务器, 与所述网络服务器连接的数据库服务器,以及 通过互联网和网络安全设备被连接到所述网络服务器的客户端计算机, 其特征在于,所述客户端计算机用于发送请求到所述网络服务器,从所述网络服务器接收数据和网页内容,设置会话计时器倒计时所述网络服务器和所述客户端计算机之间建立的会话的剩余时间,创建DHTMLX组件,在所述DHTMLX组件引起第一预定事件或调用第一动作时监控并重置所述会话计时器,在发生第二预定事件或动作时提示信息并将用户重定向到登录网页,并捕获DHTMLX组件错误J^^iDHTMLX组件是表格、数据处理器、日程表组件或错误处理组件。
18.如权利要求17所述的计算机网络,其特征在于,所述DHTMLX组件是表格,所述表格为dhtmlxGrid或dhtmlxTreeGrid,并且当数据从消息加载到所述客户端计算机时所述第一预定事件是表格事件onXLE,或者当用户打开表格的单位编辑数据时,所述第一预定事件是表格事件onEditCell ;或者所述DHTMLX组件是日程表组件,所述日程表组件为dhtmlxScheduler,并且当所述数据从信息加载到所述客户端计算机时,所述第一预定事件是日程表组件事件onXLE,或者当用户编辑、打开、剪切、复制或者粘贴日程表组件任务时,所述第一预定事件分别是日程表组件事件onEventChanged、onLightbox、onEventCut、onEventCopied 或 onEventPasted。
19.如权利要求17所述的计算机网络,其特征在于,该DHTMLX组件是数据处理器,所述数据处理器是dhtmlx DataProcessor ;所述第一预定事件是DataProcessor事件onFulISync ;所述第二预定事件是 DataProcessor 事件 onBeforeDataSending,所述第一动作是DataProcessor动作;或者所述DHTMLX组件是错误处理组件,所述错误处理组件是dhtmlxError,并且所述第二预定事件是错误事件loadXML。
20.一种用于监控界面控件库会话超时的系统,每个界面控件库包括多个界面控制组件,该系统包括: 用于发送请求到服务器的装置; 用于用客户端从该服务器接收数据和网页内容的装置; 用于设置会话计时器倒计时所述服务器和所述客户端之间建立的会话的剩余时间的装置; 用于创建界面控制组件的装置; 用于当所述界面控制组件引起第一预定事件发生或调用第一动作时监控并重置所述会话计时器的装置; 用于在发生第二预定事件或动作时提示信息并在将用户重定向到登录网页的装置;以及 用于捕获界面控制组件错误的装置, 其特征在于,所述界面控制组件用于当所述界面控制组件请求、接收、加载、呈现、搜索、过滤、隐藏、显示、排序、增力卩、更新、删除、打开、编辑、剪切、复制、粘贴或关闭数据记录时触发所述预定事件。
【文档编号】H04L29/08GK104184792SQ201410215062
【公开日】2014年12月3日 申请日期:2014年5月21日 优先权日:2013年5月21日
【发明者】陈梓枫 申请人:陈梓枫
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1