首页 / 基于多维实时搜索与智能高亮群组管理方法及装置

基于多维实时搜索与智能高亮群组管理方法及装置公开 发明

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种基于多维实时搜索与智能高亮群组管理方法、装置及电子设备。

相关背景技术

[0002] 在当今数字化信息爆炸的时代,各类应用程序和系统中用户管理和操作群组的需求日益增长。无论是企业内部的协同办公系统,还是社交网络平台、在线教育应用等,用户都需要能够高效地查找、管理和切换不同的群组,以满足其多样化的工作和社交需求。
[0003] 传统的群组数据获取方式往往效率低下且缺乏灵活性。在许多系统中,当用户访问系统以获取相关群组数据时,常常面临较长的等待时间。这是因为系统需要从庞大的数据库中检索出与用户相关的群组信息,而检索过程可能涉及复杂的查询语句和多表关联操作,导致响应时间较长,影响用户体验。
[0004] 此外,获取到的群组数据通常缺乏有效的组织和排序,用户难以快速定位到自己需要的群组。用户往往需要手动浏览大量无序的群组列表,耗费大量时间和精力,尤其在用户所属群组数量较多的情况下,这种问题更加突出。
[0005] 在群组搜索功能方面,现有的搜索方法大多简单直接,缺乏智能化和高效性。当用户输入关键词进行搜索时,很多系统没有考虑到用户输入的频率和实时性需求,频繁的搜索请求可能导致系统性能下降,甚至出现卡顿现象。
[0006] 同时,现有的搜索逻辑通常只支持简单的字符串匹配,无法根据用户的实际需求进行灵活调整。例如,对于模糊搜索、语义搜索等高级搜索需求,传统的搜索方法难以满足。这使得用户在搜索群组时,可能因为输入的关键词不够准确而无法找到所需的群组,降低了搜索的命中率和用户满意度。
[0007] 对于搜索结果的展示,传统的高亮显示功能也存在诸多不足。目前的高亮显示方式往往只是简单地对匹配到的关键词进行标记,缺乏对用户视觉体验和信息呈现效果的优化。这可能导致高亮部分在整个群组名称或描述中显得突兀,不便于用户快速识别和区分不同的搜索结果。
[0008] 而且,现有的高亮显示功能通常不支持动态调整和个性化设置,无法根据用户的偏好和搜索场景进行定制。例如,用户可能希望根据不同的关键词或搜索条件,以不同的颜色或样式来高亮显示搜索结果,而传统的高亮显示功能无法满足这些个性化需求。
[0009] 在群组切换和权限管理方面,传统的方法存在一定的安全隐患和管理不便。当用户进行群组切换时,很多系统没有对用户的权限进行严格的验证和控制,可能导致非法用户访问敏感群组信息,给系统和用户带来安全风险。
[0010] 同时,现有的权限管理机制往往过于复杂,管理员需要花费大量的时间和精力来配置和维护用户的权限。而且,权限的分配和调整不够灵活,无法根据用户的角色、部门或业务需求进行动态管理,降低了系统的适应性和可扩展性。
[0011] 在会话管理和状态保持方面,传统的方法也存在一些问题。现有的会话管理机制通常依赖于简单的令牌验证方式,一旦令牌泄露或过期,用户可能会被迫重新登录,中断当前的操作流程,给用户带来极大的不便。
[0012] 此外,对于用户的登录状态和操作记录的保存和恢复,传统的方法缺乏有效的策略和机制。当用户在不同设备或浏览器上登录时,可能无法自动恢复之前的操作状态和搜索记录,用户需要重新进行设置和操作,降低了用户的使用体验和工作效率。
[0013] 上述问题成为需要解决的技术问题。

具体实施方式

[0089] 下面结合附图对本发明实施例进行详细描述。
[0090] 以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0091] 需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0092] 还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0093] 另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
[0094] 本公开实施例提供一种基于多维实时搜索与智能高亮群组管理方法。本实施例提供的基于多维实时搜索与智能高亮群组管理方法可以由一计算装置来执行,该计算装置可以实现为软件,或者实现为软件和硬件的组合,该计算装置可以集成设置在服务器、终端设备等中。
[0095] 参见图1及图2,本公开实施例提供了一种基于多维实时搜索与智能高亮群组管理方法,包括:
[0096] S101,当客户端用户U访问客户端系统时,通过前端框架向后端发起请求以获取与该用户U相关的群组数据集合Dit,使用排序函数依据按照群组名称Gnm对Dit进行排序,得到有序集合Dst。
[0097] 当客户端用户U通过打开特定的应用程序或在浏览器中输入相应网址访问客户端系统时,客户端系统首先进行初始化加载。前端框架完成初始化配置,包括加载各种必要的脚本文件、样式文件以及设置事件监听器等操作。
[0098] 前端框架内建的事件监听机制检测到用户U的访问行为。此时,框架根据预先设定的请求逻辑,构建一个用于获取用户相关群组数据的请求。请求中包含关键信息,即用户U的唯一标识uid。这个标识是在用户注册或登录过程中生成并存储在客户端的,用于在系统中唯一识别用户身份。
[0099] 前端框架利用网络通信模块(例如基于HTTP协议的通信机制),将构建好的请求发送至后端服务器。请求的目标地址是后端服务器专门为处理获取用户群组数据请求而设置的接口。在发送请求时,前端框架还会在请求头中添加必要的信息,如请求的数据格式(通常为JSON格式,以便于数据的传输和解析)、用户的认证信息(若系统需要用户认证,可能是用户的登录令牌等),以确保后端服务器能够正确理解和处理该请求。
[0100] 后端服务器接收到前端框架发送的请求后,首先对请求进行验证。验证过程包括检查请求头中的认证信息是否有效,以确保请求来自合法用户;同时检查请求的数据格式是否符合预期,若不符合则返回相应的错误提示。
[0101] 经过验证通过后,后端服务器的数据库访问模块开始工作。它根据请求中携带的用户标识uid,在存储用户与群组关系的数据库表中执行查询操作。假设数据库中有一个名为“user_groups”的表,该表包含字段“user_id”(关联用户标识)和“group_info”(包含群组的详细信息,其中包括群组名称Gnm)。执行的SQL查询语句大致如下:“SELECTgroup_infoFROMuser_groupsWHEREuser_id=uid”。通过这个查询,从数据库中检索出所有与用户U相关的群组信息记录,这些记录构成了群组数据集合Dit。
[0102] 后端服务器将查询得到的群组数据集合Dit进行整理和格式化,使其符合前端框架能够接收和处理的格式,然后将其返回给前端框架。
[0103] 前端框架接收到后端服务器返回的群组数据集合Dit后,调用预先定义好的排序函数。这个排序函数的设计逻辑是根据群组名称Gnm对集合中的群组数据进行排序。
[0104] 排序函数首先遍历集合Dit中的每个群组数据对象,提取出每个对象的群组名称Gnm。在提取过程中,为了确保排序的准确性和一致性,可能会对群组名称进行一些预处理操作,例如将所有字符转换为小写字母,以避免因大小写差异导致的排序不准确问题。
[0105] 然后,排序函数使用特定的排序算法(如冒泡排序、插入排序或更高效的快速排序等)对提取出的群组名称进行排序。排序算法会根据字符的字典序对群组名称进行比较和交换,最终使群组名称按照从小到大的顺序排列。
[0106] 按照排序后的群组名称顺序,重新整理群组数据集合Dit中的对象顺序,得到一个新的有序集合Dst。这个有序集合Dst方便用户后续查找和浏览群组信息。
[0107] S102,当用户在搜索框输入关键词k时,基于所述关键词k的特征值,确定对所述关键词k进行数据筛选的筛选函数Fs所需要的延迟参数t0,基于所述延迟参数t0和有序集合Dst,确定所述关键词k所对应的筛选集合Dft=Fs(k,t0,Dst)。
[0108] 当用户在客户端系统的搜索框中输入关键词k时,前端框架的输入检测模块立即捕获到这个输入事件。该模块将输入的关键词k传递给特征值分析模块进行处理。
[0109] 特征值分析模块对关键词k进行详细的特征提取。它会计算关键词的长度,统计关键词中不同字符类型(如字母、数字、特殊字符)的数量和比例,还会查询系统中保存的历史搜索记录,以获取该关键词在历史搜索中的出现频率等信息。
[0110] 将提取到的这些特征值整理成一个特征值对象,例如包含关键词长度、字符类型比例、历史搜索频率等属性的对象。这个特征值对象将作为后续确定延迟参数的重要依据。
[0111] 系统中预先建立了一个特征值延迟参数映射表。这个映射表是通过对大量用户搜索行为数据进行分析和实验得出的,它记录了不同特征值组合所对应的推荐延迟参数t0。
[0112] 特征值分析模块将提取到的关键词k的特征值对象与映射表中的记录进行匹配。如果能够找到完全匹配的特征值组合,则直接从映射表中获取对应的延迟参数t0。
[0113] 若无法找到完全匹配的记录,系统会采用插值算法来估算合适的延迟参数。插值算法会根据临近的特征值组合及其对应的延迟参数,通过线性或非线性的计算方法,估算出与当前关键词k特征值相匹配的延迟参数t0。
[0114] 根据确定的延迟参数t0和有序集合Dst,系统定义筛选函数Fs。筛选函数Fs的主要功能是根据关键词k从有序集合Dst中筛选出符合条件的群组数据。
[0115] 为了避免用户频繁输入关键词导致系统资源浪费和性能下降,筛选函数Fs结合了防抖机制。防抖机制会在用户停止输入后的t0毫秒后才触发实际的筛选操作。在这t0毫秒内,如果用户继续输入新的关键词,防抖机制会重置延迟时间,重新开始计时。
[0116] 当防抖机制触发筛选操作时,筛选函数Fs遍历有序集合Dst中的每个群组数据对象。对于每个对象,提取其群组名称Gnm,并将其与关键词k进行匹配。匹配过程可以采用多种方式,例如字符串的包含匹配(检查群组名称中是否包含关键词),并且可以根据实际需求设置匹配规则,如是否忽略大小写等。
[0117] 经过对有序集合Dst中所有群组数据对象的匹配操作后,将符合匹配条件的群组数据对象提取出来,组成一个新的集合,即筛选集合Dft。
[0118] S103,在筛选集合Dft中查找群组名称Gnm中与关键词k匹配的群组g,然后将群组g用标签包裹,得到高亮显示后的高亮集合Dht,将高亮集合Dht设置为用户进行群组切换操作的唯一候选列表。
[0119] 系统开始遍历筛选集合Dft中的每个群组数据对象。对于每个群组,从对象中提取出群组名称Gnm。
[0120] 使用字符串查找算法(如简单的字符串遍历查找或更高效的字符串匹配算法)在群组名称Gnm中查找与关键词k匹配的部分。例如,若关键词k为“example”,群组名称为“Thisisanexamplegroup”,则能找到匹配部分“example”。
[0121] 一旦找到匹配部分,系统会在该匹配部分的前后插入``标签。这是通过字符串操作实现的,例如将群组名称字符串按照匹配部分的位置进行分割,然后在分割处插入``标签,再将分割后的字符串重新组合起来。这样,匹配部分就会被``标签包裹,在前端页面显示时会以特定的样式(如高亮颜色)突出显示。
[0122] 对筛选集合Dft中的所有群组数据对象都进行上述高亮显示处理后,得到一个新的集合,即高亮集合Dht。在这个集合中,所有群组名称中的匹配关键词都被高亮显示,方便用户快速识别和区分。
[0123] 系统将高亮集合Dht设置为用户进行群组切换操作的唯一候选列表。在前端界面的设计中,将高亮集合Dht以列表的形式呈现给用户。列表中的每个元素对应一个高亮显示的群组,用户可以通过鼠标点击或其他交互方式在这个列表中选择目标群组进行切换操作。
[0124] S104,获取用户U进行群组切换操作时,在高亮集合Dht的群组列表中确定目标群组gtt以及所述目标群组gtt的群组标识gti,基于所述群组标识gti、用户U的标识uid以及请求函数Fq,将生成请求对象R=Fq(git,uid),所述请求对象被发送给目标服务器后,接收所述目标服务器返回的第一令牌集合TL,并将所述第一令牌集合TL存储到本地Cookies中。
[0125] 用户在高亮集合Dht的群组列表中通过鼠标点击或其他操作方式选择目标群组gtt。前端框架的事件捕获机制立即检测到用户的选择操作,并获取目标群组gtt的唯一标识gti和用户U的标识uid。
[0126] 系统定义了请求函数Fq,该函数负责根据获取到的群组标识gti和用户标识uid生成一个用于群组切换的请求对象R。
[0127] 请求函数Fq首先根据系统的通信协议和接口要求,确定请求的基本信息。例如,请求方法可能是POST(用于向服务器提交数据),请求的目标地址是目标服务器上专门处理群组切换请求的接口地址。
[0128] 然后,请求函数Fq将群组标识gti和用户标识uid作为请求参数添加到请求对象中。同时,根据系统的安全和认证要求,在请求头中添加必要的信息,如用户的认证令牌(用于验证用户身份)、请求的数据格式声明等。
[0129] 经过一系列的参数设置和信息填充,请求函数Fq生成一个完整的请求对象R,该对象包含了进行群组切换请求所需的所有必要信息。
[0130] 前端框架利用网络通信模块将生成的请求对象R发送给目标服务器。在发送过程中,确保请求数据的完整性和准确性,遵循网络通信的协议和规范。
[0131] 目标服务器接收到请求后,对请求进行全面的处理和验证。服务器首先检查请求头中的认证信息,验证用户的身份是否合法,以及用户是否具有切换到目标群组的权限。
[0132] 如果请求验证通过,目标服务器根据系统的逻辑和配置,生成一个新的第一令牌集合TL。这个令牌集合TL通常包含访问令牌(用于在一定时间内访问系统资源)和刷新令牌(用于在访问令牌过期时获取新的访问令牌)等重要信息。
[0133] 目标服务器将生成的第一令牌集合TL通过网络返回给前端框架。前端框架接收到目标服务器返回的第一令牌集合TL后,将其存储到本地Cookies中。本地Cookies是客户端浏览器提供的一种存储机制,用于在本地存储少量的数据。
[0134] 前端框架通过操作浏览器的CookiesAPI,将第一令牌集合TL以特定的格式存储在本地Cookies中。在存储过程中,可能会对令牌集合进行一些编码或加密处理,以提高数据的安全性。同时,设置Cookies的相关属性,如过期时间、路径等,确保只有在符合条件的情况下,系统才能读取和使用该令牌。
[0135] 作为一种可选的实施方式,在步骤S104中的请求对象被发送给目标服务器之前,还可以包括如下步骤S1041‑1045:
[0136] S1041,获取客户端用户登录目标服务器所需要的初始凭据集合Cf以及元数据集合Mf,通过第一验证函数完成所述初始凭据集合Cf的检验之后,基于所述初始凭据集合Cf和所述元数据集合Mf,生成第一安全评估值Rf。
[0137] 在系统运行过程中,为了确保客户端用户能够安全地登录目标服务器,首先需要获取客户端用户登录目标服务器所需要的初始凭据集合Cf以及元数据集合Mf。初始凭据集合Cf包含了用户登录所需的关键信息,如用户名、密码摘要、数字证书等,这些信息是验证用户身份的基础。元数据集合Mf则包含了与用户、设备以及登录环境相关的辅助信息,例如设备型号、操作系统版本、登录地点的IP地址等。
[0138] 获取到初始凭据集合Cf后,通过第一验证函数完成对所述初始凭据集合Cf的检验。第一验证函数会依据预设的验证规则和算法,对初始凭据集合Cf中的各项信息进行逐一验证,检查其完整性、准确性以及合法性。例如,验证用户名是否存在于系统用户列表中,密码摘要是否与存储的加密密码匹配,数字证书是否有效且未被吊销等。
[0139] 在完成初始凭据集合Cf的检验之后,基于所述初始凭据集合Cf和所述元数据集合Mf,生成第一安全评估值Rf。生成第一安全评估值Rf的过程涉及到复杂的算法和模型,会综合考虑初始凭据的可信度、元数据所反映的登录环境的安全性等多个因素。例如,如果用户使用的是常用设备且登录地点与历史记录相符,同时初始凭据验证完全通过,那么第一安全评估值Rf可能会相对较高;反之,如果是从陌生设备或异常地点登录,即使初始凭据验证通过,也可能会因为这些风险因素导致第一安全评估值Rf降低。
[0140] S1042,当所述第一安全评估值Rf大于预设值R0后,基于所述元数据集合Mf生成加密密钥KM,基于所述加密密钥KM,建立所述客户端与所述目标服务器之间的安全传输协议TA,所述安全传输协议TA中设置有加密函数FY和内容封装仓CT,所述加密函数FY用于对所述内容封装仓中的信息进行加密操作。
[0141] 当所述第一安全评估值Rf大于预设值R0后,说明当前登录的安全性达到了系统要求的标准。此时,基于所述元数据集合Mf生成加密密钥KM。生成加密密钥KM的算法会充分利用元数据集合Mf中的信息,如设备的唯一标识、用户的特定特征等,以确保生成的加密密钥具有足够的随机性和安全性。
[0142] 基于所述加密密钥KM,建立所述客户端与所述目标服务器之间的安全传输协议TA。安全传输协议TA是保障客户端与目标服务器之间数据传输安全的重要机制,它规定了数据传输的格式、加密方式以及通信双方的交互流程等。在所述安全传输协议TA中设置有加密函数FY和内容封装仓CT,所述加密函数FY用于对所述内容封装仓中的信息进行加密操作。加密函数FY采用先进的加密算法,如AES(高级加密标准)、RSA等,对需要传输的数据进行加密处理,将明文转换为密文,从而防止数据在传输过程中被窃取或篡改。内容封装仓CT则用于对要传输的信息进行封装,将加密后的数据以及相关的控制信息、元数据等整合在一起,以确保数据能够准确、完整地传输到目标接收方。
[0143] S1043,获取包含n个验证通道的第一通道集合V={V1,V2,…Vn},基于第一安全评估值Rf,从所述第一通道集合V中选取m个验证通道,形成第二通道集合V’={V’1,V’2,…V’m},基于所述安全传输协议TA,在第二通道集合V’中设置m个包含加密函数FY和内容封装仓CT的安全传输层,将验证信息Mc通过所述加密函数FY加密后,通过所述内容封装仓CT发送给客户端的用户。
[0144] 获取包含n个验证通道的第一通道集合V={V1,V2,…Vn},这些验证通道是系统为了进一步验证用户身份和确保通信安全而设置的不同途径。每个验证通道可能具有不同的特点和用途,例如有的通道可能侧重于验证用户的生物特征信息,有的通道可能用于验证用户的动态口令等。
[0145] 基于第一安全评估值Rf,从所述第一通道集合V中选取m个验证通道,形成第二通道集合V’={V’1,V’2,…V’m}。选取的过程会根据第一安全评估值Rf的大小以及各个验证通道的风险等级、适用场景等因素进行综合考虑。一般来说,第一安全评估值Rf越高,选取的验证通道可能相对较少且验证强度相对较低;反之,第一安全评估值Rf越低,选取的验证通道可能会更多且验证强度更高。
[0146] 基于所述安全传输协议TA,在第二通道集合V’中设置m个包含加密函数FY和内容封装仓CT的安全传输层。这样,每个选取的验证通道都具备了安全传输数据的能力,能够对通过该通道传输的信息进行加密和封装处理。将验证信息Mc通过所述加密函数FY加密后,通过所述内容封装仓CT发送给客户端的用户。验证信息Mc包含了系统为了进一步验证用户身份而需要用户提供的相关信息,例如一次性验证码、特定问题的答案等。通过安全传输层的加密和封装处理,验证信息Mc在传输过程中得到了有效的保护,确保其安全性和完整性。
[0147] S1044,通过第二通道集合V’获取用户针对所述验证信息Mc返回的反馈信息Mk,基于所述反馈信息Mk形成用户行为参数集合B={b1,b2,…bp},通过计算用户行为参数集合B和标准行为参数集合L={L1,L2,…Lp}之间的相似度值Sm,判断用户的用户行为是否存在异常。
[0148] 通过第二通道集合V’获取用户针对所述验证信息Mc返回的反馈信息Mk。用户在接收到验证信息Mc后,根据要求提供相应的反馈信息Mk,例如输入一次性验证码、回答特定问题等。
[0149] 基于所述反馈信息Mk形成用户行为参数集合B={b1,b2,…bp}。用户行为参数集合B包含了一系列能够反映用户行为特征的参数,例如用户输入反馈信息的时间、输入的速度、输入的准确性等。这些参数可以从不同角度反映用户的行为习惯和操作模式。
[0150] 通过计算用户行为参数集合B和标准行为参数集合L={L1,L2,…Lp}之间的相似度值Sm,判断用户的用户行为是否存在异常。标准行为参数集合L是基于大量正常用户行为数据统计分析得出的,代表了正常用户行为的典型特征和模式。
[0151] 可以定义行为模式相似度函数Sm(B,L)为:
[0152]
[0153] γ、σ为修正参数;
[0154] 设定一个相似度阈值θ,当Sm(B,N)<θ时,判定为用户行为异常。
[0155] 反之,如果相似度值Sm高于预设的阈值,则说明用户的行为基本符合正常行为模式,不存在明显异常。
[0156] S1045,当判断用户的用户行为不存在异常时,通过加密协议建立客户端用户与目标服务器之间的会话SH,实时记录用户在会话期间的会话记录Ah,基于所述会话记录Ah判断当前会话SH是否存在异常,当判断出所述会话SH出现异常时,断开客户端用户与目标服务器之间的会话。
[0157] 当判断用户的用户行为不存在异常时,通过加密协议建立客户端用户与目标服务器之间的会话SH。加密协议采用先进的加密技术,如SSL(安全套接层协议)或TLS(传输层安全协议),对会话过程中的数据进行加密保护,确保通信的保密性、完整性和认证性。
[0158] 在建立会话SH后,实时记录用户在会话期间的会话记录Ah。会话记录Ah包含了用户在会话过程中的各种操作信息,如用户的登录时间、访问的资源、执行的操作等。这些信息对于监控用户行为和检测会话异常至关重要。
[0159] 基于所述会话记录Ah判断当前会话SH是否存在异常。判断过程会依据预设的异常检测规则和算法,对会话记录Ah中的各项信息进行分析和评估。例如,如果检测到用户在短时间内频繁进行高风险操作,或者访问了未经授权的资源,或者出现了异常的登录行为等,都可能被判定为会话异常。
[0160] 具体的,所述基于所述会话记录Ah判断当前会话SH是否存在异常,包括:
[0161] 基于会话记录Ah解析用户的操作序列 ,q是操作的数量;
[0162] 将操作序列A与正常操作模式集合 进行比较,得到匹配度值QD:
[0163]
[0164] 和 分别是正常操作模式中第j个操作的最大值和最小值;
[0165] 设定操作模式匹配度阈值β,当QD(A,E)≥β时,认为用户操作符合正常行为模式,当前会话SH不存在异常。
[0166] 当判断出所述会话SH出现异常时,为了保障系统的安全和数据的完整性,及时断开客户端用户与目标服务器之间的会话。断开会话的操作可以迅速终止异常行为的继续进行,防止可能的安全威胁进一步扩散,保护系统和用户的利益。
[0167] S105,对存储到本地Cookies中的第一令牌集合TL进行编码操作,得到第二令牌集合TBE,为所述第二令牌集合TBE设置有效时长t1,当用户U在所述有效时长t1内再次登录客户端系统时,显示U用户U上一次在所述客户端系统输入的关键词k所对应的高亮目标群组gtt。
[0168] 系统从本地Cookies中读取之前存储的第一令牌集合TL。通过解析浏览器的Cookies数据,提取出存储的第一令牌集合TL的值。由于Cookies中存储的数据可能是经过编码或格式化的,需要进行相应的解码和解析操作,将其转换为系统能够处理的对象形式。
[0169] 为了进一步提高令牌的安全性和存储效率,系统对第一令牌集合TL进行编码操作。采用Base64编码算法,将第一令牌集合TL转换为Base64编码的字符串形式,得到第二令牌集合TBE。Base64编码可以将二进制数据转换为可打印的ASCII字符,方便在网络传输和本地存储中处理。
[0170] 在编码过程中,确保编码的准确性和完整性,避免因编码错误导致令牌信息丢失或损坏。
[0171] 将编码后的第二令牌集合TBE再次存储到本地Cookies中。在存储时,设置该Cookies的有效期为t1。有效期的设置是为了确保用户在一定时间内可以使用该令牌进行相关操作,超过有效期后,令牌将失效,用户需要重新进行认证或获取新的令牌。
[0172] 当用户U在有效时长t1内再次登录客户端系统时,前端框架检测到用户的登录行为。它首先从本地Cookies中读取第二令牌集合TBE,并对其进行解码操作,恢复为原始的令牌信息。
[0173] 前端框架根据解码后的令牌信息和系统中保存的用户操作记录,查询并获取用户U上一次在客户端系统输入的关键词k以及对应的高亮目标群组gtt的信息。
[0174] 最后,前端框架在界面上重新显示用户U上一次输入关键词k所对应的高亮目标群组gtt,实现了用户操作状态的保持,为用户提供了连续、便捷的使用体验。
[0175] 根据本发明实施例的一种具体实现方式,所述当客户端用户U访问客户端系统时,通过前端框架向后端发起请求以获取与该用户U相关的群组数据集合Dit,包括:
[0176] 客户端系统初始化完成后,用户U在客户端设备上打开相应的应用程序或网页界面,触发系统的访问检测机制,该机制识别到用户U的访问行为,并将控制权传递给前端框架的事件处理模块;
[0177] 前端框架的事件处理模块接收到访问事件后,检查用户U的登录状态,通过验证本地存储的用户登录凭证,确认用户是否已登录且具备访问权限;
[0178] 在确认用户U具备访问权限后,前端框架根据预先定义的API接口规范,构建包含用户标识Uid的请求对象,该请求对象包含了请求的目标地址、请求方法以及请求头信息;
[0179] 前端框架利用内置的网络通信模块,将构建好的请求对象发送至后端服务器,后端服务器接收到前端框架发送的请求后,对请求进行解析和验证,检查请求的合法性,包括请求头信息是否完整、用户认证信息是否有效,若请求验证通过,根据请求中的用户标识Uid,在数据库中执行查询操作;
[0180] 后端服务器的数据库查询模块根据用户标识Uid,从存储用户与群组关联信息的数据库表中检索出所有与用户U相关的群组数据记录,将这些记录整理成符合前端框架预期的数据格式,形成群组数据集合Dit,并将其返回给前端框架。
[0181] 根据本发明实施例的一种具体实现方式,所述使用排序函数依据按照群组名称Gnm对Dit进行排序,得到有序集合Dst,包括:
[0182] 前端框架接收到后端服务器返回的群组数据集合Dit后,将其传递给数据处理模块;
[0183] 在数据处理模块中定义一个排序函数,该函数接受Dit集合作为输入参数,在排序函数内部,对Dit集合中的每个群组数据对象进行遍历,提取每个群组数据对象中的群组名称Gnm属性值,将其作为排序的依据;
[0184] 在遍历过程中,将提取的群组名称Gnm值存储在一个临时数组中,同时,记录每个群组名称Gnm值对应的群组数据对象在Dit集合中的原始位置,以便在排序后能够恢复完整的群组数据对象;
[0185] 使用选定的归并排序算法对临时数组中的群组名称Gnm值进行排序,在排序过程中,根据字符串的字典序规则进行比较和交换操作,根据排序后的临时数组中群组名称Gnm值的顺序,从Dit集合中按照原始记录的位置提取对应的群组数据对象,组成一个新的有序集合Dst。
[0186] 根据本发明实施例的一种具体实现方式,所述基于所述关键词k的特征值,确定对所述关键词k进行数据筛选的筛选函数Fs所需要的延迟参数t0,包括:
[0187] 当用户在搜索框输入关键词k后,前端框架的输入检测模块立即捕获到输入事件,并将关键词k传递给特征值分析模块;
[0188] 特征值分析模块对关键词k进行特征提取,将提取的关键词k的特征值存储在一个特征值对象中;
[0189] 从预先建立的特征值延迟参数映射数据库中查询与当前关键词k特征值对象匹配的记录,如果在映射数据库中找到完全匹配的特征值组合,则直接获取对应的延迟参数t0,若未找到完全匹配的记录,则采用插值算法对临近的特征值组合进行分析和计算,通过比较特征值的相似度,根据临近记录的延迟参数值进行线性插值,估算出适合当前关键词k的延迟参数t0;
[0190] 将确定好的延迟参数t0传递给筛选函数Fs的配置模块。
[0191] 根据本发明实施例的一种具体实现方式,所述基于所述延迟参数t0和有序集合Dst,确定所述关键词k所对应的筛选集合Dft=Fs(k,t0,Dst),包括:
[0192] 筛选函数Fs的初始化模块接收到延迟参数t0和有序集合Dst后,对自身进行初始化配置,设置筛选的匹配规则、匹配算法以及筛选参数;
[0193] 开启一个定时器,将定时器的延迟时间设置为t0,在定时器触发之前,筛选函数Fs进入等待状态,同时继续监听用户在搜索框的输入变化,若用户在t0时间内修改了关键词k,则重新计算延迟参数t0,并重置定时器;
[0194] 当定时器触发时,筛选函数Fs开始对有序集合Dst进行筛选操作,遍历有序集合Dst中的每一个群组数据对象,对于每个群组数据对象,提取其群组名称Gnm属性值;
[0195] 根据预设的匹配规则和算法,将提取的群组名称Gnm值与关键词k进行匹配操作,使用字符串匹配算法在群组名称Gnm中查找是否存在与关键词k相同的子字符串;
[0196] 若匹配成功,即群组名称Gnm中包含关键词k,则将该群组数据对象添加到一个临时的筛选结果集合中,继续遍历Dst中的下一个群组数据对象;
[0197] 当遍历完有序集合Dst中的所有群组数据对象后,将临时筛选结果集合中的数据对象整理成最终的筛选集合Dft,将筛选集合Dft作为关键词k所对应的符合筛选条件的群组数据集合。
[0198] 根据本发明实施例的一种具体实现方式,所述在筛选集合Dft中查找群组名称Gnm中与关键词k匹配的群组g,然后将群组g用标签包裹,得到高亮显示后的高亮集合Dht,包括:
[0199] 初始化一个空的高亮集合Dht,用于存储经过高亮显示处理后的群组数据对象,同时,设置一个计数器,用于记录当前处理的群组数据对象在筛选集合Dft中的位置;
[0200] 遍历筛选集合Dft中的每一个群组数据对象,对于当前遍历到的群组数据对象,提取其群组名称Gnm属性值;
[0201] 使用字符串查找算法,在群组名称Gnm中查找与关键词k匹配的子字符串,记录匹配子字符串在群组名称Gnm中的起始位置和结束位置;
[0202] 根据匹配子字符串的起始和结束位置,将群组名称Gnm字符串分割为三个部分:匹配子字符串之前的部分、匹配子字符串本身以及匹配子字符串之后的部分;
[0203] 将标签插入到匹配子字符串的前后,形成高亮显示的字符串,将分割后的三个部分重新组合成一个新的高亮显示后的群组名称字符串;
[0204] 将包含高亮显示后群组名称的群组数据对象添加到高亮集合Dht中,更新计数器,继续遍历筛选集合Dft中的下一个群组数据对象,直到处理完筛选集合Dft中的所有对象,最终得到完整的高亮集合Dht。
[0205] 根据本发明实施例的一种具体实现方式,所述基于所述群组标识gti、用户U的标识uid以及请求函数Fq,将生成请求对象R=Fq(git,uid),包括:
[0206] 当用户在高亮集合Dht的群组列表中选择目标群组gtt后,前端框架的事件捕获模块获取到选择事件,并提取目标群组gtt的群组标识gti和用户U的标识uid;
[0207] 将提取的群组标识gti和用户U的标识uid传递给请求函数Fq的参数组装模块,该模块负责将这些参数按照请求函数Fq的要求进行整理和组装;
[0208] 请求函数Fq的参数组装模块首先创建一个基本的请求对象框架R,该框架包含了请求的通用信息,将群组标识gti和用户U的标识uid作为请求参数添加到请求对象R中;
[0209] 为请求对象R添加请求头信息,请求头信息包括用户的身份验证信息和请求的数据格式,对请求对象R进行验证和封装,检查请求对象R的所有参数和信息是否完整、格式是否正确,确认无误后,将请求对象R准备好,等待发送给目标服务器。
[0210] 根据本发明实施例的一种具体实现方式,所述对存储到本地Cookies中的第一令牌集合TL进行编码操作,得到第二令牌集合TBE,包括:
[0211] 利用浏览器提供的API读取本地Cookies中的数据,使用document.cookie属性获取所有的Cookies信息,然后通过字符串解析方法,从中提取出存储有第一令牌集合TL的Cookie数据;
[0212] 对提取的包含第一令牌集合TL的Cookie数据进行解码,按照预先定义的数据格式解析出第一令牌集合TL的内容;
[0213] 选择预设的编码算法对第一令牌集合TL进行编码操作,使用window.btoa()函数将二进制数据转换为可打印的ASCII字符,将经过验证和格式化的编码后数据作为第二令牌集合TBE重新存储到本地Cookies中。
[0214] 与上面的方法实施例相对应,参见图3,本发明实施例还公开了一种基于多维实时搜索与智能高亮群组管理装置30,包括:
[0215] 获取模块301,当客户端用户U访问客户端系统时,通过前端框架向后端发起请求以获取与该用户U相关的群组数据集合Dit,使用排序函数依据按照群组名称Gnm对Dit进行排序,得到有序集合Dst;
[0216] 确定模块302,当用户在搜索框输入关键词k时,基于所述关键词k的特征值,确定对所述关键词k进行数据筛选的筛选函数Fs所需要的延迟参数t0,基于所述延迟参数t0和有序集合Dst,确定所述关键词k所对应的筛选集合Dft=Fs(k,t0,Dst);
[0217] 包裹模块303,在筛选集合Dft中查找群组名称Gnm中与关键词k匹配的群组g,然后将群组g用标签包裹,得到高亮显示后的高亮集合Dht,将高亮集合Dht设置为用户进行群组切换操作的唯一候选列表;
[0218] 生成模块304,获取用户U进行群组切换操作时,在高亮集合Dht的群组列表中确定目标群组gtt以及所述目标群组gtt的群组标识gti,基于所述群组标识gti、用户U的标识uid以及请求函数Fq,将生成请求对象R=Fq(git,uid),所述请求对象被发送给目标服务器后,接收所述目标服务器返回的第一令牌集合TL,并将所述第一令牌集合TL存储到本地Cookies中;
[0219] 显示模块305,对存储到本地Cookies中的第一令牌集合TL进行编码操作,得到第二令牌集合TBE,为所述第二令牌集合TBE设置有效时长t1,当用户U在所述有效时长t1内再次登录客户端系统时,显示U用户U上一次在所述客户端系统输入的关键词k所对应的高亮目标群组gtt。
[0220] 参见图4,本发明实施例还提供了一种电子设备60,该电子设备包括:
[0221] 至少一个处理器;以及,
[0222] 与该至少一个处理器通信连接的存储器;其中,
[0223] 该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述方法实施例中基于多维实时搜索与智能高亮群组管理方法。
[0224] 本发明实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述方法实施例中。
[0225] 本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述方法实施例中的基于多维实时搜索与智能高亮群组管理方法。
[0226] 下面参考图4,其示出了适于用来实现本公开实施例的电子设备60的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0227] 如图4所示,电子设备60可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备60操作所需的各种程序和数据。处理装置601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0228] 通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加响应计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备60与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备60,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0229] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
[0230] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页 第1页 第2页 第3页