System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于增量更新机制的在线脚本管理系统及方法技术方案_技高网

一种基于增量更新机制的在线脚本管理系统及方法技术方案

技术编号:40968562 阅读:4 留言:0更新日期:2024-04-18 20:49
本发明专利技术提供了一种基于增量更新机制的在线脚本管理系统及方法,该系统包括:通过综合运用展示模块、同步模块、缓存模块以及存储模块;编辑和展示脚本时,通过展示模块和服务端只传输增量内容而非全量内容,最大化减少网络传输的数据量;在频繁更新脚本内容时,通过缓存池和缓存队列暂存全量和增量内容,定期进行合并以避免更新队列堆积;存储模块通过压缩算法将脚本内容处理,再定时执行落盘操作,有效减少单位时间内对脚本底层存储的访问频率,提升展示模块窗口的响应速度,对用户体验更友好;支持多版本历史查询和回退,满足不同用户对多场景的需求。

【技术实现步骤摘要】

本专利技术涉及云计算,特别是在线数据库脚本管理以及在线文档多用户管理,具体涉及一种基于增量更新机制的在线脚本管理系统及方法


技术介绍

1、为了应对以指数级别增长的日常数据量,目前大部分企业信息已迁移至云数据库进行高效的存储管理。在安全连接和管理各种复杂环境数据库的需求下,以互联网形式登录的在线数据库管理工具应运而生。其中,sql脚本是数据库在生产环境下广泛使用的一种脚本语言,当前基于本地客户端的sql脚本管理功能也需迁移到线上管理。然而,传统的sql脚本管理方式存在一些问题:

2、1.sql脚本在生产环境下虽然一般为长文本,但是一般修改都是集中在几行里,编辑者对sql进行保存操作时,以及通过客户端窗口再查看更新后的sql内容时,通常需要上传下载全部内容,单次传输的信息量很大但是冗余信息多。这对预览者的网络环境的要求比较高,如果网络状态不够好,可能会出现最新内容预览不及时的情况。

3、2.在线sql脚本一般由多用户管理并需要频繁编辑,此时系统内部同步调用保存脚本到存储模块的频率会倍增,单位时间内存储模块接收到大量请求可能会导致堵塞,从而影响页面响应速度和用户体验。

4、3.另外,较长的sql脚本内容中关键字会重复出现多次,如果不经过压缩直接存储进数据库,过多冗余信息会浪费大部分io流量和存储资源,并且实时的保存机制可能带来高时延。因此,需要一种新的管理方式来减少数据传输量和存储空间,并提升用户在进行保存sql脚本时的响应速度。

5、4.本地客户端sql管理工具的版本回退功能比较单一,即只能回退到上个版本,不能够精细地记录脚本的修改历史,缺乏对脚本不同版本间的比较和回滚功能,无法满足不同场景下用户的需求。

6、综上所述,传统的sql脚本管理方式存在多方面的不足,新的线上管理方式应当能够减少数据传输量和存储空间,提高传输效率和存储效率,提升数据库管理工具的用户体验。


技术实现思路

1、有鉴于此,针对传统sql脚本管理方式的四个痛点:展示和修改时需要传输全量内容、频繁编辑时请求容易阻塞而影响体验、脚本在服务端不经压缩存储浪费空间、版本回退功能单一。本专利技术提出了一种基于增量更新机制的在线脚本管理系统及方法,编辑和展示脚本时,通过展示模块和服务端只传输增量内容而非全量内容,最大化减少网络传输的数据量;在频繁更新脚本内容时,通过缓存池和缓存队列暂存全量和增量内容,定期进行合并以避免更新队列堆积;存储模块通过压缩算法将脚本内容处理,再定时执行落盘操作,有效减少单位时间内对脚本底层存储的访问频率,提升展示模块窗口的响应速度,对用户体验更友好;支持多版本历史查询和回退,满足不同用户对多场景的需求。

2、基于上述目的,第一方面,本专利技术提供了一种基于增量更新机制的在线脚本管理系统,包括以下模块:

3、前端展示模块,用于收集用户的交互操作并展示、编辑结果集;

4、同步模块,作为核心模块和计算引擎,负责处理增量内容补丁合并以及与实例管理模块通信;

5、缓存模块,用于在管理系统获取全量内容和增量内容时加速处理,通过缓存池和有序队列方式存储全量和增量内容;

6、存储模块,采用分布式部署和主从备份技术,提供脚本内容的永久存储。

7、作为本专利技术的进一步方案,所述前端展示模块还支持同一个脚本在多个页面同时显示,并且显示页面暂存在规定时间内修改前的全量内容,当用户修改了脚本内容时,所述前端展示模块还用于将文本比对,并将变化的增量内容主动推送至服务端,服务端根据获取的增量内容和版本编号,结合旧版本全量信息,合并成新版本的全量内容。

8、作为本专利技术的进一步方案,所述前端展示模块还用于跨版本的内容回溯,向服务端发送附带版本编号的请求,以获取对应增量内容。

9、作为本专利技术的进一步方案,所述同步模块用于连接展示模块和缓存模块,接收从展示模块传来的版本差异内容,在缓存模块中获取旧版本的脚本全量内容信息,将新旧版本脚本内容补丁进行合并,并将新版本的脚本全量内容推送到缓存模块中取代旧版本。

10、作为本专利技术的进一步方案,所述同步模块还用于向实例管理模块采集信息以区分脚本的所属实例,并在用户执行脚本时将最新版本全量内容推送给管理侧的对应实例。

11、作为本专利技术的进一步方案,所述同步模块内还采用多时机合并机制,用于触发合并操作,以满足在异步处理版本内容的情况下应对增量内容堆积。

12、作为本专利技术的进一步方案,所述缓存模块存储全量内容时,通过脚本编号和版本编号来确定唯一版本的脚本全量信息,以缓存池的方式存储;在需要新增打开最新版本脚本内容的窗口时,存储模块用于从缓存模块中获取落盘的脚本内容,并且在缓存模块中保存一份副本。

13、作为本专利技术的进一步方案,所述缓存模块存储增量内容时,以有序队列方式,暂时存放经过同步系统传输进来的版本增量内容,每个脚本的增量内容队列设置有最大长度,以控制缓存版本的最大数量。

14、作为本专利技术的进一步方案,所述存储模块包括定时装置和压缩装置,所述定时装置用于在指定时间间隔检查脚本的版本号,与缓存模块中最新版本内容的脚本号是否匹配,不同则对最新版本内容进行加密压缩后存入数据库;所述压缩装置用于在脚本内容落盘前进行压缩处理,并在读取内容时进行解压缩,降低关键词重复出现频率,提升存储效率。

15、第二方面,本专利技术还提供了一种基于增量更新机制的在线脚本管理方法,包括以下步骤:

16、接收用户的交互操作和脚本编辑请求;

17、通过展示模块进行文本比对,仅传输脚本的增量内容;

18、将增量内容传输至同步模块进行版本补丁合并;

19、将合并后的脚本内容推送至缓存模块;

20、缓存模块根据特性暂存全量和增量内容,提升读取速度;

21、存储模块定期异步存储最新版本的脚本内容,通过压缩算法提高存储效率。

22、作为本专利技术的进一步方案,展示模块的文本比对操作包括以下步骤:

23、检测脚本的变更情况;

24、比对当前版本内容与暂存的上一版本,提取并传输增量内容;

25、接收下一个版本编号以验证版本顺序的准确性。

26、作为本专利技术的进一步方案,同步模块的版本补丁合并操作采用多时机合并机制,包括以下情况:

27、定时清理和补丁操作增量内容队列;

28、增量内容队列达到预置最大条数时进行清理和合并;

29、增量内容队列达到最大保存字数时进行合并;

30、在展示模块多窗口同时展示同一脚本时,清理旧窗口编辑可能带来的增量内容积压;

31、在脚本的展示窗口关闭时,进行缓存队列的补丁操作。

32、作为本专利技术的进一步方案,存储模块的异步存储操作包括以下步骤:

33、定时检查脚本的版本号与缓存模块中最新版本内容的脚本号是否匹配;

34、不匹本文档来自技高网...

【技术保护点】

1.一种基于增量更新机制的在线脚本管理系统,其特征在于,包括以下模块:

2.根据权利要求1所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述前端展示模块还支持同一个脚本在多个页面同时显示,并且显示页面暂存在规定时间内修改前的全量内容,当用户修改了脚本内容时,所述前端展示模块还用于将文本比对,并将变化的增量内容主动推送至服务端,服务端根据获取的增量内容和版本编号,结合旧版本全量信息,合并成新版本的全量内容。

3.根据权利要求2所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述前端展示模块还用于跨版本的内容回溯,向服务端发送附带版本编号的请求,以获取对应增量内容。

4.根据权利要求1所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述同步模块用于连接展示模块和缓存模块,接收从展示模块传来的版本差异内容,在缓存模块中获取旧版本的脚本全量内容信息,将新旧版本脚本内容补丁进行合并,并将新版本的脚本全量内容推送到缓存模块中取代旧版本。

5.根据权利要求4所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述同步模块还用于向实例管理模块采集信息以区分脚本的所属实例,并在用户执行脚本时将最新版本全量内容推送给管理侧的对应实例。

6.根据权利要求5所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述同步模块内还采用多时机合并机制,用于触发合并操作,以满足在异步处理版本内容的情况下应对增量内容堆积。

7.根据权利要求1所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述缓存模块存储全量内容时,通过脚本编号和版本编号来确定唯一版本的脚本全量信息,以缓存池的方式存储;在需要新增打开最新版本脚本内容的窗口时,存储模块用于从缓存模块中获取落盘的脚本内容,并且在缓存模块中保存一份副本。

8.根据权利要求7所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述缓存模块存储增量内容时,以有序队列方式,暂时存放经过同步系统传输进来的版本增量内容,每个脚本的增量内容队列设置有最大长度,以控制缓存版本的最大数量。

9.根据权利要求8所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述存储模块包括定时装置和压缩装置,所述定时装置用于在指定时间间隔检查脚本的版本号,与缓存模块中最新版本内容的脚本号是否匹配,不同则对最新版本内容进行加密压缩后存入数据库;所述压缩装置用于在脚本内容落盘前进行压缩处理,并在读取内容时进行解压缩,降低关键词重复出现频率,提升存储效率。

10.一种基于增量更新机制的在线脚本管理方法,其特征在于,基于权利要求1-9任一项所述基于增量更新机制的在线脚本管理系统执行在线脚本管理操作,该方法包括以下步骤:

...

【技术特征摘要】

1.一种基于增量更新机制的在线脚本管理系统,其特征在于,包括以下模块:

2.根据权利要求1所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述前端展示模块还支持同一个脚本在多个页面同时显示,并且显示页面暂存在规定时间内修改前的全量内容,当用户修改了脚本内容时,所述前端展示模块还用于将文本比对,并将变化的增量内容主动推送至服务端,服务端根据获取的增量内容和版本编号,结合旧版本全量信息,合并成新版本的全量内容。

3.根据权利要求2所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述前端展示模块还用于跨版本的内容回溯,向服务端发送附带版本编号的请求,以获取对应增量内容。

4.根据权利要求1所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述同步模块用于连接展示模块和缓存模块,接收从展示模块传来的版本差异内容,在缓存模块中获取旧版本的脚本全量内容信息,将新旧版本脚本内容补丁进行合并,并将新版本的脚本全量内容推送到缓存模块中取代旧版本。

5.根据权利要求4所述的基于增量更新机制的在线脚本管理系统,其特征在于,所述同步模块还用于向实例管理模块采集信息以区分脚本的所属实例,并在用户执行脚本时将最新版本全量内容推送给管理侧的对应实例。

6.根据权利要求5所述的基于增量更新机制的在线脚本管理系统,其特征在于,...

【专利技术属性】
技术研发人员:郑钊彪李韬陈金曈张扬权李山根
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1