基于WebSocket与增量更新的家庭共享日历相框系统及控制方法与流程
本发明属于家庭协同管理及智能终端交互,尤其涉及基于websocket与增量更新的家庭共享日历相框系统及控制方法。
背景技术:
1、目前,智能家居领域的家庭管理类产品与电子相框产品普遍相互独立、功能分散。传统电子相框仅支持本地存储卡或局域网内的照片轮播播放,远程照片推送困难,缺乏与外部网络服务的实时交互能力。家庭日程管理、家务任务分配、家庭成员留言沟通、每周餐食计划制定、家庭物品位置记录等功能分别由不同的移动端应用程序独立提供,各应用之间的数据格式、账号体系和同步机制互不相同,数据无法互通共享。多终端数据同步多采用定时http轮询或全量数据下载方式实现,终端定期向服务器发送查询请求以检测数据变更,或定期下载完整的数据库记录集进行本地覆盖。市场上缺少将家庭日历日程、家务任务与积分奖励、照片相框轮播、家庭留言板、每周餐食计划、家庭物品清单这六类功能进行一体化整合,并与专用日历相框硬件设备深度联动的完整解决方案。
2、然而,上述现有技术存在以下缺陷。第一,多终端同步机制落后。定时轮询方式导致数据同步延迟达到数十秒,且终端频繁发送无效查询请求造成网络带宽和服务器资源的严重浪费;全量更新方式在数据量增长后每次同步需传输数百kb甚至数mb数据,流量消耗大、同步时间长、终端设备续航能力下降。第二,家庭信息展示碎片化。日程、任务、照片、留言、餐食、物品等信息分散在不同应用中,家庭没有一个集中展示全部信息的公共终端,日历相框仅作为照片展示设备,无法融合显示家庭日程、任务、留言、积分奖励等信息,设备利用率低。第三,家务任务管理缺乏闭环激励机制。现有任务管理应用仅提供任务分配和完成标记功能,任务完成与积分奖励脱节,缺乏即时可见的激励反馈,难以有效培养孩子的责任感和良好习惯。第四,日历同步兼容性差。现有家庭日历方案无法与google日历、appleicloud日历、microsoftoutlook日历等主流外部日历平台实现稳定双向同步,用户需在各平台间手动重复录入日程,多端协同不便。
技术实现思路
1、为了克服现有技术的上述缺陷,本发明提供了基于websocket与增量更新的家庭共享日历相框系统及控制方法,解决了现有技术中家庭管理功能分散且同步延迟高,相框利用率低,任务激励缺失,外部日历兼容性差,无法实现多终端实时协同与一体化信息展示的问题。
2、为实现上述目的,本发明提供如下技术方案:
3、基于websocket与增量更新的家庭共享日历相框系统,包括:
4、服务器后端、日历相框设备端和移动手机端;
5、所述日历相框设备端和所述移动手机端分别与所述服务器后端建立websocket长连接,所述服务器后端在身份鉴权通过后将同一家庭账号下的各终端归属至同一家庭级会话组;
6、所述移动手机端和/或所述日历相框设备端响应于数据编辑操作生成变更数据包上传至所述服务器后端,所述变更数据包包含版本号、操作类型、目标数据标识和变更内容;所述版本号由所述服务器后端按单调递增序列分配;
7、所述服务器后端接收所述变更数据包并持久化存储,基于当前最新版本号与所述变更数据包中的版本号之间的差异生成增量更新包,所述增量更新包包含基线版本号、目标版本号和变更记录列表;
8、所述服务器后端通过所述websocket长连接将所述增量更新包推送至所述家庭级会话组内的其他终端;
9、接收终端解析所述增量更新包,按照所述变更记录列表对本地数据执行插入、更新或删除操作,并将所述目标版本号写入本地存储作为更新后的当前版本号;
10、所述日历相框设备端将家庭日历信息、家务任务信息、奖励积分信息、家庭留言信息、餐食计划信息和照片轮播信息分别渲染为独立图层,按照预设的图层叠加顺序将各图层合成为同一显示画面输出。
11、优选的,所述服务器后端还包括家庭账号与权限管理模块,所述家庭账号与权限管理模块包括用户注册单元、家庭组创建单元、身份鉴权单元和权限控制单元;所述用户注册单元配置为接收用户的注册请求,为每个注册用户分配唯一的用户标识并存储于用户表中;所述家庭组创建单元配置为接收第一用户的家庭创建请求生成唯一的家庭标识和家庭邀请码,接收第二用户通过输入所述家庭邀请码发起的加入请求,将所述第二用户的用户标识与所述家庭标识关联生成家庭成员记录,所述家庭成员记录至少包含家庭标识字段、用户标识字段和角色字段,所述角色字段的取值包括家长角色和孩子角色;所述身份鉴权单元配置为接收终端发起的websocket握手请求,验证所述握手请求携带的用户凭证的有效性,验证通过后建立websocket长连接;所述权限控制单元配置为在执行数据操作时根据所述角色字段的取值控制操作权限,所述家长角色允许执行所有操作类型,所述孩子角色仅允许执行新增操作、修改自身创建或被分配至自身的数据以及删除自身创建的数据。
12、优选的,所述服务器后端还包括增量更新与版本控制模块,所述增量更新与版本控制模块包括冲突解决单元;所述冲突解决单元配置为:当在第一时间段内接收到针对同一数据标识的第一变更数据包和第二变更数据包时,比较二者的时间戳,按照时间戳先后顺序依次写入;当针对同一数据标识的同一字段进行修改操作时,以时间戳较晚者的字段值覆盖时间戳较早者的字段值,并将被覆盖的字段值记录于变更历史表中;所述第一时间段为1秒至5秒;所述版本号按家庭级会话组分别分配,同一家庭级会话组内的全部数据变更共享同一版本号递增序列,不同家庭级会话组之间的版本号相互独立;所述版本号存储于版本号计数表中,所述版本号计数表至少包含当前最大版本号字段和最后更新时间戳字段。
13、优选的,所述websocket长连接设置有保活机制,所述保活机制按照预设时间间隔向终端发送ping帧,终端收到所述ping帧后返回pong帧,若所述服务器后端在连续预设次数内未收到所述pong帧,则判定所述websocket长连接断开,会话管理模块将对应终端从所述终端连接列表中移除;所述预设时间间隔为30秒至120秒,所述预设次数为3次至5次;若终端对应的websocket长连接处于断开状态,所述服务器后端将该终端的待推送增量更新包存储于消息队列中,并在该终端重新建立连接后从所述消息队列中读取并推送。
14、优选的,所述数据持久化模块包括关系型数据库和非关系型数据库;所述关系型数据库存储结构化数据表,所述结构化数据表包括用户表、家庭表、家庭成员表、日历事件表、任务表、奖励记录表、留言表、餐食计划表和物品清单表;所述非关系型数据库存储照片文件数据、缩略图数据和设备配置数据;所述增量更新包的变更记录列表中每条变更记录还包含采用sha-256算法计算得到的校验和,所述接收终端接收到所述增量更新包后按照相同算法计算本地校验和并与接收到的校验和比较,若不一致则向所述服务器后端发送重传请求。
15、基于websocket与增量更新的家庭共享日历相框的控制方法,包括以下步骤:
16、s1:日历相框设备端与移动手机端分别与服务器后端建立websocket长连接,完成家庭账号绑定与身份鉴权,所述服务器后端为同一家庭账号下的各终端维护家庭级会话组;
17、s2:所述移动手机端或所述日历相框设备端响应于数据编辑操作,生成包含版本号、操作类型、目标数据标识和变更内容的变更数据包上传至所述服务器后端;所述版本号由所述服务器后端按单调递增序列分配;
18、s3:所述服务器后端接收所述变更数据包并持久化存储,基于当前最新版本号与所述变更数据包中的版本号之间的差异生成增量更新包,所述增量更新包包含基线版本号、目标版本号和变更记录列表;
19、s4:所述服务器后端通过所述websocket长连接将所述增量更新包推送至所述家庭级会话组内的其他终端;
20、s5:接收终端解析所述增量更新包,按照所述变更记录列表对本地数据执行插入、更新或删除操作,将所述目标版本号写入本地存储作为更新后的当前版本号,并刷新界面显示;
21、s6:所述日历相框设备端将家庭日历信息、家务任务信息、奖励积分信息、家庭留言信息、餐食计划信息和照片轮播信息分别渲染为独立图层,按照预设的图层叠加顺序将各图层合成为同一显示画面输出。
22、优选的,所述s3中,所述服务器后端维护版本链,所述版本链以版本号为节点、以时间先后顺序为边构建为单向链表结构;所述版本链支持断点续传:当接收终端在接收增量更新包过程中检测到传输中断时,向所述服务器后端发送包含本地当前版本号和已接收目标版本号的续传请求,所述服务器后端以已接收目标版本号为起始版本号、以本地当前版本号之后的第一个未同步版本号为终止版本号重新生成增量更新包并推送;所述删除操作为逻辑删除,即设置被删除数据条目的记录状态字段的取值为已删除状态,数据条目本身保留于所述数据持久化模块中,所述记录状态字段的取值包括正常状态和已删除状态,数据查询操作中仅读取正常状态的数据条目。
23、优选的,所述s4中,所述增量更新包包含结构化数据的变更记录和/或照片数据块;对于照片数据,所述服务器后端分阶段传输缩略图与原图:所述服务器后端接收移动手机端上传的照片原图,按照第一预设尺寸生成第一缩略图并推送至所述日历相框设备端,所述第一预设尺寸的宽度为200像素至400像素,高度按原图宽高比等比缩放;所述日历相框设备端接收并显示所述第一缩略图后返回确认消息;所述服务器后端收到确认消息后将所述照片原图按照预设分块大小分割为多个数据块依次推送,所述预设分块大小为4kb至64kb;所述日历相框设备端接收到全部数据块后按块序号重组为完整照片原图并存储。
24、优选的,还包括任务奖励闭环控制步骤:家长通过所述移动手机端发布包含任务标题、任务描述、奖励钻石数量和执行者用户标识的家务任务,所述服务器后端将任务记录写入任务表并推送至各终端;孩子通过终端提交包含任务标识和提交者用户标识的任务完成请求,所述服务器后端将任务状态更新为待审核状态并推送;家长审核批准后,所述服务器后端将任务状态更新为已完成状态,根据奖励钻石数量在奖励记录表中生成奖励发放记录并更新家庭成员表中的钻石积分累计字段,家长驳回后将任务状态更新为已驳回状态且不生成奖励发放记录;所述服务器后端将任务状态变更和钻石积分变更以增量更新包形式推送至所述日历相框设备端,所述日历相框设备端更新对应任务卡片的状态指示标识和顶部状态栏的钻石积分总数。
25、优选的,还包括以下步骤中的至少一项:
26、餐食计划与购物清单生成步骤:所述移动手机端响应于餐食规划操作生成包含日期字段、餐次字段和菜品名称字段的每周餐食计划数据包上传至所述服务器后端,所述服务器后端在食材映射表中检索每种菜品对应的食材清单,按食材名称聚合汇总并计算每种食材的总需求量生成购物清单,将每周餐食计划推送至所述日历相框设备端,将购物清单推送至所述移动手机端;
27、外部日历双向同步步骤:所述服务器后端通过外部日历同步适配器按照第三预设时间间隔向外部日历平台发送包含授权令牌和上次同步时间戳的同步请求,所述第三预设时间间隔为1分钟至10分钟,首次同步时所述上次同步时间戳取值为空,自当前时刻起向前回溯30天获取日程数据;所述外部日历同步适配器解析返回的日程数据并写入日历事件表,以增量更新包形式推送至各终端;本地创建或修改日程事件后,所述服务器后端将日程事件转换为外部日历平台所支持的格式并同步至该平台;所述外部日历平台包括google日历、appleicloud日历和microsoftoutlook日历中的至少一种;
28、家庭物品清单管理步骤:所述移动手机端响应于物品录入操作生成包含物品名称、物品位置和物品照片的物品数据包上传至所述服务器后端,所述服务器后端将物品记录写入物品清单表并以增量更新包形式推送至同一家庭级会话组内的全部其他终端;各终端接收后存储于本地数据缓存,并在物品清单界面中以列表或网格视图展示;所述移动手机端响应于检索操作,在本地数据缓存中按照物品名称和/或物品位置进行字符串匹配检索并展示匹配结果。
29、本发明基于websocket与增量更新的家庭共享日历相框系统及控制方法的技术效果和优点:
30、1、该发明采用基于版本号的增量更新机制,终端仅上传变更字段、新增条目、删除标识及版本差量,不传输全量数据;服务器端基于版本号差异生成增量更新包并建立版本索引,支持范围查询与断点续传。与现有技术中采用定时轮询或全量更新的方案相比,本发明在典型家庭使用场景中数据传输量降低70%至95%。同时,服务器端通过websocket长连接主动下行推送增量更新包,推送延迟低于1秒,避免了轮询机制带来的无效请求和网络资源浪费,实现了低延迟、低流量、低功耗的多终端实时同步。
31、2、该发明在websocket长连接上设置有保活机制,通过预设时间间隔的ping/pong帧检测连接状态,及时清理无效连接并释放资源。当终端离线时,服务器端将待推送增量更新包存储于消息队列中,终端重新建立连接后从消息队列中读取并推送,支持断点续传。该机制有效解决了实际家庭网络环境中wi-fi信号不稳定、路由器重启、设备休眠等导致的连接中断和消息丢失问题,确保了非可靠网络条件下的消息可靠投递。
32、3、该发明将家庭日历、家务任务、奖励积分、家庭留言、餐食计划、照片轮播六类功能集成于同一日历相框设备端,在同一显示画面中通过分层渲染和半透明叠加技术同时呈现六类信息,各图层具备独立的z轴索引值和显示区域,信息互不遮挡、层次分明。与现有技术中各类家庭管理功能分散于不同应用和平台、数据无法互通的方案相比,本发明消除了信息孤岛,使家庭成员可通过摆放在公共区域的日历相框设备端一览全部家庭动态,日历相框设备端从单一的照片播放设备升级为家庭信息中枢,大幅提升了设备利用率和家庭协同管理效率。
33、4、该发明提供完整的任务奖励闭环控制方案:家长发布家务任务并指定奖励积分,孩子完成任务后提交审核,家长批准后系统自动发放积分,积分实时同步至日历相框设备端并更新显示,积分累积后可兑换奖励。与现有技术中任务管理应用仅提供任务分配和完成标记、缺乏激励机制、任务完成与奖励发放脱节的方案相比,本发明从任务发布到积分兑换形成完整的自动化闭环,所有状态变更实时同步至日历相框,任务状态和积分变化即时可见,形成了即时、可视化的正向激励,有效培养了家庭成员特别是孩子的责任感和时间管理能力。
34、5、该发明通过外部日历同步适配器与google日历、appleicloud日历和microsoftoutlook日历等主流外部日历平台建立双向同步机制。一方面按照预设时间间隔从外部日历平台拉取日程变更并推送至日历相框设备端;另一方面将本地创建的日程事件转换为外部日历平台所支持的格式并同步至该平台。与现有技术中家庭日历系统与外部日历平台单向导入或无法互联的方案相比,本发明实现了本系统与主流外部日历平台的双向数据一致性,用户既可在本系统中管理日程,也可继续使用习惯的外部日历应用,广泛适配不同家庭用户的使用习惯。
35、6、该发明针对照片数据采用缩略图优先、原图分块传输的分阶段传输策略。服务器端接收到照片原图后先生成缩略图并优先推送至日历相框设备端,用户可即时预览照片内容;待缩略图确认接收后,再将原图按照预设分块大小分块依次推送,各数据块具有块序号和校验和,支持错误重传和断点续传。与现有技术中直接传输完整照片文件的方案相比,本发明有效避免了大数据量传输对websocket长连接上其他结构化数据推送的阻塞,在低带宽网络条件下仍能保证照片浏览的流畅体验。
36、7、该发明通过家庭账号与权限管理模块实现家长角色和孩子角色的分级权限控制。家长角色允许执行所有操作类型,包括创建任务、审核任务、修改家庭配置等管理类操作;孩子角色仅允许执行新增操作、修改自身创建或被分配至自身的数据以及删除自身创建的数据。该权限分级机制使不同家庭成员在共享同一家庭数据空间的同时,各自拥有适配自身角色的操作边界,有效防止了数据误删和配置误改,提升了家庭协同管理的有序性和安全性。
37、8、该发明提供餐食计划与购物清单自动生成功能,服务器端根据用户规划的每周餐食计划,在食材映射表中检索每种菜品对应的食材清单,按食材名称聚合汇总并计算每种食材的总需求量,自动生成购物清单并推送至各终端,减少了家庭采购规划的时间成本,避免了遗漏食材。同时提供家庭物品清单管理功能,用户录入物品名称、位置和照片后,数据以增量更新包形式同步至同一家庭级会话组内的全部终端,支持多终端模糊检索,帮助家庭成员快速定位物品位置,提升了家庭物品管理的效率。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com