CN109766191A - 一种单机伪分布式文件检查方法及系统 - Google Patents
一种单机伪分布式文件检查方法及系统 Download PDFInfo
- Publication number
- CN109766191A CN109766191A CN201910043412.6A CN201910043412A CN109766191A CN 109766191 A CN109766191 A CN 109766191A CN 201910043412 A CN201910043412 A CN 201910043412A CN 109766191 A CN109766191 A CN 109766191A
- Authority
- CN
- China
- Prior art keywords
- file resource
- work process
- file
- resource
- processor
- 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.)
- Withdrawn
Links
Landscapes
- Multi Processors (AREA)
Abstract
一种单机伪分布式文件检查方法,该方法包括以下步骤:Master进程的文件资源调度器创建多个文件资源处理器;文件资源调度器枚举出需要待检查的文件类型,同时,文件资源处理器获得文件资源;文件资源处理器将其字符串标识传递给Work进程,Work进程进行检查处理;文件资源处理器同时等待Work进程的处理结果;文件资源处理器将Work进程的处理结果发送至资源监控器,文件资源处理器继续上一步操作,直至文件资源调度器接收到所有的文件资源处理器完成处理的通知。还包括一种单机伪分布式文件检查系统。解决传统单进程单线程文件检查效率慢的问题;同时解决单进程多线程资源共享和单点崩溃问题。
Description
技术领域
本方面涉及文件检查技术领域,具体地说是一种单机伪分布式文件检查方法及系统。
背景技术
伪分布式是一种结构,一种理念,正常的分布式为多个物理机器一同工作。伪分布式是一个物理主机通过多进程的方式模拟实现分布式,由于和真正多个物理机不同故为伪分布式。
传统的文件检查一般是单进程单线程的方式,此种方式不仅检查效率低,而且还容易出现单点崩溃的问题。
发明内容
本发明实施例中提供了一种单机伪分布式文件检查方法及系统,用于解决传统的文件检查效率低,而且还容易出现单点崩溃的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明第一方面提供了一种单机伪分布式文件检查方法,该方法包括以下步骤:
Master进程的文件资源调度器创建多个文件资源处理器;
文件资源调度器枚举出需要待检查的文件类型,同时,文件资源处理器获得文件资源;
文件资源处理器将其字符串标识传递给Work进程,Work进程进行检查处理;文件资源处理器同时等待Work进程的处理结果;
文件资源处理器将Work进程的处理结果发送至资源监控器,文件资源处理器继续上一步操作,直至文件资源调度器接收到所有的文件资源处理器完成处理的通知。
结合第一方面,在第一方面第一种可能的实现方式中,Work进程进行检查处理具体包括以下方法:
Work进程通过字符串标识获取文件资源;
Work进程通过文字提取技术获得文件资源内容,并将文件资源内容写入Windows管道中。
结合第一方面,在第一方面第二种可能的实现方式中,在Work进程进行检查处理之前还包括文件资源处理器判断Work进程是否启动,具体包括以下方法:
文件资源处理器通过检测其字符串标识的互斥对象是否存在;
如果互斥对象不存在,则Work进程未启动,文件资源处理器创建Work进程;
如果互斥对象存在,则Work进程已启动。
结合第一方面,在第一方面第三种可能的实现方式中,在Work进程进行检查处理之后还包括文件资源处理器判断Work进程的处理状态,具体包括以下方法:
如果文件资源处理器通过Windows管道得到管道异常通知,则Work进程异常;
如果文件资源处理器通过Windows管道读取到Work进程通过Windows管道输出的文件资源文本内容,则Work进程正常。
结合第一方面,在第一方面第四种可能的实现方式中,所述的文件资源处理器获取文件资源的方式包括:
多个文件资源处理器通过Windows条件变量实现多线程资源访问同步竞争待检查文件资源。
结合第一方面,在第一方面第五种可能的实现方式中,文件资源调度器在接收到所有的文件资源处理器完成处理的通知后,还包括判断其是否空闲;
如果非空闲,则继续等待Work进程通知直到空闲;
如果空闲,则通知Work进程退出并同步通知文件资源调度器处理完成。
结合第一方面,在第一方面第六种可能的实现方式中,所述的文件资源处理器与Work进程一一对应,所述文件资源处理器的数量取决于CPU的核数。
本发明第二方面提供了一种单机伪分布式文件检查系统,该系统包括文件资源调度器,用于计算所需的文件资源处理器的数量并创建文件资源处理器;和,
文件资源处理器,用于获取待检查的文件,将其字符串标识传递给Work进程,将Work进程的处理结果发送至资源监控器;和,
Work进程,用于获得文件资源的内容,将文件资源内容写入Windows管道;和,
Windows管道,用于给文件资源处理器和Work进程提供通信;和,
资源监控器,用于查看文件的检查结果。
本发明第二方面的所述系统能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
由以上技术方案可见,本发明中借鉴了互联网分布式系统的思想,实现了单机伪分布式文件检查。多进程资源独立,单个Work进程崩溃不会影响Master进程和其他Work进程,健壮性强。从资源分配上来说,多进程方案比多线程方案更加灵活和自由,Work进程除非程序异常,否则不会重新创建Work进程,减少进程创建带来的开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种单机伪分布式文件检查方法流程示意图;
图2为本发明实施例所应用的一种单机伪分布式文件检查系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,一种单机伪分布式文件检查方法,包括以下步骤:
S1、Master进程的文件资源调度器根据CPU的核数创建多个文件资源处理器;
S2、文件资源调度器枚举出需要待检查的文件类型,同时,文件资源处理器获得文件资源;
S3、文件资源处理器将其字符串标识传递给Work进程;
S4、判断Work进程是否启动;
S51、如果文件资源处理器的字符串标识的互斥对象不存在,则Work进程未启动,文件资源处理器创建Work进程;
S52、如果文件资源处理器的字符串标识的互斥对象存在,则Work进程已启动。
S6、Work进程进行检查处理;
S7、文件资源处理器同时等待Work进程的处理结果;
S71、如果文件资源处理器通过Windows管道得到管道异常通知,则Work进程异常;
S72、如果文件资源处理器通过Windows管道读取到Work进程通过Windows管道输出的文件资源文本内容,则Work进程正常。
S8、文件资源处理器将Work进程的处理结果发送至资源监控器,文件资源处理器继续上一步操作,直至文件资源调度器接收到所有的文件资源处理器完成处理的通知。
S9、文件资源调度器判断其是否空闲;
S91、如果非空闲,则继续等待Work进程通知直到空闲;
S92、如果空闲,则通知Work进程退出并同步通知文件资源调度器处理完成。
步骤S2中,文件资源处理器获取文件资源的方式包括:多个文件资源处理器通过Windows条件变量实现多线程资源访问同步竞争待检查文件资源。
步骤S6中,Work进程进行检查处理具体包括以下方法:
S61、Work进程通过字符串标识获取文件资源;
S62、Work进程通过文字提取技术获得文件资源内容,并将文件资源内容写入Windows管道中。
以上所述中的文件资源处理器与Work进程一一对应。
如图2所示,一种单机伪分布式文件检查系统,该系统包括文件资源调度器,用于计算所需的文件资源处理器的数量并创建文件资源处理器;和,文件资源处理器,用于获取待检查的文件,将其字符串标识传递给Work进程,将Work进程的处理结果发送至资源监控器;和,Work进程,用于获得文件资源的内容,将文件资源内容写入Windows管道;和,Windows管道,用于给文件资源处理器和Work进程提供通信;和,资源监控器,用于查看文件的检查结果。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种单机伪分布式文件检查方法,其特征是,该方法包括以下步骤:
Master进程的文件资源调度器创建多个文件资源处理器;
文件资源调度器枚举出需要待检查的文件类型,同时,文件资源处理器获得文件资源;
文件资源处理器将其字符串标识传递给Work进程,Work进程进行检查处理;文件资源处理器同时等待Work进程的处理结果;
文件资源处理器将Work进程的处理结果发送至资源监控器,文件资源处理器继续上一步操作,直至文件资源调度器接收到所有的文件资源处理器完成处理的通知。
2.根据权利要求1所述的一种单机伪分布式文件检查方法,其特征是,Work进程进行检查处理具体包括以下方法:
Work进程通过字符串标识获取文件资源;
Work进程通过文字提取技术获得文件资源内容,并将文件资源内容写入Windows管道中。
3.根据权利要求2所述的一种单机伪分布式文件检查方法,其特征是,在Work进程进行检查处理之前还包括文件资源处理器判断Work进程是否启动,具体包括以下方法:
文件资源处理器通过检测其字符串标识的互斥对象是否存在;
如果互斥对象不存在,则Work进程未启动,文件资源处理器创建Work进程;
如果互斥对象存在,则Work进程已启动。
4.根据权利要求2所述的一种单机伪分布式文件检查方法,其特征是,在Work进程进行检查处理之后还包括文件资源处理器判断Work进程的处理状态,具体包括以下方法:
如果文件资源处理器通过Windows管道得到管道异常通知,则Work进程异常;
如果文件资源处理器通过Windows管道读取到Work进程通过Windows管道输出的文件资源文本内容,则Work进程正常。
5.根据权利要求1所述的一种单机伪分布式文件检查方法,其特征是,所述的文件资源处理器获取文件资源的方式包括:
多个文件资源处理器通过Windows条件变量实现多线程资源访问同步竞争待检查文件资源。
6.根据权利要求1所述的一种单机伪分布式文件检查方法,其特征是,文件资源调度器在接收到所有的文件资源处理器完成处理的通知后,还包括判断其是否空闲;
如果非空闲,则继续等待Work进程通知直到空闲;
如果空闲,则通知Work进程退出并同步通知文件资源调度器处理完成。
7.根据权利要求1-6任意一项所述的一种单机伪分布式文件检查方法,其特征是,所述的文件资源处理器与Work进程一一对应,所述文件资源处理器的数量取决于CPU的核数。
8.一种单机伪分布式文件检查系统,利用权利要求1-7任意一项所述的方法,其特征是,该系统包括文件资源调度器,用于计算所需的文件资源处理器的数量并创建文件资源处理器;和,
文件资源处理器,用于获取待检查的文件,将其字符串标识传递给Work进程,将Work进程的处理结果发送至资源监控器;和,
Work进程,用于获得文件资源的内容,将文件资源内容写入Windows管道;和,
Windows管道,用于给文件资源处理器和Work进程提供通信;和,
资源监控器,用于查看文件的检查结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910043412.6A CN109766191A (zh) | 2019-01-17 | 2019-01-17 | 一种单机伪分布式文件检查方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910043412.6A CN109766191A (zh) | 2019-01-17 | 2019-01-17 | 一种单机伪分布式文件检查方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766191A true CN109766191A (zh) | 2019-05-17 |
Family
ID=66452831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910043412.6A Withdrawn CN109766191A (zh) | 2019-01-17 | 2019-01-17 | 一种单机伪分布式文件检查方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766191A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955721A (zh) * | 2011-08-16 | 2013-03-06 | 阿里巴巴集团控股有限公司 | 一种测试用的压力生成方法及装置 |
CN104899006A (zh) * | 2015-05-25 | 2015-09-09 | 山东中孚信息产业股份有限公司 | 一种多系统平台的多进程并行处理方法 |
JP2017123011A (ja) * | 2016-01-06 | 2017-07-13 | 三菱電機株式会社 | 処理実行装置、処理実行方法及び制御プログラム |
-
2019
- 2019-01-17 CN CN201910043412.6A patent/CN109766191A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955721A (zh) * | 2011-08-16 | 2013-03-06 | 阿里巴巴集团控股有限公司 | 一种测试用的压力生成方法及装置 |
CN104899006A (zh) * | 2015-05-25 | 2015-09-09 | 山东中孚信息产业股份有限公司 | 一种多系统平台的多进程并行处理方法 |
JP2017123011A (ja) * | 2016-01-06 | 2017-07-13 | 三菱電機株式会社 | 処理実行装置、処理実行方法及び制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577185B (zh) | 一种任务执行方法及基于多核处理器的控制器 | |
CN105843694A (zh) | 可独立操作的处理器之间错误信息的受控恢复方法和装置 | |
JP4667206B2 (ja) | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 | |
CN104094235B (zh) | 多线程计算 | |
CN106462394B (zh) | 使用共享硬件资源的群集处理器核心中硬件线程的动态负载平衡以及相关的电路、方法和计算机可读媒体 | |
US20140375658A1 (en) | Processor Core to Graphics Processor Task Scheduling and Execution | |
CN106649021B (zh) | PCIe从设备测试装置 | |
US20120210332A1 (en) | Asynchronous programming execution | |
CN106030532B (zh) | 用于事务存储器程序的软件回放器 | |
US10846088B2 (en) | Control of instruction execution in a data processor | |
CN107003828B (zh) | 图形指令的仪器化 | |
US20160314089A1 (en) | Allocating virtual resources to root pci bus | |
CN103713977B (zh) | 一种微处理器ip核比较验证的实现方法 | |
CN114327975A (zh) | 片上系统 | |
US9910760B2 (en) | Method and apparatus for interception of synchronization objects in graphics application programming interfaces for frame debugging | |
CN107885650A (zh) | 一种程序调试方法及系统 | |
CN109766191A (zh) | 一种单机伪分布式文件检查方法及系统 | |
JP5054558B2 (ja) | マルチコアlsi | |
US9690619B2 (en) | Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory | |
CN102725735B (zh) | 多线程协同仿真方法及系统 | |
US9317636B1 (en) | System and method for stopping integrated circuit simulation | |
EP4310688A1 (en) | Rendering system and method based on system-on-chip (soc) platform | |
US20090077348A1 (en) | Providing a dedicated communication path for compliant sequencers | |
US9038077B1 (en) | Data transfer protection in a multi-tasking modeling environment | |
US7552269B2 (en) | Synchronizing a plurality of processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190517 |