[发明专利]一种程序并发的方法及系统有效
申请号: | 201110043136.7 | 申请日: | 2011-02-23 |
公开(公告)号: | CN102650956A | 公开(公告)日: | 2012-08-29 |
发明(设计)人: | 柯宗庆;柯宗贵;梁大海 | 申请(专利权)人: | 蓝盾信息安全技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京国枫凯文律师事务所 11366 | 代理人: | 杨思东 |
地址: | 510665 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 并发 方法 系统 | ||
技术领域
本发明涉及计算机软件领域,特别是涉及一种程序并发的方法及系统。
背景技术
由于直接调用争用资源的并发操作程序可能会引起计算结果的逻辑错误(其中,对于操作争用资源的程序代码段,称为临界区)。为了避免上述可能出现的逻辑错误,现有技术提供的方案是在进入临界区时进行加锁操作,离开临界区时进行解锁操作,以保证不会同时对同一资源进行读或写的操作,从而避免计算结果的逻辑错误。但是现有技术提供的临界区上锁操作方案(亦称为同步操作)的实质是将并发操作串行化,具体参见图1所示,从而使未取得资源控制权的程序等待已取得控制权的程序,因此其计算机程序争用资源的并发运行效率较低。
发明内容
本发明提供一种程序并发的方法及系统,用以解决现有技术中计算机程序争用资源的并发运行效率较低的问题。
本发明的方法包括下列步骤:各并发进程在进入临界区前的步骤:分别获取具有唯一性的时间戳;各并发进程在临界区内的步骤:将获取的时间戳作为本进程所操作子文件的文件名的一部分;各并发进程离开临界区后的步骤:依子文件的文件名所携带的时间戳的先后顺序,将各子文件合并。
进一步,获取具有唯一性时间戳的方式是对获取时间戳的进程使用PV锁,或者取时间戳的时间单位与进程并发频率相匹配。
进一步,各并发进程在临界区内的步骤中还包括:同一文件的子文件使用相同的前辍,作为子文件的文件名的一部分;以及,各并发进程离开临界区后的步骤中还包括:将具有相同前辍的子文件合并。
本发明的系统包括:时间戳获取单元,用于在各并发进程进入临界区前,为每一进程获取具有唯一性的时间戳;文件名修改单元,用于在各并发进程进入临界区后,将获取的时间戳作为本进程所操作子文件的文件名的一部分;合并单元,用于在各并发进程离开临界区后,依子文件的文件名所携带的时间戳的先后顺序,将各子文件合并。
进一步,时间戳获取单元获取具有唯一性时间戳的方式是对获取时间戳的进程使用PV锁,或者取时间戳的时间单位与进程并发频率相匹配。
进一步,文件名修改单元还将同一文件的子文件以相同的前辍作为子文件的文件名的一部分;以及,合并单元将具有相同前辍的子文件合并。
本发明中由于使用了时间戳,所以以时间戳作为子文件名的一部分后,子文件名必然不会重名,从而可以避免对同一文件资源同时进行操作。因此,对子文件操作的程序段就可以并发的进行而不会造成逻辑错误。
附图说明
图1为现有并发处理过程示意图;
图2为本发明实施例中的方法步骤流程图;
图3为本发明实施例中的系统结构示意图;
图4为本发明实施例中的发处理过程示意图。
具体实施方式
为了充分利用计算机的性能,改进传统方法对争用文件资源的并发程序的性能,本发明实施例提供了一种程序并发的方法,参见图2所示,包括下列步骤:
S101、各并发进程在进入临界区前,分别获取具有唯一性的时间戳。
具体的,可利用系统时钟获取时间戳。获取时间戳的程序(即进程,不再赘述)可以通过足够小的时间单位作为时间戳,以保证时间戳的唯一性。对于系统底层无法提供足够高精度的时间戳或多处理器的计算机,可以仅对获取时间戳的程序使用PV锁来保证时间戳的唯一性。
上述PV锁,即P操作和V操作是不可中断的程序段,称为原语。P、V原语中P是荷兰语的Passeren,相当于英文的pass,V是荷兰语的Verhoog,相当于英文中的incremnet。各操作系统都提供了PV锁的P和V的操作接口,又称为互斥锁。
S102、各并发进程在临界区内,将获取的时间戳作为本进程所操作子文件的文件名的一部分。
具体的,先参照现有技术的处理方式,将一个文件拆分成若干子文件,各并发进程将在临界区内分别操作上述子文件。本步骤中,还将获取的时间戳作为本进程所操作子文件的文件名的一部分,用于避免重名。
为了便于S103步骤中完成合并操作,本步骤中还可将同一文件的子文件使用相同的前辍,作为子文件的文件名的一部分。
S103、各并发进程离开临界区后,依子文件的文件名所携带的时间戳的先后顺序,将各子文件合并。
若步骤S102中进行了增加前缀的操作,则可将具有相同前辍的子文件依子文件的文件名所携带的时间戳的先后顺序合并,便于完成合并操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蓝盾信息安全技术股份有限公司,未经蓝盾信息安全技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110043136.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子信息实验控制装置
- 下一篇:地铁OCC电力调度中继电保护仿真培训系统