JP2015125572A - シリアライザを特化する方法、装置及びコンピュータプログラム - Google Patents
シリアライザを特化する方法、装置及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2015125572A JP2015125572A JP2013269077A JP2013269077A JP2015125572A JP 2015125572 A JP2015125572 A JP 2015125572A JP 2013269077 A JP2013269077 A JP 2013269077A JP 2013269077 A JP2013269077 A JP 2013269077A JP 2015125572 A JP2015125572 A JP 2015125572A
- Authority
- JP
- Japan
- Prior art keywords
- type
- code
- serializer
- generating
- optional area
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24528—Standardisation; Simplification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4493—Object persistence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computing Systems (AREA)
Abstract
Description
11 CPU
12 メモリ
13 記憶装置
14 I/Oインタフェース
15 ビデオインタフェース
16 可搬型ディスクドライブ
17 通信インタフェース
18 内部バス
Claims (12)
- クエリをコンパイルする場合にシリアライザ及び/又はデシリアライザを生成する装置で実行することが可能な方法において、
前記装置は、
前記クエリをコンパイルする生成サイトごとにシリアライズの型を推論する第一のステップと、
推論された型及び実際に用いられる型に基づいて、前記生成サイトごとにシリアライザを特化する第二のステップと、
前記生成サイトごとに、それぞれ特化されたシリアライザを用いてデータ値をシリアライズする第三のステップと
を含む方法。 - 前記第一のステップは、
前記生成サイトごとに割り当てられた識別情報をアノテーションとして型に転写しながら推論を実行するステップと、
推論された型とシリアライズに用いられる型とを再帰的に比較するステップと
を含む請求項1に記載の方法。 - 前記第二のステップは、
オプショナル領域を有するレコード型のシリアライザを生成する場合、
第一の型T0におけるオプショナル領域が、第二の型Tcで要求済みであると判断したときには、ビット‘1’を出力するコードを生成するステップと、
第一の型T0におけるオプショナル領域が、第二の型Tcに存在しないと判断したときには、ビット‘0’を出力するコードを生成するステップと、
第一の型T0におけるオプショナル領域が、第二の型Tcでもオプショナル領域であるときには、データ値が存在すればビット‘1’を出力するコードを、存在しなければビット‘0’を出力するコードを、それぞれ生成するステップと
を含む請求項1又は2に記載の方法。 - 前記第二のステップは、
第一の型をT0乃至Tn(nは自然数)の複数の型から選択する選択型のシリアライザを生成する場合、
第二の型Tcが、選択された第一の型Ti(iは1〜nのいずれか)のみのサブタイプであると判断したときには、数値‘i’を出力するコードを生成するステップと、
第二の型Tcと選択された第一の型Tiとに基づいて、データ値をシリアライズするコードを生成するステップと
を含む請求項1又は2に記載の方法。 - クエリをコンパイルする場合にシリアライザ及び/又はデシリアライザを生成する装置において、
前記装置は、
前記クエリをコンパイルする生成サイトごとにシリアライズの型を推論する型推論手段と、
推論された型及び実際に用いられる型に基づいて、前記生成サイトごとにシリアライザを特化する特化手段と、
前記生成サイトごとに、それぞれ特化されたシリアライザを用いてデータ値をシリアライズする手段と
を備える装置。 - 前記型推論手段は、
前記生成サイトごとに割り当てられた識別情報をアノテーションとして型に転写しながら推論を実行する手段と、
推論された型とシリアライズに用いられる型とを再帰的に比較する手段と
を備える請求項5に記載の装置。 - 前記特化手段は、
オプショナル領域を有するレコード型のシリアライザを生成する場合、
第一の型T0におけるオプショナル領域が、第二の型Tcで要求済みであると判断したときには、ビット‘1’を出力するコードを生成する手段と、
第一の型T0におけるオプショナル領域が、第二の型Tcに存在しないと判断したときには、ビット‘0’を出力するコードを生成する手段と、
第一の型T0におけるオプショナル領域が、第二の型Tcでもオプショナル領域であるときには、データ値が存在すればビット‘1’を出力するコードを、存在しなければビット‘0’を出力するコードを、それぞれ生成する手段と
を備える請求項5又は6に記載の装置。 - 前記特化手段は、
第一の型をT0乃至Tn(nは自然数)の複数の型から選択する選択型のシリアライザを生成する場合、
第二の型Tcが、選択された第一の型Ti(iは1〜nのいずれか)のみのサブタイプであると判断したときには、数値‘i’を出力するコードを生成する手段と、
第二の型Tcと選択された第一の型Tiとに基づいて、データ値をシリアライズするコードを生成する手段と
を備える請求項5又は6に記載の装置。 - クエリをコンパイルする場合にシリアライザ及び/又はデシリアライザを生成する装置で実行することが可能なコンピュータプログラムにおいて、
前記装置を、
前記クエリをコンパイルする生成サイトごとにシリアライズの型を推論する型推論手段、
推論された型及び実際に用いられる型に基づいて、前記生成サイトごとにシリアライザを特化する特化手段、及び
前記生成サイトごとに、それぞれ特化されたシリアライザを用いてデータ値をシリアライズする手段
として機能させるコンピュータプログラム。 - 前記型推論手段を、
前記生成サイトごとに割り当てられた識別情報をアノテーションとして型に転写しながら推論を実行する手段、及び
推論された型とシリアライズに用いられる型とを再帰的に比較する手段
として機能させる請求項9に記載のコンピュータプログラム。 - 前記特化手段を、
オプショナル領域を有するレコード型のシリアライザを生成する場合、
第一の型T0におけるオプショナル領域が、第二の型Tcで要求済みであると判断したときには、ビット‘1’を出力するコードを生成する手段、
第一の型T0におけるオプショナル領域が、第二の型Tcに存在しないと判断したときには、ビット‘0’を出力するコードを生成する手段、及び
第一の型T0におけるオプショナル領域が、第二の型Tcでもオプショナル領域であるときには、データ値が存在すればビット‘1’を出力するコードを、存在しなければビット‘0’を出力するコードを、それぞれ生成する手段
として機能させる請求項9又は10に記載のコンピュータプログラム。 - 前記特化手段を、
第一の型をT0乃至Tn(nは自然数)の複数の型から選択する選択型のシリアライザを生成する場合、
第二の型Tcが、選択された第一の型Ti(iは1〜nのいずれか)のみのサブタイプであると判断したときには、数値‘i’を出力するコードを生成する手段、及び
第二の型Tcと選択された第一の型Tiとに基づいて、データ値をシリアライズするコードを生成する手段
として機能させる請求項9又は10に記載のコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013269077A JP6044960B2 (ja) | 2013-12-26 | 2013-12-26 | シリアライザを特化する方法、装置及びコンピュータプログラム |
US14/571,483 US9851958B2 (en) | 2013-12-26 | 2014-12-16 | Method, apparatus, and computer program for specializing serializer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013269077A JP6044960B2 (ja) | 2013-12-26 | 2013-12-26 | シリアライザを特化する方法、装置及びコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015125572A true JP2015125572A (ja) | 2015-07-06 |
JP6044960B2 JP6044960B2 (ja) | 2016-12-14 |
Family
ID=53481832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013269077A Active JP6044960B2 (ja) | 2013-12-26 | 2013-12-26 | シリアライザを特化する方法、装置及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9851958B2 (ja) |
JP (1) | JP6044960B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038022A (zh) * | 2015-07-13 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种反序列化方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843819B (zh) * | 2015-12-03 | 2020-10-09 | 北京国双科技有限公司 | 对象序列化的方法及装置 |
US10423397B2 (en) * | 2016-12-29 | 2019-09-24 | Grammatech, Inc. | Systems and/or methods for type inference from machine code |
US10467321B2 (en) * | 2017-09-07 | 2019-11-05 | Mastercard International Incorporated | Systems and methods for dynamic C# serialization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091228A1 (en) * | 2003-10-23 | 2005-04-28 | Ramachandran Venkatesh | System and method for object persistence in a database store |
JP2008171275A (ja) * | 2007-01-12 | 2008-07-24 | Mitsubishi Electric Corp | データ変換プログラム生成装置、データ変換プログラム生成方法及びデータ変換プログラム生成プログラム |
JP2010518516A (ja) * | 2007-02-05 | 2010-05-27 | マイクロソフト コーポレーション | 要素型の型フローを可能にするためのクエリパターン |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2476349A1 (fr) * | 1980-02-15 | 1981-08-21 | Philips Ind Commerciale | Systeme de traitement de donnees reparti |
JP2003122730A (ja) | 2001-10-12 | 2003-04-25 | Ntt Comware Corp | 情報処理方法、エージェントシステム、エージェントシステムプログラム及びエージェントシステムプログラムが記録された記録媒体 |
JP2003122773A (ja) | 2001-10-16 | 2003-04-25 | Victor Co Of Japan Ltd | メタデータ検索システム |
JP2003249961A (ja) | 2002-02-26 | 2003-09-05 | Nippon Telegr & Teleph Corp <Ntt> | トラフィック情報蓄積装置及びその方法と、トラフィック情報蓄積プログラム及びそのプログラムを記録した記録媒体と、トラフィック情報検索装置及びその方法と、トラフィック情報検索プログラム及びそのプログラムを記録した記録媒体 |
US7197512B2 (en) | 2003-03-26 | 2007-03-27 | Microsoft Corporation | Type bridges |
US8347313B2 (en) * | 2003-05-21 | 2013-01-01 | Resilient Networks, Inc. | Method and apparatus for automating organization of processes |
US7404186B2 (en) * | 2003-05-28 | 2008-07-22 | Microsoft Corporation | Signature serialization |
JP2005056085A (ja) | 2003-08-01 | 2005-03-03 | Fujitsu Ltd | データ構造変換プログラム |
US20050091231A1 (en) | 2003-10-24 | 2005-04-28 | Shankar Pal | System and method for storing and retrieving XML data encapsulated as an object in a database store |
US7467374B2 (en) * | 2003-11-05 | 2008-12-16 | Microsoft Corporation | Serialization for structured tracing in managed code |
JP2005157718A (ja) | 2003-11-26 | 2005-06-16 | Univ Kanagawa | データ管理システム、データ管理システム用プログラム、及びデータ管理システム用プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2005209048A (ja) | 2004-01-26 | 2005-08-04 | Meidensha Corp | 監視制御システム |
KR101440615B1 (ko) | 2004-02-10 | 2014-09-16 | 마이크로소프트 코포레이션 | 사용자 정의 타입들에 대한 계승을 지원하기 위한 시스템및 방법 |
US20110145489A1 (en) * | 2004-04-05 | 2011-06-16 | Super Talent Electronics, Inc. | Hybrid storage device |
US20110179219A1 (en) * | 2004-04-05 | 2011-07-21 | Super Talent Electronics, Inc. | Hybrid storage device |
US7844665B2 (en) * | 2004-04-23 | 2010-11-30 | Waratek Pty Ltd. | Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers |
US7773469B2 (en) * | 2005-05-18 | 2010-08-10 | Mediatek Inc. | Methods for tuning write strategy parameters utilizing data-to-clock edge deviations, and systems thereof |
US20090172035A1 (en) * | 2007-12-31 | 2009-07-02 | Pieter Lessing | System and method for capturing and storing casino information in a relational database system |
US8375044B2 (en) * | 2008-06-24 | 2013-02-12 | Microsoft Corporation | Query processing pipelines with single-item and multiple-item query operators |
US8805776B2 (en) * | 2008-06-26 | 2014-08-12 | Microsoft Corporation | Relationship serialization and reconstruction for entities |
US8423749B2 (en) * | 2008-10-22 | 2013-04-16 | International Business Machines Corporation | Sequential processing in network on chip nodes by threads generating message containing payload and pointer for nanokernel to access algorithm to be executed on payload in another node |
JP5325635B2 (ja) | 2009-03-30 | 2013-10-23 | 株式会社野村総合研究所 | メタデータ自動付与システム及び方法 |
US20110078516A1 (en) * | 2009-09-28 | 2011-03-31 | International Business Machines Corporation | Method and a system for performing a two-phase commit protocol |
KR20110036301A (ko) * | 2009-10-01 | 2011-04-07 | 삼성전자주식회사 | 아이엠에스 시스템에서 임시 그루 생성 방법 및 장치 |
US8417714B2 (en) * | 2010-01-22 | 2013-04-09 | Oracle International Corporation | Techniques for fast and scalable XML generation and aggregation over binary XML |
JPWO2011111532A1 (ja) | 2010-03-10 | 2013-06-27 | 日本電気株式会社 | データベースシステム |
US8996503B2 (en) * | 2010-10-04 | 2015-03-31 | Sybase, Inc. | Query plan optimization for prepared SQL statements |
US20130117326A1 (en) * | 2011-11-08 | 2013-05-09 | Microsoft Corporation | External serialization and deserialization |
US9015200B2 (en) * | 2012-10-15 | 2015-04-21 | Here Global B.V. | Map update scripts with tree edit operations |
US9262312B1 (en) * | 2012-10-17 | 2016-02-16 | Marvell International Ltd. | Apparatus and methods to compress data in a network device and perform content addressable memory (CAM) processing |
US9306851B1 (en) * | 2012-10-17 | 2016-04-05 | Marvell International Ltd. | Apparatus and methods to store data in a network device and perform longest prefix match (LPM) processing |
US9076182B2 (en) * | 2013-03-11 | 2015-07-07 | Yodlee, Inc. | Automated financial data aggregation |
US20140280293A1 (en) * | 2013-03-12 | 2014-09-18 | Mckesson Financial Holdings | Method and apparatus for retrieving cached database search results |
US9015679B2 (en) | 2013-07-16 | 2015-04-21 | Sap Se | System and method for translating business application functions into DBMS internal programming language procedures |
-
2013
- 2013-12-26 JP JP2013269077A patent/JP6044960B2/ja active Active
-
2014
- 2014-12-16 US US14/571,483 patent/US9851958B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091228A1 (en) * | 2003-10-23 | 2005-04-28 | Ramachandran Venkatesh | System and method for object persistence in a database store |
JP2007509425A (ja) * | 2003-10-23 | 2007-04-12 | マイクロソフト コーポレーション | データベースストアにおけるオブジェクト維持のためのシステムおよび方法 |
JP2008171275A (ja) * | 2007-01-12 | 2008-07-24 | Mitsubishi Electric Corp | データ変換プログラム生成装置、データ変換プログラム生成方法及びデータ変換プログラム生成プログラム |
JP2010518516A (ja) * | 2007-02-05 | 2010-05-27 | マイクロソフト コーポレーション | 要素型の型フローを可能にするためのクエリパターン |
Non-Patent Citations (2)
Title |
---|
JPN6016020943; ワグナー ビル: More Effective C# 第1版, 20091130, 第24-28頁, 株式会社翔泳社 * |
JPN6016020950; Serge Abiteboul: XMLデータベース入門 Data on the Web 第1版, 20060715, 第123-162頁, 共立出版株式会社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038022A (zh) * | 2015-07-13 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种反序列化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6044960B2 (ja) | 2016-12-14 |
US9851958B2 (en) | 2017-12-26 |
US20150186116A1 (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110383238B (zh) | 用于基于模型的软件分析的系统和方法 | |
US10127135B2 (en) | Systems and methods for incremental analysis of software | |
Meyerovich et al. | Fast and parallel webpage layout | |
JP6165741B2 (ja) | 複数のデータ・ソースを表すスキーマを生成するシステム及び方法 | |
Bellahsene et al. | On evaluating schema matching and mapping | |
Wylot et al. | Tripleprov: Efficient processing of lineage queries in a native rdf store | |
US20190361908A1 (en) | Method, apparatus and computer program for mapping medical data | |
US9305044B2 (en) | System and method for modelling data | |
JP5791149B2 (ja) | データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム | |
CN111414350B (zh) | 一种服务生成方法及装置 | |
Skjæveland et al. | Pattern-based ontology design and instantiation with reasonable ontology templates | |
KR101766583B1 (ko) | 전문가의 지식을 이용한 온톨로지 기반의 추론 장치 및 방법 | |
JP6044960B2 (ja) | シリアライザを特化する方法、装置及びコンピュータプログラム | |
JP5677319B2 (ja) | ウェブに基づくダイアグラム視覚性の拡張性 | |
JP6486574B2 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
US20080235193A1 (en) | Apparatus, method, and computer program product for processing query | |
US20110231178A1 (en) | Modeling and generating computer software product line variants | |
CN111078217A (zh) | 脑图生成方法、装置和计算机可读存储介质 | |
Clarisó et al. | Towards domain refinement for UML/OCL bounded verification | |
Cuadrado et al. | Model Finding in the EMF Ecosystem. | |
US20180181550A1 (en) | Screen information generation device and screen information generation method | |
Luong et al. | A rule‐based approach for semantic annotation evolution | |
Lebo et al. | A five-star rating scheme to assess application seamlessness | |
JP5488792B2 (ja) | データベース操作装置、データベース操作方法、及びプログラム | |
US20210042390A1 (en) | Common Labeled Annotated Document Transcription for Coordinating Annotation of Documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160607 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160714 |
|
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: 20161011 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20161014 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6044960 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |