CN111414244A - 一种高效调用密码机的方法 - Google Patents

一种高效调用密码机的方法 Download PDF

Info

Publication number
CN111414244A
CN111414244A CN202010211189.4A CN202010211189A CN111414244A CN 111414244 A CN111414244 A CN 111414244A CN 202010211189 A CN202010211189 A CN 202010211189A CN 111414244 A CN111414244 A CN 111414244A
Authority
CN
China
Prior art keywords
task
conversation
thread
list
session
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.)
Granted
Application number
CN202010211189.4A
Other languages
English (en)
Other versions
CN111414244B (zh
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.)
Zhongan Yunke Technology Development Shandong Co ltd
Original Assignee
Zhongan Yunke Technology Development Shandong 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 Zhongan Yunke Technology Development Shandong Co ltd filed Critical Zhongan Yunke Technology Development Shandong Co ltd
Priority to CN202010211189.4A priority Critical patent/CN111414244B/zh
Publication of CN111414244A publication Critical patent/CN111414244A/zh
Application granted granted Critical
Publication of CN111414244B publication Critical patent/CN111414244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及信息安全技术领域,且公开了一种高效调用密码机的方法,所述方法应用于密码机中,所述方法包括:SDF接口会话管理和SDF接口调用整体流程;1)、SDF接口会话管理包括:S1、根据参数创建会话的空闲列表;S2、创建SDF会话句柄并存入空闲列表中,该空闲列表的参数可以设置最大/最小会话连接数和会话空闲时间,超过空闲时间没有调用,空闲列表自动释放多余的会话连接。本高效调用密码机的方法,通过空闲列表设置最大/最小会话连接数和会话空闲时间,减少系统开销,会话复用管理,线程资源池化,任务队列机制,可以高效的处理任物,提高运行效率,达到优化资源,提升密码机的性能,更高效的调用密码机接口的优点。

Description

一种高效调用密码机的方法
技术领域
本发明涉及信息安全技术领域,具体为一种高效调用密码机的方法。
背景技术
信息作为一种资源,它的普遍性、共享性、增值性、可处理性和多效用性,使其对于人类具有特别重要的意义,信息安全的实质就是要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏,即保证信息的安全性。
目前信息安全领域中上层应用程序与密码机互最通用的方法是调用SDF接口函数,SDF接口函数提供了一套完整的初始化到创建的完整流程,在使用时需要打开设备,创建会话句柄,使用完之后需要释放会话句柄,关闭连接,这个过程系统开销非常大,占用系统资源多,而在高并发的交互场景下,多线程的调用,频繁的调用SDF接口加解密,而多线程的创建销毁,频繁的上下文切换,造成系统资源的浪费,系统整体响应变慢,导致宕机,难以保证系统的健壮性,数据的准确性,SDF接口如何高效的调用成为系统设计的瓶颈所在,如何将单台密码机的性能发挥到极致成为难点。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种高效调用密码机的方法,具备对现有SDF接口封装,优化资源,提升密码机的性能,更高效的调用密码机接口的优点,解决了上述背景技术中提到的问题。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种高效调用密码机的方法,所述方法应用于密码机中,所述方法包括:SDF接口会话管理和SDF接口调用整体流程。
1)、SDF接口会话管理包括:
S1、根据参数创建会话的空闲列表。
S2、创建SDF会话句柄并存入空闲列表中,该空闲列表的参数可以设置最大/最小会话连接数和会话空闲时间,超过空闲时间没有调用,空闲列表自动释放多余的会话连接,直到设置的最小会话数,减少系统开销,在系统调用频繁时,如果会话连接不够,每次以1.5倍的速度创建会话连接存入空闲列表中,等待调用直到最大连接数,如果连续三次会话调用失败,根据错误码判断会话是否失效,如果失效则更新整个会话列表。
S3、维护会话空闲列表。
S4、从空闲列表中获取会话句柄使用,用完后将会话句柄归还空闲列表。
3)、SDF接口调用整体流程包括:
a、由主线程循环访问任务列表,读取所有任务,如果没有任务就进入阻塞状态,直到有任务进来,每次读取线程池数量相等的任务数量。
b、将任务分配至对应的线程,由该线程负责整个任务的生命周期,中间不再有其他线程执行,避免上下文的频繁切换,由负责该任务的线程从空闲列表中获取一个会话的连接,会话的空闲列表则减少一个会话数。
c、由工作线程使用该会话连接,完成具体任务,一但会话连接使用完毕,立即将该会话连接归还至空闲列表中,等待下次调用,同时会话空闲列表数量加一,如果空闲会话列表满了则释放该会话,任务执行完毕返回结果,将线程状态置为可用,根据空闲线程数量,从任务列表中读取相应的数量任务并提交给线程池,则一个任务执行完毕。
优选的,所述维护会话空闲列表的任务调度模型为:
⑴、将需要执行的任务添加至队列中采用事件/任务循环机制。
⑵、循环遍历并选取的所有任务或者事件,任务是以先进先出的(FIFO)的顺序执行,保证字节内容总是按正确的顺序被处理,消除潜在的数据损坏可能性。
优选的,所述事件循环的处理模式为:
①循环遍历,并处理所有事件。
②没有事件时阻塞,直到有事件已经可以被运行。
优选的,所述维护会话空闲列表的工作线程池,默认线程池的大小为核心数的两倍,可以设置最大最小连接数,基本的池化模式可以描述为:从池的空闲线程列表中选择一个Thread,并且指派他去运行一个已经提交的任务,当任务完成时将该Thread返回给空闲列表使其可以被重复使用,使得每个任务都将只会被一个Thread处理。
优选的,所述工作线程池还包括一个定时任务线程,定时任务线程会定时检查在指定时间间隔内有没有收到入站的任务,如果没有则会释放线程资源,只维护最小线程数,并且进入休眠状态,直到有新的任务进入,再被唤醒。
优选的,所述SDF的解释为应用程序调用加密机的一套标准接口。
(三)有益效果
本发明提供了一种高效调用密码机的方法,具备以下有益效果:
本高效调用密码机的方法,通过空闲列表设置最大/最小会话连接数和会话空闲时间,减少系统开销,会话复用管理,线程资源池化,任务队列机制,可以高效的处理任物,提高运行效率,达到优化资源、提升密码机的性能、更高效的调用密码机接口的优点。
附图说明
图1为本发明SDF接口会话管理流程图;
图2为本发明SDF接口调用整体流程图;
图3为本发明工作线程池状态图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1-3所示,本发明提供一种技术方案:一种高效调用密码机的方法,方法应用于密码机中,方法包括:SDF接口会话管理和SDF接口调用整体流程。
1)、SDF接口会话管理包括:
S1、根据参数创建会话的空闲列表。
S2、创建SDF会话句柄并存入空闲列表中,该空闲列表的参数可以设置最大/最小会话连接数和会话空闲时间,超过空闲时间没有调用,空闲列表自动释放多余的会话连接,直到设置的最小会话数,减少系统开销,在系统调用频繁时,如果会话连接不够,每次以1.5倍的速度创建会话连接存入空闲列表中,等待调用直到最大连接数,如果连续三次会话调用失败,根据错误码判断会话是否失效,如果失效则更新整个会话列表。
S3、维护会话空闲列表。
S4、从空闲列表中获取会话句柄使用,用完后将会话句柄归还空闲列表。
4)、SDF接口调用整体流程包括:
a、由主线程循环访问任务列表,读取所有任务,如果没有任务就进入阻塞状态,直到有任务进来,每次读取线程池数量相等的任务数量。
b、将任务分配至对应的线程,由该线程负责整个任务的生命周期,中间不再有其他线程执行,避免上下文的频繁切换,由负责该任务的线程从空闲列表中获取一个会话的连接,会话的空闲列表则减少一个会话数。
c、由工作线程使用该会话连接,完成具体任务,一但会话连接使用完毕,立即将该会话连接归还至空闲列表中,等待下次调用,同时会话空闲列表数量加一,如果空闲会话列表满了则释放该会话,任务执行完毕返回结果,将线程状态置为可用,根据空闲线程数量,从任务列表中读取相应的数量任务并提交给线程池,则一个任务执行完毕。
维护会话空闲列表的任务调度模型为:
⑴、将需要执行的任务添加至队列中采用事件/任务循环机制。
⑵、循环遍历并选取的所有任务或者事件,任务是以先进先出的(FIFO)的顺序执行,保证字节内容总是按正确的顺序被处理,消除潜在的数据损坏可能性。
事件循环的处理模式为:
①循环遍历,并处理所有事件。
②没有事件时阻塞,直到有事件已经可以被运行。
维护会话空闲列表的工作线程池,默认线程池的大小为核心数的两倍,可以设置最大最小连接数,基本的池化模式可以描述为:从池的空闲线程列表中选择一个Thread,并且指派他去运行一个已经提交的任务,当任务完成时将该Thread返回给空闲列表使其可以被重复使用,使得每个任务都将只会被一个Thread处理,这个设计增加了密码机的可靠性和易用性。
工作线程池还包括一个定时任务线程,定时任务线程会定时检查在指定时间间隔内有没有收到入站的任务,如果没有则会释放线程资源,只维护最小线程数,并且进入休眠状态,直到有新的任务进入,再被唤醒。
SDF的解释为应用程序调用加密机的一套标准接口。
综上所述:本高效调用密码机的方法,通过空闲列表设置最大/最小会话连接数和会话空闲时间,减少系统开销,会话复用管理,线程资源池化,任务队列机制,可以高效的处理任物,提高运行效率,达到优化资源、提升密码机的性能、更高效的调用密码机接口的优点。
需要说明的是,在本文中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (6)

1.一种高效调用密码机的方法,其特征在于:所述方法应用于密码机中,所述方法包括:SDF接口会话管理和SDF接口调用整体流程;
1)、SDF接口会话管理包括:
S1、根据参数创建会话的空闲列表;
S2、创建SDF会话句柄并存入空闲列表中,该空闲列表的参数可以设置最大/最小会话连接数和会话空闲时间,超过空闲时间没有调用,空闲列表自动释放多余的会话连接,直到设置的最小会话数,减少系统开销,在系统调用频繁时,如果会话连接不够,每次以1.5倍的速度创建会话连接存入空闲列表中,等待调用直到最大连接数,如果连续三次会话调用失败,根据错误码判断会话是否失效,如果失效则更新整个会话列表;
S3、维护会话空闲列表;
S4、从空闲列表中获取会话句柄使用,用完后将会话句柄归还空闲列表;
2)、SDF接口调用整体流程包括:
a、由主线程循环访问任务列表,读取所有任务,如果没有任务就进入阻塞状态,直到有任务进来,每次读取线程池数量相等的任务数量;
b、将任务分配至对应的线程,由该线程负责整个任务的生命周期,中间不再有其他线程执行,避免上下文的频繁切换,由负责该任务的线程从空闲列表中获取一个会话的连接,会话的空闲列表则减少一个会话数;
c、由工作线程使用该会话连接,完成具体任务,一但会话连接使用完毕,立即将该会话连接归还至空闲列表中,等待下次调用,同时会话空闲列表数量加一,如果空闲会话列表满了则释放该会话,任务执行完毕返回结果,将线程状态置为可用,根据空闲线程数量,从任务列表中读取相应的数量任务并提交给线程池,则一个任务执行完毕。
2.根据权利要求1所述的一种高效调用密码机的方法,其特征在于:所述维护会话空闲列表的任务调度模型为:
⑴、将需要执行的任务添加至队列中采用事件/任务循环机制;
⑵、循环遍历并选取的所有任务或者事件,任务是以先进先出的(FIFO)的顺序执行,保证字节内容总是按正确的顺序被处理,消除潜在的数据损坏可能性。
3.根据权利要求2所述的一种高效调用密码机的方法,其特征在于:所述事件循环的处理模式为:
①循环遍历,并处理所有事件;
②没有事件时阻塞,直到有事件已经可以被运行。
4.根据权利要求1所述的一种高效调用密码机的方法,其特征在于:所述维护会话空闲列表的工作线程池,默认线程池的大小为核心数的两倍,可以设置最大最小连接数,基本的池化模式可以描述为:从池的空闲线程列表中选择一个Thread,并且指派他去运行一个已经提交的任务,当任务完成时将该Thread返回给空闲列表使其可以被重复使用,使得每个任务都将只会被一个Thread处理。
5.根据权利要求4所述的一种高效调用密码机的方法,其特征在于:所述工作线程池还包括一个定时任务线程,定时任务线程会定时检查在指定时间间隔内有没有收到入站的任务,如果没有则会释放线程资源,只维护最小线程数,并且进入休眠状态,直到有新的任务进入,再被唤醒。
6.根据权利要求1所述的一种高效调用密码机的方法,其特征在于:所述SDF的解释为应用程序调用加密机的一套标准接口。
CN202010211189.4A 2020-03-24 2020-03-24 一种高效调用密码机的方法 Active CN111414244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010211189.4A CN111414244B (zh) 2020-03-24 2020-03-24 一种高效调用密码机的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010211189.4A CN111414244B (zh) 2020-03-24 2020-03-24 一种高效调用密码机的方法

Publications (2)

Publication Number Publication Date
CN111414244A true CN111414244A (zh) 2020-07-14
CN111414244B CN111414244B (zh) 2022-04-08

Family

ID=71494287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010211189.4A Active CN111414244B (zh) 2020-03-24 2020-03-24 一种高效调用密码机的方法

Country Status (1)

Country Link
CN (1) CN111414244B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565347A (zh) * 2020-11-17 2021-03-26 航天银山电气有限公司 通信接入方法及装置、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166332A1 (en) * 2011-11-18 2013-06-27 Ayman Hammad Mobile wallet store and service injection platform apparatuses, methods and systems
CN103605571A (zh) * 2013-11-20 2014-02-26 国家电网公司 数据库连接池的控制方法
US20170039378A1 (en) * 2015-08-05 2017-02-09 Dell Products L.P. Enforcement mitigations for a protected file
CN106547612A (zh) * 2016-10-18 2017-03-29 深圳怡化电脑股份有限公司 一种多任务处理方法及装置
CN109688116A (zh) * 2018-12-11 2019-04-26 北京数盾信息科技有限公司 一种支持动态扩展算法和运算能力的密管系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166332A1 (en) * 2011-11-18 2013-06-27 Ayman Hammad Mobile wallet store and service injection platform apparatuses, methods and systems
CN103605571A (zh) * 2013-11-20 2014-02-26 国家电网公司 数据库连接池的控制方法
US20170039378A1 (en) * 2015-08-05 2017-02-09 Dell Products L.P. Enforcement mitigations for a protected file
CN106547612A (zh) * 2016-10-18 2017-03-29 深圳怡化电脑股份有限公司 一种多任务处理方法及装置
CN109688116A (zh) * 2018-12-11 2019-04-26 北京数盾信息科技有限公司 一种支持动态扩展算法和运算能力的密管系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565347A (zh) * 2020-11-17 2021-03-26 航天银山电气有限公司 通信接入方法及装置、存储介质

Also Published As

Publication number Publication date
CN111414244B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
US7082519B2 (en) System and method for instruction level multithreading scheduling in a embedded processor
JP3863917B2 (ja) リアルタイム非同期ソフトウェア・アプリケーションにおいて階層呼び出し構造を実施する方法
US8473964B2 (en) Transparent user mode scheduling on traditional threading systems
Zuberi et al. EMERALDS: a small-memory real-time microkernel
JP5516398B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムのos間デバイス共有方法
CN102455933B (zh) 一种通过线程管理提高多任务处理效率的方法
US8428076B2 (en) System and method for priority scheduling of plurality of message types with serialization constraints and dynamic class switching
CN101464810A (zh) 服务程序处理方法及服务器
US20020103847A1 (en) Efficient mechanism for inter-thread communication within a multi-threaded computer system
CN111857993B (zh) 一种内核态调用用户态函数的方法
CN111767159A (zh) 一种基于协程的异步系统调用系统
CN111414244B (zh) 一种高效调用密码机的方法
CN111506438A (zh) 一种共享资源访问方法及装置
CN107368498A (zh) 优化MySQL悲观锁的锁等待超时时间的方法及装置
Mok et al. Non-preemptive robustness under reduced system load
Zuberi et al. EMERALDS: A small-memory real-time microkernel
Kim et al. Efficient asynchronous event handling in the real-time specification for java
CN113806049A (zh) 任务排队方法、装置、计算机设备和存储介质
CN112749020A (zh) 一种物联网操作系统的微内核优化方法
Appavoo et al. Scheduling in K42
Murtaza et al. Silicon real time operating system for embedded DSPs
CN114816678B (zh) 一种虚拟机调度的方法、系统、设备和存储介质
CN108604192B (zh) 用于执行等待事件要被记录时的一个或多个任务的系统、方法及介质
CN115756831A (zh) 一种适用于异构接口的二阶段异步任务结果代理系统及方法
Kero et al. Timber as an RTOS for small embedded devices

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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: An Efficient Method for Calling Cryptography Machines

Effective date of registration: 20230525

Granted publication date: 20220408

Pledgee: Jinan Free Trade Zone sub branch of Qilu Bank Co.,Ltd.

Pledgor: Zhongan Yunke technology development (Shandong) Co.,Ltd.

Registration number: Y2023980041898

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20220408

Pledgee: Jinan Free Trade Zone sub branch of Qilu Bank Co.,Ltd.

Pledgor: Zhongan Yunke technology development (Shandong) Co.,Ltd.

Registration number: Y2023980041898

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: An efficient method for calling a password machine

Granted publication date: 20220408

Pledgee: Jinan Free Trade Zone sub branch of Qilu Bank Co.,Ltd.

Pledgor: Zhongan Yunke technology development (Shandong) Co.,Ltd.

Registration number: Y2024980035149