JP6103994B2 - 文字列データ処理方法、プログラム及びシステム - Google Patents
文字列データ処理方法、プログラム及びシステム Download PDFInfo
- Publication number
- JP6103994B2 JP6103994B2 JP2013050191A JP2013050191A JP6103994B2 JP 6103994 B2 JP6103994 B2 JP 6103994B2 JP 2013050191 A JP2013050191 A JP 2013050191A JP 2013050191 A JP2013050191 A JP 2013050191A JP 6103994 B2 JP6103994 B2 JP 6103994B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- program
- guest
- string
- application program
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Description
return (hash * hash);
return (hash * hash);
return (hash * hash);
int hc = hashFn3(char, offset,3,4,6);
int index = (hc >> 2 & ((1 << 12) - 1);
(1) ハッシュ関数での計算の結果
(2) インデックス計算での結果
で(2)が可能な限りばらけるように工夫する必要がある。(2)がばらけるためには、(1)の値がそもそもばらけていることが望ましい。それが「予め用意しておいたハッシュ関数の中からハッシュ値の衝突が最も少なかったものを選ぶ」処理である。
"ISOLATION"
"ASSERTION"
"ASSOCIATE"
グループ内の文字列の中で最も違いが出るインデックス3,4だけを使えば十分であることが分かる。
106 RAM
108 ハードディスク・ドライブ
204 ホストVM
206a、206b、・・・206n ゲストVM
306a、306b、・・・306m JVM
Claims (13)
- 複数のゲストVMの各々で、アプリケーション・プログラムが実行されているコンピュータ・システムにおいて、
前記各ゲストVMで、前記各アプリケーション・プログラムが使用している各々のヒープ領域から、共通に存在する文字列を抽出するステップと、
前記抽出された共通に存在する文字列を、前記各アプリケーション・プログラムがアクセス可能に、前記システムのメモリに配置するステップを有する、
方法。 - 前記ゲストVMが複数のJVMを含み、前記アプリケーション・プログラムがJavaプログラムであり、前記抽出された共通に存在する文字列は、前記JVMが、クラス定義を毎回同じアドレスで行うようになされ、以って前記抽出された共通に存在する文字列のオブジェクトが、クラス・ポインタが前記複数のゲストVM間で同一になるようになされる、請求項1に記載の方法。
- 前記文字列のオブジェクトは、DLLとしてメモリにロードされる、請求項2に記載の方法。
- 前記抽出された共通に存在する文字列を、文字列の長さ、または作られ方の特性でグループ分けするステップと、
前記グループ分けされた文字列のグループ毎に、対象文字列の検索を行うためのハッシュインデックスを構築するステップを更に有する、
請求項1に記載の方法。 - 前記ハッシュインデックスを構築するステップは、
文字列において、情報エントロピーの高さの観点から、インデックスに使う位置を見つけるステップと、
前記見つけたインデックスのところで、複数のハッシュ関数を計算し、該複数のハッシュ関数のうち最も衝突が少ないハッシュ関数を選ぶステップと、
前記文字列をビットシフトして、最も衝突の少ないシフト位置を選ぶステップを有する、
請求項4に記載の方法。 - 複数のゲストVMの各々で、アプリケーション・プログラムが実行されているコンピュータ・システムにおいて、
前記コンピュータ・システムに、
前記各ゲストVMで、前記各アプリケーション・プログラムが使用している各々のヒープ領域から、共通に存在する文字列を抽出するステップと、
前記抽出された共通に存在する文字列を、前記各アプリケーション・プログラムがアクセス可能に、前記システムのメモリに配置するステップを実行させる、
プログラム。 - 前記ゲストVMが複数のJVMを含み、前記アプリケーション・プログラムがJavaプログラムであり、前記抽出された共通に存在する文字列は、前記JVMが、クラス定義を毎回同じアドレスで行うようになされ、以って前記抽出された共通に存在する文字列のオブジェクトが、クラス・ポインタが前記複数のゲストVM間で同一になるようになされる、請求項6に記載のプログラム。
- 前記文字列のオブジェクトは、DLLとしてメモリにロードされる、請求項7に記載のプログラム。
- 前記コンピュータ・システムに、
前記抽出された共通に存在する文字列を、文字列の長さ、または作られ方の特性でグループ分けするステップと、
前記グループ分けされた文字列のグループ毎に、対象文字列の検索を行うためのハッシュインデックスを構築するステップを更に実行させる、
請求項6 に記載のプログラム。 - 前記ハッシュインデックスを構築するステップは、
文字列において、情報エントロピーの高さの観点から、インデックスに使う位置を見つけるステップと、
前記見つけたインデックスのところで、複数のハッシュ関数を計算し、該複数のハッシュ関数のうち最も衝突が少ないハッシュ関数を選ぶステップと、
前記文字列をビットシフトして、最も衝突の少ないシフト位置を選ぶステップを有する、
請求項9に記載のプログラム。 - 複数のゲストVMの各々で、アプリケーション・プログラムが実行されているコンピュータ・システムにおいて、
前記各ゲストVMで、前記各アプリケーション・プログラムが使用している各々のヒープ領域から、共通に存在する文字列を抽出する手段と、
前記抽出された共通に存在する文字列を、前記各アプリケーション・プログラムがアクセス可能に、前記システムのメモリに配置する手段を有する、
コンピュータ・システム。 - 前記ゲストVMが複数のJVMを含み、前記アプリケーション・プログラムがJavaプログラムであり、前記抽出された共通に存在する文字列は、前記JVMが、クラス定義を毎回同じアドレスで行うようになされ、以って前記抽出された共通に存在する文字列のオブジェクトが、クラス・ポインタが前記複数のゲストVM間で同一になるようになされる、請求項11に記載のコンピュータ・システム。
- 前記文字列のオブジェクトは、DLLとしてメモリにロードされる、請求項12に記載のコンピュータ・システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013050191A JP6103994B2 (ja) | 2013-03-13 | 2013-03-13 | 文字列データ処理方法、プログラム及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013050191A JP6103994B2 (ja) | 2013-03-13 | 2013-03-13 | 文字列データ処理方法、プログラム及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014174966A JP2014174966A (ja) | 2014-09-22 |
JP6103994B2 true JP6103994B2 (ja) | 2017-03-29 |
Family
ID=51696077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013050191A Expired - Fee Related JP6103994B2 (ja) | 2013-03-13 | 2013-03-13 | 文字列データ処理方法、プログラム及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6103994B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576954B (zh) * | 2022-11-24 | 2023-04-07 | 恒生电子股份有限公司 | 哈希表的确定方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882198B2 (en) * | 2007-07-02 | 2011-02-01 | Oracle America, Inc. | Shared JAVA JAR files |
US8839215B2 (en) * | 2010-07-19 | 2014-09-16 | International Business Machines Corporation | String cache file for optimizing memory usage in a java virtual machine |
-
2013
- 2013-03-13 JP JP2013050191A patent/JP6103994B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014174966A (ja) | 2014-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10915449B2 (en) | Prioritizing data requests based on quality of service | |
EP2344953B1 (en) | Provisioning virtual resources using name resolution | |
US20190332230A1 (en) | User interface view generation | |
US8261267B2 (en) | Virtual machine monitor having mapping data generator for mapping virtual page of the virtual memory to a physical memory | |
CN104079613B (zh) | 用于多租户间共享应用程序对象的方法和系统 | |
CN102693230B (zh) | 用于存储区域网络的文件系统 | |
CN109074316A (zh) | 页面错误解决方案 | |
US10169348B2 (en) | Using a file path to determine file locality for applications | |
US11016886B2 (en) | Multi-ring shared, traversable, and dynamic advanced database | |
US9772951B2 (en) | Preemptive guest merging for virtualization hypervisors | |
JP5588072B2 (ja) | メモリ割り当て方法、プログラム、及びシステム | |
JP5030647B2 (ja) | 複数処理ノードを含むコンピュータ・システムでプログラムをロードする方法、該プログラムを含むコンピュータ可読媒体、及び、並列コンピュータ・システム | |
CN110362404B (zh) | 一种基于sql的资源分配方法、装置和电子设备 | |
US10296363B2 (en) | Tuning a virtual machine startup parameter | |
JP6103994B2 (ja) | 文字列データ処理方法、プログラム及びシステム | |
US20140095718A1 (en) | Maximizing resources in a multi-application processing environment | |
US9921858B2 (en) | Apparatus and method for realizing runtime system for programming language | |
JP6173031B2 (ja) | コンピュータにおいてオブジェクトを管理するための方法、プログラム及びシステム | |
EP2972837B1 (en) | Dynamic memory management for a virtual supercomputer | |
US20220292095A1 (en) | Data expanse using a bitmap and interrupt | |
CN116954818A (zh) | 一种基于增量存储的靶场模板管理方法与系统 | |
KR20220062669A (ko) | 데이터 저장 방법, 장치, 조회 방법, 전자 설비 및 판독가능 매체 | |
Thakkar et al. | Scheduling in Big Data Heterogeneous Distributed System Using Hadoop | |
JP2021009443A (ja) | 情報処理装置及びコンパイラプログラム | |
Givelberg | Object-Oriented Parallel Programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160301 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170130 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6103994 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |