本发明涉及多类型消息复制与传输领域,特别涉及一种基于剪贴板的内存指令集数据获取方法及系统。
背景技术:
1、随着即时通讯、协同办公、移动互联网技术的快速发展,用户在日常操作中频繁涉及多类型消息(文本、图片、视频、文件、链接卡片、小程序等)的复制与传输需求。例如:在企业微信中复制包含文本说明、产品图片及小程序链接的工作消息,在浏览器中复制网页内的视频片段与关联文件,在办公软件中整合跨平台的多格式数据等。此类场景下,用户需要高效、便捷地获取多类型消息的原始内容,且要求数据传输过程中格式不丢失、完整性有保障。
2、当前数据获取的核心依赖系统剪贴板作为数据中转载体,剪贴板作为操作系统级的临时存储区域,支持不同应用程序间的数据共享。但现有技术中,剪贴板的使用与数据解析方式存在明显局限:操作流程冗长,尤其在单手操作或快速数据获取场景下体验不佳;单次复制仅能支持单一类型消息,若需复制文本、图片、文件的组合消息,需分多次操作,效率极低;对于链接卡片、小程序等结构化消息,现有api无法识别其数据格式,导致无法复制或解析后内容失真(如仅能获取链接文本,无法获取卡片的图标、描述等完整信息)。
技术实现思路
1、本发明的目的在于克服现有技术的缺点与不足,提供一种基于剪贴板的内存指令集数据获取方法。
2、本发明的另一目的在于提供一种基于剪贴板的内存指令集数据获取系统。
3、本发明的再一目的是提供一种服务器。
4、本发明的又一目的是提供一种计算机可读存储介质。
5、本发明的目的通过以下的技术方案实现:
6、一种基于剪贴板的内存指令集数据获取方法,包括以下步骤:
7、s1、用户通过滚动鼠标滚轮触发复制指令,复制指令触发后对多类型目标消息进行捕获,对多类型目标消息添加格式标识,得到带格式标识的目标消息;
8、s2、将带格式标识的目标消息以二进制流形式存储至剪贴板,通过剪贴板的物理存储地址以及目标消息的格式标识、消息长度生成内存指令集,将内存指令集存储至指定的内存地址;
9、s3、通过内存地址定位并读取内存指令集,根据内存指令集中剪贴板的物理存储地址,从剪贴板中提取二进制流数据,通过二进制流数据中的type字段识别目标消息类型,根据内存指令集中的offset和len定位目标消息的二进制数据段;调用与目标消息类型对应的解析算法对二进制数据段进行解析,得到目标消息;
10、s4、对目标消息进行输出,输出目标消息时,用户可选择粘贴输出或者本地保存输出。
11、所述步骤s1为,实时监测鼠标操作信号,当用户选中目标消息区域后,向预设方向滚动鼠标滚轮大于预设次数,则触发复制指令;用户未选中特定区域时,滚动鼠标滚轮同时按下辅助按键触发复制指令;触发复制指令后,实时监测并捕获多类型目标消息,所述多类型目标消息包括文本、图片、视频、文件、链接卡片、小程序;对捕获的每种类型的目标消息添加唯一格式标识,得到带格式标识的目标消息。
12、所述步骤s2为,将带格式标识的所有目标消息,以二进制流形式存储至剪贴板,得到二进制流数据;所述二进制流数据由格式标识和目标消息的二进制数据段拼接而成,具体格式为:
13、二进制流数据=[type_1,value_1,type_2,value_2,...,type_n,value_n];
14、其中,type为目标消息的格式标识,value为目标消息的二进制数据段;
15、根据剪贴板的物理存储地址、各个目标消息的格式标识、目标消息的消息长度,生成对应的内存指令集,并将内存指令集存储至指定的内存地址,所述内存指令集的格式如下:
16、内存指令集=[addr_s,addr_e,type_1,len_1,offset_1,type_2,len_2,offset_2,...,type_n,len_n,offset_n];
17、其中,offset为单条目标消息在剪贴板二进制流数据中的偏移量,addr_s为剪贴板的起始地址,addr_e为剪贴板的结束地址,type为目标消息的格式标识,len为目标消息的消息长度;
18、所述步骤s3为,通过内存地址定位并读取存储的内存指令集;根据内存指令集中的addr_s和addr_e,从剪贴板中提取二进制流数据;通过二进制流数据中的type字段识别各个目标消息类型,根据offset和len定位单条目标消息的二进制数据段:读取内存指令集中的offset和len参数,移动二进制流数据的读取指针到offset位置,跳过type字段,定位到单条目标消息二进制数据段的起始位置,从单条目标消息的起始位置读取len字节的二进制数据,得到单条目标消息的二进制数据段;调用与目标消息类型对应的解析算法对二进制数据段进行解析,得到目标消息。
19、所述步骤s4为,对于目标消息,用户可选择粘贴输出或者本地保存输出;其中,粘贴输出支持用户在任意应用程序中通过鼠标右键粘贴或快捷键粘贴,直接使用目标消息内容;本地保存输出为用户提供保存选项,将文件、视频等大体积目标消息内容存储至本地指定文件夹,并生成文件路径索引。
20、本发明的另一目的通过以下的技术方案实现:
21、一种基于剪贴板的内存指令集数据获取系统,包括触发模块、消息捕获模块、存储与指令生成模块、解析模块、输出模块;
22、其中,触发模块:由用户通过滚动鼠标滚轮触发复制指令;
23、消息捕获模块:接收复制指令后,通过系统内核层接口实时监测并捕获多类型目标消息,对多类型目标消息添加格式标识,得到带格式标识的目标消息;
24、存储与指令生成模块:将带格式标识的目标消息以二进制流形式存储至剪贴板,通过剪贴板的物理存储地址以及带格式标识的目标消息的格式标识、消息长度生成内存指令集,将内存指令集存储至指定的内存地址;
25、解析模块:通过内存地址定位,读取存储的内存指令集,根据内存指令集中的剪贴板的物理存储地址,从剪贴板中提取二进制流数据,结合二进制流数据中的type字段识别目标消息类型,根据内存指令集中的offset和len定位目标消息的二进制数据段;调用与目标消息类型对应的解析算法对二进制数据段进行解析,得到目标消息;
26、输出模块:对目标消息进行输出,用户可选择粘贴输出或者本地保存输出。
27、本发明的再一目的通过以下的技术方案实现:
28、一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一段程序,所述程序由所述处理器加载并执行以实现上述基于剪贴板的内存指令集数据获取方法。
29、本发明的又一目的通过以下的技术方案实现:
30、一种计算机可读存储介质,所述存储介质中存储有至少一段程序,所述程序由处理器加载并执行以实现上述基于剪贴板的内存指令集数据获取方法。
31、本发明与现有技术相比,具有如下优点和有益效果:
32、1、本发明创造性地设计了剪贴板内存指令集,通过直接解析内存指令集,跳过应用层api调用;现有技术没有设置剪贴板内存指令集,而是调用应用层api实现复制;本发明技术方案使数据解析延迟降低50%以上;内存指令集直接关联剪贴板物理地址,数据定位精准,解析完整性达99.9%。
33、2、本发明显著提升了操作便捷性,通过鼠标滚动触发无需记忆快捷键或多步操作,对操作步骤进行简化,操作效率提升60%以上。
34、3、本发明支持多类型消息一站式复制,文本、图片、视频、文件、链接卡片、小程序可同时复制,无需分多次操作,尤其适用于多格式数据整合场景。
35、4、本发明通过底层接口捕获、格式标识、针对性解析算法的结合,实现链接卡片、小程序等结构化消息的完整复制,解决现有技术无法兼容的痛点。
36、5、本发明跨平台与跨应用通用性强,基于操作系统底层接口开发,适配windows、macos、linux等主流系统,可集成于即时通讯、办公、浏览器等各类应用程序,适用范围广。