CN102270158A - 一种应用程序多进程运行方法及装置 - Google Patents

一种应用程序多进程运行方法及装置 Download PDF

Info

Publication number
CN102270158A
CN102270158A CN2011102282102A CN201110228210A CN102270158A CN 102270158 A CN102270158 A CN 102270158A CN 2011102282102 A CN2011102282102 A CN 2011102282102A CN 201110228210 A CN201110228210 A CN 201110228210A CN 102270158 A CN102270158 A CN 102270158A
Authority
CN
China
Prior art keywords
dynamic base
application program
sub
master routine
subroutine
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.)
Pending
Application number
CN2011102282102A
Other languages
English (en)
Inventor
张太平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Wondershare Software Co Ltd
Original Assignee
Shenzhen Wondershare Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Wondershare Software Co Ltd filed Critical Shenzhen Wondershare Software Co Ltd
Priority to CN2011102282102A priority Critical patent/CN102270158A/zh
Publication of CN102270158A publication Critical patent/CN102270158A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明实施例提供了一种应用程序多进程运行方法,所述方法包括:主程序调用主动态库,通过主动态库查找到需要的子动态库;由预先根据所述主程序创建的多个子程序装入所述子动态库;所述多个子程序独立运行,并将运行结果返回给所述主程序。相应的,本发明实施例还公开了一种应用程序多进程运行装置。采用本发明,能够减少应用程序运行过程中占用的***磁盘空间,提高程序运行效率。

Description

一种应用程序多进程运行方法及装置
技术领域
本发明涉及计算机领域,尤其涉及一种应用程序多进程运行方法及装置。
背景技术
在现有技术中,应用程序(例如Porg.exe)需要调用动态库(例如DynamicLib.dll)来完成应用程序的请求,而主动态库还需要再一次调用子动态库(例如SubDynamicLib.dll)来完成最终的任务请求,由于子动态库中的函数不支持重载功能,因此,主动态库每次加载子动态库时都需要将该子动态库复制一份到电脑硬盘介质上再加载到内存中,同时,这样的调用会被应用程序多次调用,所以就产生如图1所示的程序调用逻辑。
这种程序逻辑在运行时有如下缺点:
1、在最终用户的电脑硬盘介质中产生多个相同的子动态库,有时多达几百多个,这样就占用了大量用户的磁盘空间。
2、当复制的子动态库越来越多时,这些子动态库与应用程序之间的数据传输的效率就会下降,影响到程序的运行速度。
发明内容
有鉴于此,本发明所要解决的技术问题在于,提供一种应用程序多进程运行方法及装置,减少应用程序运行过程中占用的***磁盘空间,提高程序运行效率。
本发明实施例提供了一种应用程序多进程运行方法,所述方法包括:
主程序调用主动态库,通过主动态库查找到需要的子动态库;
由预先根据所述主程序创建的多个子程序装入所述子动态库;
所述多个子程序独立运行,并将运行结果返回给所述主程序。
其中,所述多个子程序装入所述子动态库为:
所述多个子程序分别将所述子动态库装入自身内存地址空间。
其中,所述多个子程序运行时占用不同的CPU核心。
其中,所述主程序为编解码程序,所述子程序为预先根据所述编解码程序编写的多个子编解码程序进程。
相应的,本发明实施例还提供了一种应用程序多进程运行装置,所述装置包括:
主程序单元,用于控制主程序调用主动态库,通过所述主动态库查找到需要的子动态库;
子程序单元,用于控制预先根据所述主程序创建的多个子程序装入所述子动态库;
运行返回单元,用于控制所述多个子程序独立运行,并将所述多个子程序的运行结果返回给所述主程序。
其中,所述控制所述多个子程序装入所述子动态库为:
控制所述多个子程序分别将所述子动态库装入自身内存地址空间。
其中,运行返回单元控制所述多个子程序运行时占用不同的CPU核心。
其中,所述主程序为编解码程序,所述子程序为预先根据所述编解码程序编写的多个子编解码程序进程。
实施本发明实施例,具有如下有益效果:通过程序多进程的方式分别独立地装入动态库,在***内存中装入多个动态库独立的运行,从而不再需要在***硬盘介质中复制多个子动态库,减少了应用程序运行过程中占用的***磁盘空间,并且充分发挥了多核CPU的性能,提高了程序运行效率。
附图说明
图1为现有技术中应用程序运行时调用动态库产生的程序调用逻辑图;
图2为本发明实施例中一种应用程序多进程运行方法的流程示意图;
图3为本发明实施例中一种应用程序多进程运行装置的组成结构示意图;
图4为采用本发明的应用程序多进程运行方法的应用程序运行时调用动态库产生的程序调用逻辑图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例中一种应用程序多进程运行方法的流程示意图,如图所示该方法流程包括:
步骤S10,主程序调用主动态库,通过主动态库查找到需要的子动态库;具体地,所述多个子程序装入所述子动态库可以为:所述多个子程序分别将所述子动态库装入自身内存地址空间。本实施例中的应用程序以编解码程序为例,其主程序为Prog.exe,Prog.exe在进行编解码时,需要调用主动态库DynamicLib.dll,进而由主动态库DynamicLib.dll找到编解码程序运行时需要的子动态库SubDynamicLib.dll。
步骤S20,由预先根据所述主程序创建的多个子程序装入所述子动态库;具体地,本实施例中,可以由技术人员根据编解码主程序Prog.exe预先通过编写代码,创建得到多个子程序SubProg.exe,在主程序Prog.exe接收到请求需要调用动态库进行编解码时,由所述多个预先创建的子程序SubProg.exe分别装入所述子动态库SubDynamicLib.dll。
步骤S30,所述多个子程序独立运行,并将运行结果返回给所述主程序。具体地,所述多个子程序SubProg.exe分别独立装入子动态库SubDynamicLib.dll后,并行进行编解码操作,并将编解码运行结果返回给主程序Prog.exe。
进一步的,所述多个子程序SubProg.exe分别装入SubDynamicLib.dll独立运行时,占用的是不同CPU核心,这样更能发挥现今多核CPU架构的性能,进一步提高了程序运行效率。
图3为本发明实施例中一种应用程序多进程运行装置的组成结构示意图,如图所示所述装置包括:
主程序单元10,用于控制主程序调用主动态库,通过所述主动态库查找到需要的子动态库;本实施例的应用程序多进程运行装置以控制一编解码程序为例,应用程序主程序为Prog.exe,在运行Prog.exe进行编解码时,主程序单元控制Prog.exe调用主动态库DynamicLib.dll,进而由主动态库DynamicLib.dll找到编解码程序运行时需要的子动态库SubDynamicLib.dll。
子程序单元20,用于控制预先根据所述主程序创建的多个子程序装入所述子动态库;具体地,所述控制所述多个子程序装入所述子动态库可以为:控制所述多个子程序分别将所述子动态库装入自身内存地址空间。本实施例中,可以由技术人员根据编解码主程序Prog.exe预先通过编写代码,创建得到多个子程序SubProg.exe,本实施例的应用程序多进程运行装置在运行主程序Prog.exe需要调用动态库进行编解码时,子程序单元20控制所述多个预先创建的子程序SubProg.exe分别装入所述子动态库SubDynamicLib.dll。
运行返回单元30,用于控制所述多个子程序独立运行,并将所述多个子程序的运行结果返回给所述主程序。具体地,所述多个子程序SubProg.exe分别独立装入子动态库SubDynamicLib.dll后,在运行返回单元30的控制下并行进行编解码操作,并将编解码运行结果返回给主程序Prog.exe。
进一步的,运行返回单元30控制所述多个子程序运行时占用不同的CPU核心,这样更能发挥现今多核CPU架构的性能,进一步提高了程序运行效率。
需要说明的是,本发明实施例以编解码应用程序为例,但显然本方案不仅能够应用在编解码程序中,在音频、图像、文字处理方面的各种应用程序以及其他需要调用动态库完成操作请求的应用程序均能够采用本方案,通过程序多进程的方式分别独立地装入动态库,在***内存中装入多个动态库独立的运行,参考图4所示的程序调用逻辑图,从而不再需要在***硬盘介质中复制多个子动态库,减少了应用程序运行过程中占用的***磁盘空间,并且充分发挥了多核CPU的性能,提高了程序运行效率。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

Claims (8)

1.一种应用程序多进程运行方法,其特征在于,所述方法包括:
主程序调用主动态库,通过主动态库查找到需要的子动态库;
由预先根据所述主程序创建的多个子程序装入所述子动态库;
所述多个子程序独立运行,并将运行结果返回给所述主程序。
2.如权利要求1所述的应用程序多进程运行方法,其特征在于,所述多个子程序装入所述子动态库为:
所述多个子程序分别将所述子动态库装入自身内存地址空间。
3.如权利要求1所述的应用程序多进程运行方法,其特征在于,所述多个子程序运行时占用不同的CPU核心。
4.如权利要求1~3中任一项所述的应用程序多进程运行方法,其特征在于,所述主程序为编解码程序,所述子程序为预先根据所述编解码程序编写的多个子编解码程序进程。
5.一种应用程序多进程运行装置,其特征在于,所述装置包括:
主程序单元,用于控制主程序调用主动态库,通过所述主动态库查找到需要的子动态库;
子程序单元,用于控制预先根据所述主程序创建的多个子程序装入所述子动态库;
运行返回单元,用于控制所述多个子程序独立运行,并将所述多个子程序的运行结果返回给所述主程序。
6.如权利要求5所述的应用程序多进程运行装置,其特征在于,所述控制所述多个子程序装入所述子动态库为:
控制所述多个子程序分别将所述子动态库装入自身内存地址空间。
7.权利要求5所述的应用程序多进程运行装置,其特征在于,运行返回单元控制所述多个子程序运行时占用不同的CPU核心。
8.如权利要求5~7中任一项所述的应用程序多进程运行方法,其特征在于,所述主程序为编解码程序,所述子程序为预先根据所述编解码程序编写的多个子编解码程序进程。
CN2011102282102A 2011-08-10 2011-08-10 一种应用程序多进程运行方法及装置 Pending CN102270158A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102282102A CN102270158A (zh) 2011-08-10 2011-08-10 一种应用程序多进程运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102282102A CN102270158A (zh) 2011-08-10 2011-08-10 一种应用程序多进程运行方法及装置

Publications (1)

Publication Number Publication Date
CN102270158A true CN102270158A (zh) 2011-12-07

Family

ID=45052469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102282102A Pending CN102270158A (zh) 2011-08-10 2011-08-10 一种应用程序多进程运行方法及装置

Country Status (1)

Country Link
CN (1) CN102270158A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260241A (zh) * 2015-10-23 2016-01-20 南京理工大学 集群***中进程相互协作的方法
CN109408147A (zh) * 2018-10-22 2019-03-01 深圳市元征科技股份有限公司 一种协议确定方法、***、装置及可读存储介质
CN111158299A (zh) * 2020-03-20 2020-05-15 艾德克斯电子(南京)有限公司 可多通道控制仪器的软件***及其降低计算机消耗的方法
CN111246282A (zh) * 2020-03-16 2020-06-05 青岛海信传媒网络技术有限公司 显示设备中节目信息获取方法及显示设备
CN111855158A (zh) * 2020-07-31 2020-10-30 武汉华工激光工程有限责任公司 多光斑光束分析方法及装置
CN112162780A (zh) * 2020-09-24 2021-01-01 联想(北京)有限公司 应用运行控制方法、装置及电子设备
CN112835651A (zh) * 2021-04-01 2021-05-25 中国空空导弹研究院 一种多路图像并行解码处理方法
CN113282380A (zh) * 2020-02-18 2021-08-20 深圳信可通讯技术有限公司 一种多路控制接口调用的方法、装置及计算机可读介质
CN113341933A (zh) * 2021-06-23 2021-09-03 中国第一汽车股份有限公司 车用中央控制器的诊断***及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834911A (zh) * 2005-03-14 2006-09-20 华为技术有限公司 实现程序加载运行的方法
CN101187899A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 嵌入式***存储空间的优化方法
CN101673204A (zh) * 2009-08-13 2010-03-17 上海酷吧信息技术有限公司 一种基于arm的手机应用程序动态加载方法
CN101989192A (zh) * 2010-11-04 2011-03-23 浙江大学 一种程序自动并行化的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834911A (zh) * 2005-03-14 2006-09-20 华为技术有限公司 实现程序加载运行的方法
CN101187899A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 嵌入式***存储空间的优化方法
CN101673204A (zh) * 2009-08-13 2010-03-17 上海酷吧信息技术有限公司 一种基于arm的手机应用程序动态加载方法
CN101989192A (zh) * 2010-11-04 2011-03-23 浙江大学 一种程序自动并行化的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260241B (zh) * 2015-10-23 2019-04-16 南京理工大学 集群***中进程相互协作的方法
CN105260241A (zh) * 2015-10-23 2016-01-20 南京理工大学 集群***中进程相互协作的方法
CN109408147A (zh) * 2018-10-22 2019-03-01 深圳市元征科技股份有限公司 一种协议确定方法、***、装置及可读存储介质
CN109408147B (zh) * 2018-10-22 2022-04-19 深圳市元征科技股份有限公司 一种协议确定方法、***、装置及可读存储介质
CN113282380B (zh) * 2020-02-18 2024-05-24 深圳信可通讯技术有限公司 一种多路控制接口调用的方法、装置及计算机可读介质
CN113282380A (zh) * 2020-02-18 2021-08-20 深圳信可通讯技术有限公司 一种多路控制接口调用的方法、装置及计算机可读介质
CN111246282B (zh) * 2020-03-16 2022-03-25 青岛海信传媒网络技术有限公司 显示设备中节目信息获取方法及显示设备
CN111246282A (zh) * 2020-03-16 2020-06-05 青岛海信传媒网络技术有限公司 显示设备中节目信息获取方法及显示设备
CN111158299A (zh) * 2020-03-20 2020-05-15 艾德克斯电子(南京)有限公司 可多通道控制仪器的软件***及其降低计算机消耗的方法
CN111855158A (zh) * 2020-07-31 2020-10-30 武汉华工激光工程有限责任公司 多光斑光束分析方法及装置
CN112162780A (zh) * 2020-09-24 2021-01-01 联想(北京)有限公司 应用运行控制方法、装置及电子设备
CN112162780B (zh) * 2020-09-24 2022-03-25 联想(北京)有限公司 应用运行控制方法、装置及电子设备
CN112835651B (zh) * 2021-04-01 2023-10-20 中国空空导弹研究院 一种多路图像并行解码处理方法
CN112835651A (zh) * 2021-04-01 2021-05-25 中国空空导弹研究院 一种多路图像并行解码处理方法
CN113341933A (zh) * 2021-06-23 2021-09-03 中国第一汽车股份有限公司 车用中央控制器的诊断***及方法

Similar Documents

Publication Publication Date Title
CN102270158A (zh) 一种应用程序多进程运行方法及装置
CN106156278B (zh) 一种数据库数据读写方法和装置
US20180136869A1 (en) Reducing storage requirements for storing memory addresses and values
US11449355B2 (en) Non-volatile memory (NVM) based method for performance acceleration of containers
US20120179447A1 (en) Hybrid Simulation System and Method
JP6506412B2 (ja) アプリケーションロード方法及び装置
US8762967B2 (en) Program compiler, program installer, and program install method
JP6432450B2 (ja) 並列計算装置、コンパイル装置、並列処理方法、コンパイル方法、並列処理プログラムおよびコンパイルプログラム
US10261918B2 (en) Process running method and apparatus
KR102202107B1 (ko) 사용자 개별 서비스 환경을 위한 스토리지 장치 제어 방법 및 스토리지 컨트롤러
CN103810009A (zh) 一种计算机操作***启动加速的方法和装置
JP6042454B2 (ja) ユーザ生成によるデータセンターの省電力
CN103365926A (zh) 在文件***中用于保存快照的方法和装置
CN103927215A (zh) 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及***
US10635418B2 (en) State recovery methods and apparatus for computing platforms
CN103617133A (zh) 一种Windows***中虚拟内存压缩方法和装置
CN104063234A (zh) 一种兼容方法及装置
CN102543159A (zh) 一种ddr控制器及其实现方法和芯片
CN116301644B (zh) 基于多硬盘协调的数据存储方法、***、终端及介质
CN111722800A (zh) 一种分布式存储***row快照实现方法及相关组件
CN101236489A (zh) 虚拟硬件***及其指令执行方法、以及虚拟机
JP5187944B2 (ja) コンピュータ使用可能コードを実行する装置及び方法
Rekachinsky et al. Modeling parallel processing of databases on the central processor Intel Xeon Phi KNL
CN105389130A (zh) 一种信息处理方法及固态硬盘
KR20230123761A (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road, room 9 building on the north side of block A901 No. 006 TCL Industry Research Institute building A A Building 8 floor

Applicant after: Shenzhen Wondershare Information Technology Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road Building A block 8 Building TCL

Applicant before: Shenzhen Wondershare Software Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN WONDERSHARE SOFTWARE CO., LTD. TO: SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY CO., LTD.

C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111207