CN102053862B - 一种即时通讯软件中的素材文件的检验方法和设备 - Google Patents
一种即时通讯软件中的素材文件的检验方法和设备 Download PDFInfo
- Publication number
- CN102053862B CN102053862B CN200910210216.XA CN200910210216A CN102053862B CN 102053862 B CN102053862 B CN 102053862B CN 200910210216 A CN200910210216 A CN 200910210216A CN 102053862 B CN102053862 B CN 102053862B
- Authority
- CN
- China
- Prior art keywords
- inspection
- file
- material file
- thread
- inspection machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种即时通讯软件中的素材文件的检验方法和设备,建立独立的子线程在CPU空闲时进行素材文件的安全性检验,通过应用本发明的技术方案,避免检验过程对即时通信软件启动过程的影响,从而,能够在保障即时通信软件的工作性能的情况下,实现对于素材文件的安全性检验,满足对敏感素材文件的安全性需求。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种即时通讯软件中的素材文件的检验方法和设备。
背景技术
即时通讯(Instant Messaging,IM)技术是一种终端服务技术,可以使两个或多个终端通过网络即时的传递文字讯息、文件档案,以及实现语音或视频交流等业务。
即时通讯软件是通过即时通讯技术来实现在线聊天、交流的软件。
即时通讯软件还分为两类,一类个人应用的个人即时通讯,实现个人之间的信息即时交互和沟通;另一类是企业即时通讯,以企业内部办公为主,建立员工交流平台,帮助企业解决信息孤岛、提高运营效率、降低沟通成本、实现人员与业务系统的实时协同,是一种高度可管理、低成本、易部署的信息技术(Information Technology,IT)平台。
网络即时通讯工具发展到今天,已经被大多数的网民所接受,成为用户必不可少的软件工具,不但在平时的休闲娱乐中,而且在用户的工作中同样得到广泛的使用。
因此,用户对IM软件的易用性,稳定性,安全性等方面提出了较高的要求。
在当前主流IM软件中的很多应用场景中,都会根据自身业务逻辑的需要去其相应的服务器下载一些素材文件,并将素材文件展示在IM软件中,以带给用户一种友好的交互效果。
针对IM软件中素材文件可能被恶意改造的安全隐患,需要对一些敏感度高的素材文件进行检验,否则,如果缺少对重要敏感素材文件的必要保护,恶意的用户可以对素材文件进行恶意修改,从而在软件中展示一些恶意的信息,从而产生恶劣的影响。
在现有的IM软件中,一般会将素材文件下载到应用程序数据目录(如:appdata)下。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
由于现有技术对存储素材的素材文件夹缺少必要的保护,所以,用户可以通过简单设置该文件夹的访问权限(如,设置拒绝访问权限),以达到屏蔽使用某些素材的目的,使得通过这些素材进行的业务也受到限制,从而对业务推广产生影响。
另一方面,随着公司业务的不断增多,IM软件在登陆后往往要使用很多素材文件,因而,会对大批量的素材文件进行安全检验,从而会导致程序出现界面卡或卡死的现象。
发明内容
本发明提供一种即时通讯软件中的素材文件的检验方法和设备,能在尽可能性能最优的情况下满足对敏感素材文件的安全性的检验。
为达到上述目的,本发明一方面提供了一种即时通讯软件中的素材文件的检验方法,包括以下步骤:
当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用;
当所述检验设备判断所述本地存储的素材文件可用时,所述检验设备建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作;
所述检验设备接收所述素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,其中,所述素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对所述待检验的素材文件进行检验。
优选的,当所述检验设备判断所述本地存储的素材文件不可用时,所述方法还包括:
所述检验设备下载新的素材文件信息,并在新的素材文件信息下载完毕后,判断新下载的所述素材文件是否可用,如果可用,则继续后续的检验流程,如果不可用,则重新进行素材文件信息的下载,直至下载到可用的素材文件。
优选的,当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用,具体包括:
所述检验设备判断本地缓存的素材索引文件是否可用;
当所述检验设备判断所述本地缓存的素材索引文件可用时,所述检验设备判断所述素材索引文件所对应的素材文件夹是否可用;
当所述检验设备判断所述素材索引文件所对应的素材文件夹可用时,所述检验设备确认所述本地存储的素材文件为可用状态,并执行后续的素材文件检验流程。
优选的,当所述检验设备判断所述本地缓存的素材索引文件不可用时,还包括:
所述检验设备下载或建立新的素材索引文件。
优选的,当所述检验设备判断所述素材索引文件所对应的素材文件夹不可用时,还包括:
所述检验设备生成新的素材文件夹;
所述检验设备下载新的素材文件;
所述检验设备更新所述素材索引文件,将所述素材索引文件中的索引信息与所述新的素材文件相对应。
优选的,所述检验设备判断所述本地缓存的素材索引文件或所述素材索引文件所对应的素材文件夹是否可用,具体为:
所述检验设备在注册表中查询与素材索引文件或素材文件夹的位置信息相对应的字段中是否存在素材索引文件或素材文件夹的位置信息;
如果存在,所述检验设备获取所述素材索引文件或素材文件夹的位置信息,如果不存在,所述检验设备根据初始值确定素材索引文件或素材文件夹的位置信息;
所述检验设备根据所述素材索引文件或素材文件夹的位置信息,判断相对应的素材索引文件或素材文件夹是否可以进行信息写入;
如果判断结果为是,则判断所述素材索引文件或素材文件夹可用,如果判断结果为否,则判断所述素材索引文件或素材文件夹不可用。
优选的,所述检验设备建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作,还包括:
所述检验设备建立用于接收所述素材文件检验线程的检验结果的通信窗口,并监听所述通信窗口的通信状态;
所述检验设备建立事件标识,在当前不具有足够的系统资源进行素材文件检验处理时,将该事件标识设置为阻塞状态。
优选的,所述素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对所述待检验的素材文件进行检验,具体为:
所述素材文件检验线程在CPU的空闲资源达到预设阈值时,将包含当前所有待检验的素材文件的检验队列中的各待检验的素材文件按顺序进行检验,并记录所述检验结果;
所述素材文件检验线程判断所述事件标识是否为阻塞状态,如果是,则进行等待;
如果所述事件标识不是阻塞状态,所述素材文件检验线程判断通信窗口的通信状态是否为有信号状态,如果是,则进行等待,如果不是,则标记所述通信窗口的通信状态为有信号状态,并向所述检测设备发送当前记录的所述检测结果,在所述检测结果发送完毕后,恢复所述通信窗口的通信状态为无信号状态。
优选的,所述检验设备接收所述素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,具体为:
所述检验设备监听所述通信窗口的通信状态,并判断所述事件标识是否为阻塞状态;
如果是,则进行等待,如果不是,则标记所述通信窗口的通信状态为有信号状态,并取出当前接收到的所有检验结果,将检验成功的素材文件在所述即时通讯软件中进行显示,将检验失败的素材文件禁用或删除,并判断所述素材文件检验线程是否完成对所有待检验素材文件的检验;
当所述检验设备判断所述素材文件检验线程没有完成对所有待检验素材文件的检验时,恢复所述通信窗口的通信状态为无信号状态,当所述检验设备判断所述素材文件检验线程完成对所有待检验素材文件的检验时,所述检验设备关闭所述素材文件检验线程。
另一方面,本发明还提供了一种检验设备,包括:
判断模块,用于当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用;
检验模块,与所述判断模块相连接,用于当所述判断模块判断所述本地存储的素材文件可用时,建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作;
处理模块,与所述检验模块相连接,用于接收所述检验模块所建立的素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,其中,所述素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对所述待检验的素材文件进行检验。
优选的,所述判断模块,用于当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用,具体包括:
所述判断模块判断本地缓存的素材索引文件是否可用;
当所述判断模块判断所述本地缓存的素材索引文件可用时,进一步判断所述素材索引文件所对应的素材文件夹是否可用;
当所述判断判断所述素材索引文件所对应的素材文件夹可用时,所述判断模块确认所述本地存储的素材文件为可用状态,并执行后续的素材文件检验流程。
优选的,所述检验设备还包括下载模块,与所述判断模块相连接,
用于当所述判断模块判断所述本地缓存的素材索引文件不可用时,下载或建立新的素材索引文件;或,
用于当所述判断模块判断所述素材索引文件所对应的素材文件夹不可用时,生成新的素材文件夹,并下载新的素材文件,以及更新所述素材索引文件,将所述素材索引文件中的索引信息与所述新的素材文件相对应。
优选的,所述检验模块用于建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作,还包括:
所述检验模块还用于建立用于接收所述素材文件检验线程的检验结果的通信窗口,并监听所述通信窗口的通信状态;
所述检验模块还用于建立事件标识,在当前不具有足够的系统资源进行素材文件检验处理时,将该事件标识设置为阻塞状态。
优选的,所述处理模块用于接收所述素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,具体为:
所述检验模块监听所述通信窗口的通信状态,并判断所述事件标识是否为阻塞状态,如果是,则进行等待;
如果所述检验模块判断所述事件标识不是阻塞状态,则所述检验模块标记所述通信窗口的通信状态为有信号状态,所述处理模块取出当前接收到的所有检验结果,将检验成功的素材文件在所述即时通讯软件中进行显示,将检验失败的素材文件禁用或删除,并判断所述素材文件检验线程是否完成对所有待检验素材文件的检验;
当所述处理模块判断所述素材文件检验线程没有完成对所有待检验素材文件的检验时,所述检验模块恢复所述通信窗口的通信状态为无信号状态,当所述处理模块判断所述素材文件检验线程完成对所有待检验素材文件的检验时,关闭所述素材文件检验线程。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,建立独立的子线程,在CPU空闲时进行素材文件的安全性检验,避免检验过程对即时通信软件启动过程的影响,从而,能够在保障即时通信软件的工作性能的情况下,实现对于素材文件的安全性检验,满足对敏感素材文件的安全性需求。
附图说明
图1为本发明所提出的一种即时通讯软件中的素材文件的检验方法的流程示意图;
图2为本发明所提出的具体应用场景下的一种即时通讯软件中的素材文件的检验方法的流程示意图;
图3为本发明所提出的具体应用场景下的一种即时通讯软件中的素材文件的检验方法的流程示意图;
图4为本发明所提出的具体应用场景下的一种即时通讯软件中的素材文件的检验方法的流程示意图。
图5为本发明所提出的一种检验设备的结构示意图。
具体实施方式
如背景技术所述,现有的安全性检验技术由于待检测素材文件数量的增长,而需要进行大量的处理,而这些处理又都需要在即时通讯软件的启动过程中完成,严重延迟即时通讯软件的运行速度和延长了响应时间,影响了用户的使用体验,而且,对于素材文件夹的低等级保护策略造成了素材文件使用上的隐患,影响了业务推广。
为了解决现有技术的问题,本发明提出了一种即时通讯软件中的素材文件的检验方法,建立独立的子线程,在CPU空闲时进行素材文件的安全性检验,避免检验过程对即时通信软件启动过程的影响。
如图1所示,为本发明所提出的一种即时通讯软件中的素材文件的检验方法的流程示意图,具体包括以下步骤:
当即时通讯软件启动时,开始执行步骤S101。
步骤S101、检验设备判断本地存储的素材文件是否可用。
当检验设备判断本地存储的素材文件可用时,执行步骤S102;
当检验设备判断本地存储的素材文件不可用时,执行步骤S104。
具体的,本步骤包括以下两方面的判断:
第一方面、检验设备判断本地缓存的素材索引文件是否可用。
当检验设备判断本地缓存的素材索引文件可用时,继续进行第二方面的判断。
当检验设备判断本地缓存的素材索引文件不可用时,检验设备下载或建立新的素材索引文件。
第二方面、检验设备判断素材索引文件所对应的素材文件夹是否可用。
当检验设备判断素材索引文件所对应的素材文件夹可用时,检验设备确认本地存储的素材文件为可用状态,并执行后续的素材文件检验流程。
当检验设备判断素材索引文件所对应的素材文件夹不可用时,还包括以下流程:
检验设备生成新的素材文件夹;
检验设备下载新的素材文件;
检验设备更新素材索引文件,将素材索引文件中的索引信息与新的素材文件相对应。
在具体的应用场景中,上述的检验设备判断本地缓存的素材索引文件或素材索引文件所对应的素材文件夹是否可用的过程,具体通过以下流程来实现:
检验设备在注册表中查询与素材索引文件或素材文件夹的位置信息相对应的字段中是否存在素材索引文件或素材文件夹的位置信息;
如果存在,检验设备获取素材索引文件或素材文件夹的位置信息,如果不存在,检验设备根据初始值确定素材索引文件或素材文件夹的位置信息;
检验设备根据素材索引文件或素材文件夹的位置信息,判断相对应的素材索引文件或素材文件夹是否可以进行信息写入;
如果判断结果为是,则判断素材索引文件或素材文件夹可用,如果判断结果为否,则判断素材索引文件或素材文件夹不可用。
步骤S102、检验设备建立素材文件检验线程,将所有待检验的素材文件的信息传输给素材文件检验线程,并继续即时通讯软件的其它启动操作。
在本步骤的处理过程中,还包括以下处理:
检验设备建立用于接收素材文件检验线程的检验结果的通信窗口,并监听通信窗口的通信状态;
检验设备建立事件标识,在当前不具有足够的系统资源进行素材文件检验处理时,将该事件标识设置为阻塞状态。
基于上述设置,素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对待检验的素材文件进行检验的流程,具体为:
素材文件检验线程在CPU的空闲资源达到预设阈值时,将包含当前所有待检验的素材文件的检验队列中的各待检验的素材文件按顺序进行检验,并记录检验结果;
素材文件检验线程判断事件标识是否为阻塞状态,如果是,则进行等待;
如果事件标识不是阻塞状态,素材文件检验线程判断通信窗口的通信状态是否为有信号状态,如果是,则进行等待,如果不是,则标记通信窗口的通信状态为有信号状态,并向检测设备发送当前记录的检测结果,在检测结果发送完毕后,恢复通信窗口的通信状态为无信号状态。
步骤S103、检验设备接收素材文件检验线程所返回的素材文件检验结果,并在即时通讯软件中显示检验成功的素材文件。
其中,素材文件检验线程在中央处理器(Central Processing Unit,CPU)的空闲资源达到预设阈值时,对待检验的素材文件进行检验。
同样基于步骤S102中通信窗口和事件标识的设置,检验设备接收素材文件检验线程所返回的素材文件检验结果,并在即时通讯软件中显示检验成功的素材文件的处理流程,具体包括:
检验设备监听通信窗口的通信状态,并判断事件标识是否为阻塞状态;
如果是,则进行等待,如果不是,则标记通信窗口的通信状态为有信号状态,并取出当前接收到的所有检验结果,将检验成功的素材文件在即时通讯软件中进行显示,将检验失败的素材文件禁用或删除,并判断素材文件检验线程是否完成对所有待检验素材文件的检验;
当检验设备判断素材文件检验线程没有完成对所有待检验素材文件的检验时,恢复通信窗口的通信状态为无信号状态,当检验设备判断素材文件检验线程完成对所有待检验素材文件的检验时,检验设备关闭素材文件检验线程。
步骤S104、检验设备下载新的素材文件信息。
在素材文件信息下载完毕后,执行步骤S101,检验设备判断新下载的素材文件是否可用,如果判断新的素材文件可用,则检验设备继续后续的检验流程,如果判断新的素材文件不可用,则重新进行素材文件信息的下载,直至下载到可用的素材文件。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,建立独立的子线程,在CPU空闲时进行素材文件的安全性检验,避免检验过程对即时通信软件启动过程的影响,从而,能够在保障即时通信软件的工作性能的情况下,实现对于素材文件的安全性检验,满足对敏感素材文件的安全性需求。
下面,进一步结合具体的示例,对本发明的技术方案进行说明。
本发明阐述了一种在即时通讯软件中对素材文件进行高效检验的技术实现方案。随着IM软件的不断发展,用户无论在生活中还是在工作中都大量的使用IM软件实现与朋友,同事以及同学之间的交流与沟通,IM软件已经成为网民用户日常生活中不可缺少的工具之一。
在IM软件登录后,由于展示逻辑的需要,往往需要对一些敏感度高的素材文件进行大批量的一次性md5检验,用于保证素材文件的正确性。
为了方便说明,下面就以IM软件中敏感信息广告素材为例,讲述下整个技术方案的实现过程,以下所描述的线程的开发环境是VS2005的ATL工程,下面不再赘述。
需要指出的是,这仅是本发明的一种优选实施例,具体素材文件类型和开发环境的变化并不会影响本发明的保护范围。
如图2所示,为本发明所提出的具体应用场景中的一种即时通讯软件中的素材文件的检验方法的流程示意图,具体包括以下步骤:
步骤S201、检验设备判断本地缓存的广告索引文件是否可用。
如果可用,执行步骤S202;
如果不可用,执行步骤S208。
步骤S202、检验设备判断本地缓存的广告索引文件所对应的广告素材文件夹是否可用。
如果可用,执行步骤S203;
如果不可用,执行步骤S207。
步骤S203、检验设备读取上次广告素材的清理信息,获取需要进行显示的广告素材。
广告素材的清理信息包括广告素材的状态信息以及前次运行即时通讯软件的过程中各广告素材的显示记录信息等。
步骤S204、检验设备开启新的线程,独立完成对广告素材的MD5检验。
本步骤的检验操作是在CPU具有空闲资源,或CPU的空闲资源达到一定阈值的情况下进行的,与即时通信软件的启动线程彼此独立,从而不会影响即时通信软件的正常启动,也不会由于大量的检验流程同时进行而造成对系统性能的不利影响。
步骤S205、检验设备完成广告素材播放分类。
本步骤的实现并不以前述的步骤S204中的全部广告素材的检验完成为前提,即,在全部检验完成之前,就可以进行广告素材的分类,从而保证即时通讯软件的启动线程的顺利进行。
步骤S206、检验设备将分类结果写入广告素材清理信息。
本步骤完成后,即可确定需要显示和无需显示的广告素材,从而,只要需要显示的广告素材通过了步骤S204中的检验流程,即可进行显示。
这样的处理使得广告素材的检验流程和即时通讯软件的启动流程彼此独立,不会因为检验广告素材而影响技术通讯软件的正常启动。
步骤S207、检验设备通过随机算法生成新的文件夹。
具体的随机算法可以用来生成文件夹名称,而该文件夹的具体生成位置可以根据初始值进行确定,或者也通过随机算法进行确定。
步骤S208、检验设备下载广告素材和/或广告索引文件。
在具体应用场景中,下载到的广告素材需要存放在当前可用的或者新生成的广告素材文件夹中,并且根据下载的广告素材更新或生成相应的广告索引文件。
在广告素材文件和广告索引文件都下载或生成完毕后,转回步骤S201,进行相应的广告素材检验。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,建立独立的子线程,在CPU空闲时进行素材文件的安全性检验,避免检验过程对即时通信软件启动过程的影响,从而,能够在保障即时通信软件的工作性能的情况下,实现对于素材文件的安全性检验,满足对敏感素材文件的安全性需求。
下面,通过更加详细的实施例进一步的对于上述的步骤S204中的检验流程进行说明。
在现有的IM软件中,其自身的性能问题正变得日益突出,随着IM软件业务的不断增多,需要检验的素材文件也越来越多,如果采用原有的逻辑在登录之后即进行这些素材文件的md5检验,则会出现程序界面迟缓或卡死的现象。
为了解决这方面的问题,本发明所提出的技术方案采用了独立子线程进行md5检验的方法,主线程一次性的将待检验素材文件信息传递给子线程之后便可继续自己的其他逻辑,独立子线程利用CPU的空闲时间段完成素材文件的检验工作,并完成和主线程的相应交互。利用这种方法可以有效的避免程序出现界面卡死的现象。
为了描述方便,以下的描述过程中,分别通过主线程(即时通讯软件的启动线程)和新线程(广告素材的检验线程)两方面对本发明技术方案进行说明。
如图3所示,为本发明所提出的具体应用场景中的一种即时通讯软件中的素材文件的检验方法的流程示意图,具体包括以下步骤:
在主线程侧,实现流程如下:
步骤S301、检验设备将待检验的素材信息一次性的写入待传参数中。
步骤S302、检验设备创建用于接收新线程传回消息的新窗口及窗口过程处理函数。
步骤S303、检验设备创建用于线程同步的事件信号量,并调用SetEvent()设置事件标记。
步骤S304、检验设备开启新线程,用于素材检验。
本步骤完成后,新线程完成了建立流程,并且在新线程侧开始了步骤S313的执行以及其他步骤的循环,具体说明见后续的新线程侧的实现流程描述,在此不再赘述。
步骤S305、检验设备监听新线程传送回来的消息。
步骤S306、检验设备检测事件信号量是否处于阻塞状态。
如果是,则等待;
如果否,则执行步骤S307。
步骤S307、检验设备调用ResetEvent()把事件信号量设置为有信号状态。
步骤S308、检验设备取出结果队列中的所有对象处理后清空结果队列。
步骤S309、检验设备判断待处理队列是否全部处理完。
如果是,则执行步骤S318,具体说明见后续的新线程侧的实现流程描述,在此不再赘述;
如果不是,则执行步骤S310。
步骤S310、检验设备调用ResetEvent()把事件信号量设置为无信号状态。
完成无信号状态的设置后,返回步骤S305,继续通过通信窗口监听新线程传送回来的消息。
在新线程侧,实现流程如下:
步骤S311、新线程判断待处理队列是否全部处理完。
如果已经处理完,则执行步骤S317;
如果没有处理完,则执行步骤S312。
步骤S312、新线程取出当前队列中的第一个对象进行md5匹配,并记录返回相关结果数据。
步骤S313、新线程检测事件的信号状态,是否处于阻塞状态。
如果是,则等待;
如果否,则执行步骤S314。
步骤S314、新线程调用ResetEvent()把事件信号量设置为无信号状态。
步骤S315、新线程把相关结果参数压入到返回队列中。
步骤S316、新线程调用SetEvent()将信号量设置成有信号状态并向主线程窗口发送消息。
本步骤完成后,返回步骤S311,继续进行素材文件的检验流程循环。
步骤S317、新线程向主线程侧发送待处理队列已经全部处理完毕的提示信息。
步骤S318、新线程调用CloseHandle()关闭该事件信号量对象。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,建立独立的子线程,在CPU空闲时进行素材文件的安全性检验,避免检验过程对即时通信软件启动过程的影响,从而,能够在保障即时通信软件的工作性能的情况下,实现对于素材文件的安全性检验,满足对敏感素材文件的安全性需求。
另外,本方案中对素材文件夹是否可用的判断采用简单的尝试策略,发现素材文件夹不可用之后即利用随机数算法生成新的文件夹名,并记录相关信息,用以保证每次登陆后使用的文件夹都是最近一次可以正常使用的文件夹,程序的总体的框架可简略描述如图4所示,包括以下步骤:
步骤S401、检验设备判断注册表中特定的字段中是否存在素材文件夹的位置信息。
如果存在,则执行步骤S402;
如果不存在,则执行步骤S403。
步骤S402、检验设备读取素材文件夹的位置信息。
步骤S403、检验设备将初始值写入注册表中特定的字段,通过初始位置信息作为素材文件夹的位置信息。
步骤S402和步骤S403执行完成后都会转入步骤S404。
步骤S404、检验设备确认素材文件夹的名称。
步骤S405、检验设备判断是否可以向该素材文件夹中写入信息。
如果不可以,转入步骤S406;
如果可以,转入步骤S408。
步骤S406、检验设备利用随机算法生成新的文件夹名称。
步骤S407、检验设备将生成的新的文件夹名称和相对应的地址信息写入注册表。
步骤S408、检验设备确认该素材文件夹可用。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,建立独立的子线程,在CPU空闲时进行素材文件的安全性检验,避免检验过程对即时通信软件启动过程的影响,从而,能够在保障即时通信软件的工作性能的情况下,实现对于素材文件的安全性检验,满足对敏感素材文件的安全性需求。
为了实现本发明的技术方案,本发明还提出了一种检验设备。
如图5所示,为本发明所提出的一种检验设备的结构示意图,包括:
判断模块51,用于当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用,具体包括:
判断模块51判断本地缓存的素材索引文件是否可用;
当判断模块51判断本地缓存的素材索引文件可用时,进一步判断素材索引文件所对应的素材文件夹是否可用;
当判断判断素材索引文件所对应的素材文件夹可用时,判断模块51确认本地存储的素材文件为可用状态,并执行后续的素材文件检验流程。
检验模块52,与判断模块51相连接,用于当判断模块51判断本地存储的素材文件可用时,建立素材文件检验线程,将所有待检验的素材文件的信息传输给素材文件检验线程,并继续即时通讯软件的其它启动操作;
处理模块53,与检验模块52相连接,用于接收检验模块52所建立的素材文件检验线程所返回的素材文件检验结果,并在即时通讯软件中显示检验成功的素材文件,其中,素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对待检验的素材文件进行检验。
在具体的应用场景中,检验设备还包括下载模块54,与判断模块51相连接,
用于当判断模块51判断本地缓存的素材索引文件不可用时,下载或建立新的素材索引文件;或,
用于当判断模块51判断素材索引文件所对应的素材文件夹不可用时,生成新的素材文件夹,并下载新的素材文件,以及更新素材索引文件,将素材索引文件中的索引信息与新的素材文件相对应。
优选的,检验模块52用于建立素材文件检验线程,将所有待检验的素材文件的信息传输给素材文件检验线程,并继续即时通讯软件的其它启动操作,还包括:
检验模块52还用于建立用于接收素材文件检验线程的检验结果的通信窗口,并监听通信窗口的通信状态;
检验模块52还用于建立事件标识,在当前不具有足够的系统资源进行素材文件检验处理时,将该事件标识设置为阻塞状态。
优选的,处理模块53用于接收素材文件检验线程所返回的素材文件检验结果,并在即时通讯软件中显示检验成功的素材文件,具体为:
检验模块52监听通信窗口的通信状态,并判断事件标识是否为阻塞状态,如果是,则进行等待;
如果检验模块52判断事件标识不是阻塞状态,则检验模块52标记通信窗口的通信状态为有信号状态,处理模块53取出当前接收到的所有检验结果,将检验成功的素材文件在即时通讯软件中进行显示,将检验失败的素材文件禁用或删除,并判断素材文件检验线程是否完成对所有待检验素材文件的检验;
当处理模块53判断素材文件检验线程没有完成对所有待检验素材文件的检验时,检验模块52恢复通信窗口的通信状态为无信号状态,当处理模块53判断素材文件检验线程完成对所有待检验素材文件的检验时,关闭素材文件检验线程。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,建立独立的子线程,在CPU空闲时进行素材文件的安全性检验,避免检验过程对即时通信软件启动过程的影响,从而,能够在保障即时通信软件的工作性能的情况下,实现对于素材文件的安全性检验,满足对敏感素材文件的安全性需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种即时通讯软件中的素材文件的检验方法,其特征在于,包括以下步骤:
当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用;
当所述检验设备判断所述本地存储的素材文件可用时,所述检验设备建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作;
所述检验设备接收所述素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,其中,所述素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对所述待检验的素材文件进行检验;
其中,当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用,具体包括:
所述检验设备判断本地缓存的素材索引文件是否可用;
当所述检验设备判断所述本地缓存的素材索引文件可用时,所述检验设备判断所述素材索引文件所对应的素材文件夹是否可用;
当所述检验设备判断所述素材索引文件所对应的素材文件夹可用时,所述检验设备确认所述本地存储的素材文件为可用状态,并执行后续的素材文件检验流程。
2.如权利要求1所述的方法,其特征在于,当所述检验设备判断所述本地存储的素材文件不可用时,所述方法还包括:
所述检验设备下载新的素材文件信息,并在新的素材文件信息下载完毕后,判断新下载的所述素材文件是否可用,如果可用,则继续后续的检验流程,如果不可用,则重新进行素材文件信息的下载,直至下载到可用的素材文件。
3.如权利要求1所述的方法,其特征在于,当所述检验设备判断所述本地缓存的素材索引文件不可用时,还包括:
所述检验设备下载或建立新的素材索引文件。
4.如权利要求1所述的方法,其特征在于,当所述检验设备判断所述素材索引文件所对应的素材文件夹不可用时,还包括:
所述检验设备生成新的素材文件夹;
所述检验设备下载新的素材文件;
所述检验设备更新所述素材索引文件,将所述素材索引文件中的索引信息与所述新的素材文件相对应。
5.如权利要求3或4所述的方法,其特征在于,所述检验设备判断所述本地缓存的素材索引文件或所述素材索引文件所对应的素材文件夹是否可用,具体为:
所述检验设备在注册表中查询与素材索引文件或素材文件夹的位置信息相对应的字段中是否存在素材索引文件或素材文件夹的位置信息;
如果存在,所述检验设备获取所述素材索引文件或素材文件夹的位置信息,如果不存在,所述检验设备根据初始值确定素材索引文件或素材文件夹的位置信息;
所述检验设备根据所述素材索引文件或素材文件夹的位置信息,判断相对应的素材索引文件或素材文件夹是否可以进行信息写入;
如果判断结果为是,则判断所述素材索引文件或素材文件夹可用,如果判断结果为否,则判断所述素材索引文件或素材文件夹不可用。
6.如权利要求1所述的方法,其特征在于,所述检验设备建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作,还包括:
所述检验设备建立用于接收所述素材文件检验线程的检验结果的通信窗口,并监听所述通信窗口的通信状态;
所述检验设备建立事件标识,在当前不具有足够的系统资源进行素材文件检验处理时,将该事件标识设置为阻塞状态。
7.如权利要求1或6所述的方法,其特征在于,所述素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对所述待检验的素材文件进行检验,具体为:
所述素材文件检验线程在CPU的空闲资源达到预设阈值时,将包含当前所有待检验的素材文件的检验队列中的各待检验的素材文件按顺序进行检验,并记录所述检验结果;
所述素材文件检验线程判断事件标识是否为阻塞状态,如果是,则进行等待;
如果所述事件标识不是阻塞状态,所述素材文件检验线程判断通信窗口的通信状态是否为有信号状态,如果是,则进行等待,如果不是,则标记所述通信窗口的通信状态为有信号状态,并向检测设备发送当前记录的所述检测结果,在所述检测结果发送完毕后,恢复所述通信窗口的通信状态为无信号状态。
8.如权利要求1或6所述的方法,其特征在于,所述检验设备接收所述素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,具体为:
所述检验设备监听通信窗口的通信状态,并判断事件标识是否为阻塞状态;
如果是,则进行等待,如果不是,则标记所述通信窗口的通信状态为有信号状态,并取出当前接收到的所有检验结果,将检验成功的素材文件在所述即时通讯软件中进行显示,将检验失败的素材文件禁用或删除,并判断所述素材文件检验线程是否完成对所有待检验素材文件的检验;
当所述检验设备判断所述素材文件检验线程没有完成对所有待检验素材文件的检验时,恢复所述通信窗口的通信状态为无信号状态,当所述检验设备判断所述素材文件检验线程完成对所有待检验素材文件的检验时,所述检验设备关闭所述素材文件检验线程。
9.一种检验设备,其特征在于,包括:
判断模块,用于当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用;用于当即时通讯软件启动时,检验设备判断本地存储的素材文件是否可用,具体包括:
所述判断模块判断本地缓存的素材索引文件是否可用;
当所述判断模块判断所述本地缓存的素材索引文件可用时,进一步判断所述素材索引文件所对应的素材文件夹是否可用;
当所述判断判断所述素材索引文件所对应的素材文件夹可用时,所述判断模块确认所述本地存储的素材文件为可用状态,并执行后续的素材文件检验流程;
检验模块,与所述判断模块相连接,用于当所述判断模块判断所述本地存储的素材文件可用时,建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作;
处理模块,与所述检验模块相连接,用于接收所述检验模块所建立的素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,其中,所述素材文件检验线程在中央处理器CPU的空闲资源达到预设阈值时,对所述待检验的素材文件进行检验。
10.如权利要求9所述的检验设备,其特征在于,还包括下载模块,与所述判断模块相连接,
用于当所述判断模块判断所述本地缓存的素材索引文件不可用时,下载或建立新的素材索引文件;或,
用于当所述判断模块判断所述素材索引文件所对应的素材文件夹不可用时,生成新的素材文件夹,并下载新的素材文件,以及更新所述素材索引文件,将所述素材索引文件中的索引信息与所述新的素材文件相对应。
11.如权利要求9所述的检验设备,其特征在于,所述检验模块用于建立素材文件检验线程,将所有待检验的素材文件的信息传输给所述素材文件检验线程,并继续所述即时通讯软件的其它启动操作,还包括:
所述检验模块还用于建立用于接收所述素材文件检验线程的检验结果的通信窗口,并监听所述通信窗口的通信状态;
所述检验模块还用于建立事件标识,在当前不具有足够的系统资源进行素材文件检验处理时,将该事件标识设置为阻塞状态。
12.如权利要求9或11所述的检验设备,其特征在于,所述处理模块用于接收所述素材文件检验线程所返回的素材文件检验结果,并在所述即时通讯软件中显示所述检验成功的素材文件,具体为:
所述检验模块监听通信窗口的通信状态,并判断事件标识是否为阻塞状态,如果是,则进行等待;
如果所述检验模块判断所述事件标识不是阻塞状态,则所述检验模块标记所述通信窗口的通信状态为有信号状态,所述处理模块取出当前接收到的所有检验结果,将检验成功的素材文件在所述即时通讯软件中进行显示,将检验失败的素材文件禁用或删除,并判断所述素材文件检验线程是否完成对所有待检验素材文件的检验;
当所述处理模块判断所述素材文件检验线程没有完成对所有待检验素材文件的检验时,所述检验模块恢复所述通信窗口的通信状态为无信号状态,当所述处理模块判断所述素材文件检验线程完成对所有待检验素材文件的检验时,关闭所述素材文件检验线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910210216.XA CN102053862B (zh) | 2009-10-28 | 2009-10-28 | 一种即时通讯软件中的素材文件的检验方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910210216.XA CN102053862B (zh) | 2009-10-28 | 2009-10-28 | 一种即时通讯软件中的素材文件的检验方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102053862A CN102053862A (zh) | 2011-05-11 |
CN102053862B true CN102053862B (zh) | 2014-11-05 |
Family
ID=43958215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910210216.XA Active CN102053862B (zh) | 2009-10-28 | 2009-10-28 | 一种即时通讯软件中的素材文件的检验方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102053862B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043410B2 (en) * | 2011-08-15 | 2015-05-26 | Skype | Retrieval of stored transmissions |
CN103500096A (zh) * | 2013-09-27 | 2014-01-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息处理方法及装置 |
CN104123177B (zh) * | 2014-07-18 | 2019-01-08 | 无锡梵天信息技术股份有限公司 | 一种无锁的多线程数据同步方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964357A (zh) * | 2006-12-04 | 2007-05-16 | 北京金山软件有限公司 | 文件处理方法和信息处理装置 |
CN101295314A (zh) * | 2007-04-25 | 2008-10-29 | 日本电气株式会社 | 文件管理系统、文件管理方法及其支持设备和程序 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201295314Y (zh) * | 2008-11-22 | 2009-08-26 | 张宝忠 | 瓶式塑形牵引架 |
-
2009
- 2009-10-28 CN CN200910210216.XA patent/CN102053862B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964357A (zh) * | 2006-12-04 | 2007-05-16 | 北京金山软件有限公司 | 文件处理方法和信息处理装置 |
CN101295314A (zh) * | 2007-04-25 | 2008-10-29 | 日本电气株式会社 | 文件管理系统、文件管理方法及其支持设备和程序 |
Also Published As
Publication number | Publication date |
---|---|
CN102053862A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN103809967A (zh) | 应用和数据去除系统 | |
CN109118160B (zh) | 一种信息共享方法、装置、终端设备和介质 | |
CN109165157B (zh) | 一种测试应用程序的方法及测试平台 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN111245900A (zh) | 一种分布式消息发送的处理系统及其处理方法 | |
CN107168844B (zh) | 一种性能监控的方法及装置 | |
CN102053862B (zh) | 一种即时通讯软件中的素材文件的检验方法和设备 | |
CN106384255A (zh) | 一种创建信息码推广信息的方法和装置 | |
CN108540582A (zh) | 一种终端标识的处理方法、服务器及终端 | |
CN107526580A (zh) | 终端应用识别方法及装置 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN109634838A (zh) | 定位应用程序故障的方法、装置、存储介质和电子设备 | |
CN108595957A (zh) | 浏览器主页篡改检测方法、装置及存储介质 | |
CN112000539A (zh) | 一种巡检方法及装置 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN114895879B (zh) | 管理系统设计方案确定方法、装置、设备及存储介质 | |
CN115617612A (zh) | 一种日志上报方法、装置、计算机设备和存储介质 | |
CN114201701B (zh) | 运行环境的识别方法及装置、存储介质、服务端、客户端 | |
CN105912431A (zh) | 服务器reboot测试方法、服务器、控制器和系统 | |
CN109246737B (zh) | 云手机自动回收方法与系统 | |
CN113641628A (zh) | 数据质量检测方法、装置、设备及存储介质 | |
CN105718314A (zh) | 事件执行方法和装置及系统 | |
CN110908708A (zh) | 一种代码发布方法、装置和系统 | |
KR101808953B1 (ko) | 다수의 일반 사용자들을 통한 어플리케이션 프로그램의 품질 검사 서버 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |